On Jun 16, 3:34 pm, jul...@nsoft.lt (Julius Tuskenis) wrote:
> Hi Laurent.
>
> As I understand where is no direct link between sequence and the table
> column. You should see pg_attrdef table.
> Query SELECT pg_get_expr(adbin,adrelid) FROM pg_attrdef; will return
> you all default values of the columns. Among them you will find
> nextval('your_sequence'::regclass).
>
> Hope that helps...
Right, or more precisely, to get the default for your primary key
column myschema.mytab.mycol
use:
SELECT pg_catalog.pg_get_expr(d.adbin, d.adrelid) FROM pg_catalog.pg_attrdef d JOIN pg_catalog.pg_attribute a ON
d.adrelid= a.attrelid AND d.adnum
= a.attnum JOIN pg_catalog.pg_class c ON c.oid = a.attrelid JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE n.nspname = 'myschema' AND c.relname = 'mytab' AND a.attname =
'mycol'
ORDER BY a.attnum
Gives you something like: nextval('mytab_mycol_seq'::regclass)
The quotet part being the sequence in use.
Where do I get this? Try psql -E and work from there. (Shows the
queries psql uses to retrieve its data.)
But all of this is hardly on topic here. Please turn to pgsql.admin (pgsql-admin(at)postgresql(dot)org)
or pgsql.general (pgsql-general(at)postgresql(dot)org)
Regards
Erwin