Add new field with auto-icrement to existing table - Mailing list pgsql-sql

From Brice André
Subject Add new field with auto-icrement to existing table
Date
Msg-id CAOBG12nkWeiZwZFR+yG2bYjWC+HWnBoNidVHLEiY67KTek6W1g@mail.gmail.com
Whole thread Raw
Responses Re: Add new field with auto-icrement to existing table  (Andreas Kretschmer <akretschmer@spamfence.net>)
List pgsql-sql
Dear all,

I have a database structure with several default empty tables defines in an admin schema. For example :

CREATE TABLE admin."ConfigurableWindowGUIEntryInternal"
(
  "DbSyncID" bigint NOT NULL,
  "DbSyncInsertedBackupVersion" bigint NOT NULL,
...
)
WITH (
  OIDS=FALSE
);

And, for each client, I have a dedicated schema with tables that derive from those admin tables, and use the two first elements as primary keys (DbSyncID and DbSyncInsertedBackupVersion). For example :

CREATE TABLE user_1."ConfigurableWindowGUIEntryInternal"
(
  CONSTRAINT "ConfigurableWindowGUIEntry_pk" PRIMARY KEY ("DbSyncID", "DbSyncInsertedBackupVersion")
)
INHERITS (admin."ConfigurableWindowGUIEntryInternal")
WITH (
  OIDS=FALSE
);

This schema is used for synchronisation of the database between the server and client applications and I do not want to change anything in this communication protocol.

But now, I would want to develop a server-based application. And this application would need a single column unique ID for referencing tables entries. My current primary key does not fit my needs as it is based on two columns. So, I would want to add a new field on all derived tables. And, as I don't want to change the synchronisation stuff, the values of this new field should be assigned automatically.

Is there a way to add this once for all by changing the parent table or do I need to add the field for each derived table ? And how can I perform this, taking into account that the tables already contain data ?

Thanks in advance for your help.

Regards,
Brice

pgsql-sql by date:

Previous
From: Rene Romero Benavides
Date:
Subject: Re: localtime(0)
Next
From: Andreas Kretschmer
Date:
Subject: Re: Add new field with auto-icrement to existing table