Considere o seguinte cenário:
CREATE DOMAIN dom_zipcode AS text;
ALTER DOMAIN dom_zipcode
ADD CONSTRAINT zipchk CHECK (char_length(VALUE) = 5);
Agora, se eu quiser eliminar essa restrição com ALTER DOMAIN
, o manual diz :
ALTER DOMAIN name
DROP CONSTRAINT [ IF EXISTS ] constraint_name [ RESTRICT | CASCADE ]
Mas como podemos encontrar constraint_name
? \dD
mostra apenas a definição da restrição ( CHECK
instrução).
\dD dom_zipcode ;
List of domains
Schema | Name | Type | Modifier | Check
--------+-------------+------+----------+--------------------------------
public | dom_zipcode | text | | CHECK (char_length(VALUE) = 5)
(1 row)
Posso despejar o esquema usando pg_dump
, mas acredito que deve existir uma maneira mais elegante de estabelecer isso usando o psql
terminal.
Catálogo de sistema do PostgreSQL
Especificação SQL
INFORMATION_SCHEMA.DOMAIN_CONSTRAINTS
Você também pode consultar isso na
domain_constraints
tabela doinformation_schema