52.6. pg_attrdef #

O catálogo pg_attrdef armazena expressões de valor padrão e expressões de geração de colunas. As principais informações sobre colunas são armazenadas em pg_attribute. Apenas as colunas para as quais uma expressão padrão ou uma expressão de geração tenha sido explicitamente definida têm entrada aqui.

Tabela 52.6. Colunas de pg_attrdef

Coluna Tipo de dados

Descrição

oid oid

Identificador da linha

adrelid oid (referencia pg_class.oid)

A tabela à qual esta coluna pertence

adnum int2 (referencia pg_attribute.attnum)

O número da coluna

adbin pg_node_tree

O valor padrão da coluna ou a expressão de geração, na representação nodeToString(). Deve-se usar pg_get_expr(adbin, adrelid) para converter em uma expressão SQL.


Exemplo 52.3. Exemplo do tradutor

Valores padrão de coluna

Uso do catálogo pg_attrdef para mostrar os valores padrão de coluna definidos para a usuária cristina.

cristina=> SELECT a.oid, c.relname, t.attname,
cristina->        pg_get_expr(adbin, adrelid)
cristina-> FROM pg_attrdef AS a
cristina-> LEFT JOIN pg_class AS c
cristina->      ON adrelid = c.oid
cristina-> LEFT JOIN pg_attribute AS t
cristina->      ON a.adrelid = t.attrelid AND a.adnum=t.attnum\gx

-[ RECORD 1 ]-----------------------------------
oid         | 34250
relname     | pessoa
attname     | peso_pound
pg_get_expr | (peso_kg * 2.20462262185)
-[ RECORD 2 ]-----------------------------------
oid         | 34249
relname     | pessoa
attname     | altura_inch
pg_get_expr | (altura_cm / 2.54)
-[ RECORD 3 ]-----------------------------------
oid         | 34248
relname     | pessoa
attname     | id
pg_get_expr | nextval('pessoa_id_seq'::regclass)
-[ RECORD 4 ]-----------------------------------
oid         | 34291
relname     | bug
attname     | id
pg_get_expr | nextval('bug_id_seq'::regclass)


52.6.1. Veja também #

CREATE TABLE, ALTER TABLE, DROP TABLE