From: | Melvin Davidson <melvin6925(at)gmail(dot)com> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | Robert Lakes <robertl(at)propaas(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Setting a default for nextval sequence |
Date: | 2017-11-27 19:29:32 |
Message-ID: | CANu8Fiz4crDXOC7qVUKE5HTYH2ZEdQjiWvA-7uhrpZOEQ8KjOg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, Nov 27, 2017 at 2:24 PM, David G. Johnston <
david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
> On Mon, Nov 27, 2017 at 12:13 PM, Robert Lakes <robertl(at)propaas(dot)com>
> 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.
>
>
*Do you mean ?*
*https://www.postgresql.org/docs/9.6/static/functions-sequence.html
<https://www.postgresql.org/docs/9.6/static/functions-sequence.html>*
*SELECT setval(regclass, bigint) --- Set sequence's current value*
--
*Melvin Davidson*
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.
From | Date | Subject | |
---|---|---|---|
Next Message | Jakub Glapa | 2017-11-27 21:05:39 | Re: ERROR: too many dynamic shared memory segments |
Previous Message | David G. Johnston | 2017-11-27 19:24:10 | Re: Setting a default for nextval sequence |