Re: [HACKERS] How to implement an auto-increment column for a system catalog table?
Simon Riggs writes: > On Mon, 2009-03-16 at 10:18 +0800, Xin Wang wrote: >> I am using Postgres to build the prototype in a research project. I need >> to create a new system catalog table with an auto-increment column. > Other catalog tables use a new oid for each new row/entry. Just do it in > the code for adding each new entry. Look at backend/catalog/heap.c > heap_create_with_catalog(), or something simpler like > backend/commands/dbcommands.c createdb(). Note that in fact the bottom level heap_insert code will handle assigning a new OID for you. The only cases where calling code needs to do that explicitly are when the OID has to be known before creation of the new row for some reason (usually, circular OID references). regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
Re: [HACKERS] How to implement an auto-increment column for a system catalog table?
On Mon, 2009-03-16 at 10:18 +0800, Xin Wang wrote: > I am using Postgres to build the prototype in a research project. I need > to create a new system catalog table with an auto-increment column. For > a ordinary table, CREATE SEQUENCE or a serial type can be used to > implement the auto-increment column, but it seems Postgres do not > support creating a sequence or serial types in system catalogs. How to > implement an auto-increment column for a catalog table? Other catalog tables use a new oid for each new row/entry. Just do it in the code for adding each new entry. Look at backend/catalog/heap.c heap_create_with_catalog(), or something simpler like backend/commands/dbcommands.c createdb(). -- Simon Riggs www.2ndQuadrant.com PostgreSQL Training, Services and Support -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers