我創建了一個SQL SELECT來獲取所有枚舉和它們的值在一個模式:Postgres的:可變的說法從架構我選擇
SELECT
t.typname, array_agg(e.enumlabel)
FROM pg_type t
JOIN pg_enum e ON t.oid = e.enumtypid
JOIN pg_namespace n ON t.typnamespace = n.oid
WHERE t.typtype = 'e' AND n.nspname = 'public'
GROUP BY typname
我已經把選擇到視圖所以我沒有寫它每次我想打電話給它。困擾我的唯一的事情是,如果我重新命名模式或其他模式我必須手動改寫模式的名稱使用它,檢查代碼的行6:
WHERE t.typtype = 'e' AND n.nspname = 'public'
公共的hardtyped那裏。在postgres中選擇時,是否有一個「全局」變量表示您選擇哪種模式?我無法找到任何。
由於
PS:我用postgres的8.4
謝謝,這正是我一直在尋找並感謝糾正拼寫:)我總是困惑是否使用Postgre或Postgres的 – Santhos 2012-04-10 15:03:31
嘛,正式這是PostgreSQL的,但Postgres的是一個普遍的綽號。甚至許多使用官方拼寫*的人也會發音,就像更短的形式。 (我這樣做)http://wiki.postgresql.org/wiki/FAQ#What_is_PostgreSQL.3F_How_is_it_pronounced.3F_What_is_Postgres.3F – kgrittn 2012-04-10 15:33:13
@Santhos:除了kgrittn的評論:Postgre(沒有s)是**從不** **正確 – 2012-04-10 15:34:36