【问题标题】:PostgreSQL: Showing domain properties using SQL without the Slash SyntaxPostgreSQL:使用没有斜杠语法的 SQL 显示域属性
【发布时间】:2016-01-17 12:18:13
【问题描述】:
在 PostgreSQL 中,显示域的属性是使用 \dD 完成的,例如:
\dD dom_reason
List of domains
Schema | Name | Type | Modifier | Check
....
在 DataGrip 中,\ notation is not yet supported。有没有办法使用直接 SQL 查询域属性?
【问题讨论】:
标签:
postgresql
psql
datagrip
【解决方案1】:
类似这样的:
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
您可以通过使用选项-E 或--echo-hidden 启动psql,轻松找到psql 用于其每个反斜杠命令的语句