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.

Any hint (short of doing "update <table_x> set usersno=<new value> where usersno=<old value>" for somewhat above 500 users and a chore of tables) on how to proceed??

Best regards,


Reply via email to