This page in other versions: 9.0 / 9.1 / 9.2 / 9.3 / 9.4  |  Development versions: devel  |  Unsupported versions: 7.1 / 7.2 / 7.3 / 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4

45.18. pg_description

The catalog pg_description stores optional descriptions (comments) for each database object. Descriptions can be manipulated with the COMMENT command and viewed with psql's \d commands. Descriptions of many built-in system objects are provided in the initial contents of pg_description.

See also pg_shdescription, which performs a similar function for descriptions involving objects that are shared across a database cluster.

Table 45-18. pg_description Columns

Name Type References Description
objoid oid any OID column The OID of the object this description pertains to
classoid oid pg_class.oid The OID of the system catalog this object appears in
objsubid int4   For a comment on a table column, this is the column number (the objoid and classoid refer to the table itself). For all other object types, this column is zero.
description text   Arbitrary text that serves as the description of this object

Comments


Aug. 31, 2011, 9:14 p.m.

You can retrieve comments, if any, alongside with the table definitions of a given table using a query like this:

select
tables.table_name,
descr.description as comments
from information_schema.tables tables
join pg_catalog.pg_class klass on (tables.table_name = klass.relname and klass.relkind = 'r')
left join pg_catalog.pg_description descr on (descr.objoid = klass.oid and descr.objsubid = 0)
where tables.table_schema = 'public' and tables.table_name = 'mytable';

And you can retrieve comments, if any, alongside with column definitions of a given table using a query like this:

select
ordinal_position,
column_name,
data_type,
character_maximum_length,
numeric_precision,
numeric_scale,
is_nullable,
column_default,
descr.description as comment
from information_schema.columns columns
join pg_catalog.pg_class klass on (columns.table_name = klass.relname and klass.relkind = 'r')
left join pg_catalog.pg_description descr on (descr.objoid = klass.oid and descr.objsubid = columns.ordinal_position)
where columns.table_schema = 'public' and columns.table_name = 'mytable'
order by columns.ordinal_position;

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group