我有表,這樣的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 +'用於數據類型 –
任何機會從查詢中獲取這些信息? –