We're Moving!

The Vertica Forum is moving to a new OpenText Analytics Database (Vertica) Community.

Join us there to post discussion topics, learn about

product releases, share tips, access the blog, and much more.

Create My New Community Account Now


Identify a Tables Primary Key Columns — Vertica Forum

Identify a Tables Primary Key Columns

Jim_KnicelyJim_Knicely - Select Field - Administrator

The Vertica system table PRIMARY_KEYS lists the columns that compose a tables primary key.

Example:

dbadmin=> \dS primary_keys
                            List of tables
  Schema   |     Name     |  Kind  |       Description       | Comment
-----------+--------------+--------+-------------------------+---------
v_catalog | primary_keys | system | Primary key information |
(1 row)

dbadmin=> SELECT column_name, ordinal_position
dbadmin->   FROM primary_keys
dbadmin->  WHERE table_name = 'test_table';
column_name | ordinal_position
-------------+------------------
a           |                1
b           |                2
c           |                3
d           |                4
e           |                5
(5 rows)

You can use the LISTAGG function to group the columns of a composite key into a single record!

dbadmin=> SELECT listagg(column_name) pk
dbadmin->   FROM primary_keys
dbadmin->  WHERE table_name = 'test_table';
    pk
-----------
a,b,c,d,e
(1 row)

Helpful Link:
https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/SQLReferenceManual/SystemTables/CATALOG/PRIMARY_KEYS.htm

Have fun!

Sign In or Register to comment.