Re: WITH SYSID dropped

From: Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>
To: molitor(at)uni-bonn(dot)de
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: WITH SYSID dropped
Date: 2006-11-05 13:52:59
Message-ID: 454DECBB.9060600@kaltenbrunner.cc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dr. Ernst Molitor wrote:
> Dear PostgreSQL gurus,
>
> having read through the thread on the topic cited above, I still think
> the change - however well-founded it may be - carries a problem: That of
> an upgrade on installations that relied on the statement.
>
> Currently, I'm preparing to switch a PostgreSQL-8.0.3-installation to
> the current PostgreSQL version. The installation makes use of timetravel
> and of a one-liner to access the pg_users.usesysid field to keep a
> record about who has changed what and when (which, here in Germany, is a
> legal requirement if you deal with medical data). With a one-liner,
> which is but a wrapper around PostgreSQL's internal GetUserId function,
> it has been nothing but creating a function "current_userid" and adding
> a trigger to each table that should be able to record the user who
> commited or changed the row. Obviously, the whole job could be performed
> at database level.
>
> The procedure still works, but due to the dropping of "WITH SYSID",
> moving the data to a new PostgreSQL installation causes headaches. After
> all, the access to the information about who has changed what is
> expected to stay.

maybe I'm missing something simple - but why are you not using
current_user/session_user
(http://www.postgresql.org/docs/current/interactive/functions-info.html)
for that task - that seems much less error-prone then using an arbitrary
number to reference a given database role ...

Stefan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2006-11-05 15:02:11 Re: [HACKERS] Bug in WAL backup documentation
Previous Message Dr. Ernst Molitor 2006-11-05 12:39:05 WITH SYSID dropped