Re: Setting a default for nextval sequence - Mailing list pgsql-general

From David G. Johnston
Subject Re: Setting a default for nextval sequence
Date
Msg-id CAKFQuwa+i_PVMJC+spzyX_qN0Bgccc8LWzPFTMaTS8P=hyGRnQ@mail.gmail.com
Whole thread Raw
In response to Setting a default for nextval sequence  (Robert Lakes <robertl@propaas.com>)
Responses Re: Setting a default for nextval sequence
List pgsql-general
On Mon, Nov 27, 2017 at 12:13 PM, Robert Lakes wrote: > I'm attempting to set the default value for a serial column. I created a > generic function that I am passing a table name as the only parameter. I > had it working correctly, however, it does not seem to like the sequence > name being the same name for each audit table that is created through the > function. > So I changed the code to include the table name as part of the naming > convention. Now, I need help on how to alter the serial column the new > value > > EXECUTE 'CREATE SEQUENCE '|| t_name ||'tab_id_seq'|| ' OWNED BY '|| t_name > || '_cdc'||'.table_id'; > > EXECUTE 'ALTER TABLE ' || quote_ident(t_name || '_cdc') || ' ALTER > COLUMN table_id SET DEFAULT nextval(''tab_id_seq'');'; > ​Not tested but:​ ​EXECUTE format('CREATE SEQUENCE %I OWNED BY %I.table_id', t_name || 'tab_id_seq', t_name ||​ '_cdc'); EXECUTE format('ALTER TABLE %I ALTER COLUMN table_id SET DEFAULT nextval(%L);', t_name || '_cdc', t_name || 'tab_id_seq'); ​David J.

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: ERROR: too many dynamic shared memory segments
Next
From: Melvin Davidson
Date:
Subject: Re: Setting a default for nextval sequence