PostgreSQL:使用没有斜线语法的 SQL 显示域属性

Ada*_*tan 3 postgresql psql datagrip

在 PostgreSQL 中,显示域的属性是使用 完成的\dD,例如:

\dD dom_reason

             List of domains
Schema |    Name    |     Type      | Modifier |  Check
....
Run Code Online (Sandbox Code Playgroud)

在 DataGrip 中,\尚不支持表示法。有没有办法使用直接 SQL 查询域属性?

a_h*_*ame 5

像这样的东西:

SELECT n.nspname as domain_schema, 
       t.typname as domain_name, 
       pg_catalog.format_type(t.typbasetype, t.typtypmod) as data_type, 
       not t.typnotnull as nullable, 
       t.typdefault as default_value, 
       c.conname as constraint_name, 
       pg_catalog.pg_get_constraintdef(c.oid, true) as constraint_definition, 
       obj_description(t.oid) as remarks 
FROM pg_catalog.pg_type t 
  LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace 
  LEFT JOIN pg_catalog.pg_constraint c ON t.oid = c.contypid 
WHERE t.typtype = 'd' 
  AND n.nspname = 'public' -- change here for your schema name
Run Code Online (Sandbox Code Playgroud)

psql通过使用以下选项启动 psql,您可以轻松找到用于每个反斜杠命令的语句-E--echo-hidden