Re: Adding 'serial' to existing column

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Lakes <robertl(at)propaas(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Adding 'serial' to existing column
Date: 2017-11-03 20:47:52
Message-ID: 5077.1509742072@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Robert Lakes <robertl(at)propaas(dot)com> writes:
> I am new to Postgres and I am trying to build this SQL statement in my SQL
> script:
> ALTER TABLE listings_cdc ALTER COLUMN table_id SET DEFAULT
> nextval('tab_id_seq');

That looks correct, but this not so much:

> I am trying to build the above-stated command as a dynamic SQL statement:
> EXECUTE 'ALTER TABLE listings_cdc ALTER COLUMN table_id SET DEFAULT
> nextval('||quote_ident(tab_id_seq)||')';

> I've received an error when running the script this above-stated command:
> ERROR: column "tab_id_seq" does not exist
> LINE 1: ...OLUMN table_id SET DEFAULT nextval('||quote_ident(tab_id_seq...

You want quote_literal, not quote_ident, because you're trying to produce
a single-quoted literal.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rhhh Lin 2017-11-03 20:55:09 Re: EXPLAIN <query> command just hangs...
Previous Message Robert Lakes 2017-11-03 20:38:04 Adding 'serial' to existing column