1
我想從PostgreSQL特定模式導出數據類型。問題是,現在我發現了一種導出整個模式的方法,而不僅僅是數據類型。 該模式有超過2000個表,並且我不需要所有這些。 有沒有辦法導出JUST自定義數據類型?從PostgreSQL模式導出數據類型
我想從PostgreSQL特定模式導出數據類型。問題是,現在我發現了一種導出整個模式的方法,而不僅僅是數據類型。 該模式有超過2000個表,並且我不需要所有這些。 有沒有辦法導出JUST自定義數據類型?從PostgreSQL模式導出數據類型
這讓你可用數據類型的列表 - 爲自定義的,你可能需要在第一列(nspname)進行過濾:
SELECT n.nspname, typname, pg_catalog.format_type(t.oid, NULL) AS typefull
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
pg_catalog.pg_type_is_visible(t.oid)
不知道這是否是你腦子裏想的還是沒有什麼:
select
data_type, count (*)
from information_schema.columns
where
table_schema = 'my_schema'
group by
data_type
如果自定義類型只有你的意思是用戶定義的,那麼我想你想的udt_name而不是爲用戶定義類型:
select
udt_name, count (*)
from information_schema.columns
where
table_schema = 'my_schema' and
data_type = 'USER-DEFINED'
group by
udt_name