Обсуждение: Relationship beween sequences (serial) and tables

Поиск
Список
Период
Сортировка

Relationship beween sequences (serial) and tables

От
Thusitha Kodikara
Дата:
Hi,
 
I use Postgres 7.4.5 on Linux
 
In many of my tables the primary key is bigserial for which sequences are automatcially generated. Through pg_catalog tables how can I find the relationship petween each table and its corresponding sequence ?
 
Thanks.
 
-Thusitha


Click here to donate to the Hurricane Katrina relief effort.

Re: Relationship beween sequences (serial) and tables

От
Michael Fuhr
Дата:
On Thu, Sep 08, 2005 at 01:03:26AM -0700, Thusitha Kodikara wrote:
> In many of my tables the primary key is bigserial for which
> sequences are automatcially generated. Through pg_catalog tables
> how can I find the relationship petween each table and its corresponding
> sequence ?

Depending on what information you're looking for, you might need
to query any of the following tables:

pg_attrdef
pg_attribute
pg_class
pg_constraint
pg_depend
pg_index

See also "Miscellaneous Functions" ("System Information Functions"
in 8.x) in the "Functions and Operators" chapter of the documentation.
It can also be useful to run "psql -E" or use "\set ECHO_HIDDEN"
in psql to show the SQL queries that psql makes for \d commands.

--
Michael Fuhr

Re: Relationship beween sequences (serial) and tables

От
"Jim C. Nasby"
Дата:
On Thu, Sep 08, 2005 at 01:03:26AM -0700, Thusitha Kodikara wrote:
> Hi,
>
> I use Postgres 7.4.5 on Linux
>
> In many of my tables the primary key is bigserial for which sequences are automatcially generated. Through pg_catalog
tableshow can I find the relationship petween each table and its corresponding sequence ? 

If you install newsysviews (http://pgfoundry.org/projects/newsysviews/),
the following query will give you all table columns that are using a
sequence for their default value:

select * from pg_user_table_columns where default_value like 'nextval(%';
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461