我有表,这样的DDL和PostgreSQL:找到类型的定义在PostgreSQL中
CREATE TABLE some_table (
id identifier NOT NULL DEFAULT nextval('some_table_id_seq'),
center_name common_name NULL,
...
)
那些identifier
和common_name
类型不是非标准PostgreSQL的类型。如何找到他们的定义?
我有表,这样的DDL和PostgreSQL:找到类型的定义在PostgreSQL中
CREATE TABLE some_table (
id identifier NOT NULL DEFAULT nextval('some_table_id_seq'),
center_name common_name NULL,
...
)
那些identifier
和common_name
类型不是非标准PostgreSQL的类型。如何找到他们的定义?
SELECT n.nspname as "Schema",
pg_catalog.format_type(t.oid, NULL) AS "Name",
pg_catalog.obj_description(t.oid, 'pg_type') as "Description"
FROM pg_catalog.pg_type t
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace
WHERE (t.typrelid = 0 OR (SELECT c.relkind = 'c' FROM pg_catalog.pg_class c WHERE c.oid = t.typrelid))
AND NOT EXISTS(SELECT 1 FROM pg_catalog.pg_type el WHERE el.oid = t.typelem AND el.typarray = t.oid)
AND n.nspname <> 'pg_catalog'
AND n.nspname <> 'information_schema'
AND pg_catalog.pg_type_is_visible(t.oid)
ORDER BY 1, 2;
得到了'SQL错误[42601]:错误:语法错误处于或接近“LEFT”# –
我编辑了查询。请尝试执行 –
SQL错误[25P02]:错误:当前事务中止,直到事务块结束时忽略命令 错误:当前事务中止,忽略命令直到事务块结束 org.postgresql.util.PSQLException:ERROR :在“LEFT”处或附近出现语法错误' –
最有可能的是[域](https://www.postgresql.org/docs/current/static/sql-createdomain.html)因此,在['psql'](HTTPS:// WWW。 postgresql.org/docs/current/static/app-psql.html)使用'\ dD'meta-command来获取它的属性,例如'\ dD + identifier' –
Abelisto
和'\ dT +'用于数据类型 –
任何机会从查询中获取这些信息? –