【问题标题】: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 用于其每个反斜杠命令的语句

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2014-12-23
      • 2017-03-27
      • 2018-12-07
      相关资源
      最近更新 更多