在我們的PostgreSQL SERVER 8.4版中有一個奇怪的SQL。它看起來像一個由PG服務器執行的系統sql!我不知道這個SQL?任何人都知道嗎?PostgreSQL的一個非常奇怪的SQL
--Strange SQL
SELECT NULL AS TABLE_CAT,
n.nspname AS TABLE_SCHEM,
c.relname AS TABLE_NAME,
CASE n.nspname ~ '^pg_' OR n.nspname = 'information_schema'
WHEN true THEN
CASE
WHEN n.nspname = 'pg_catalog' OR n.nspname = 'information_schema' THEN
CASE c.relkind
WHEN 'r' THEN 'SYSTEM TABLE'
WHEN 'v' THEN 'SYSTEM VIEW'
WHEN 'i' THEN 'SYSTEM INDEX'
ELSE NULL
END
WHEN n.nspname = 'pg_toast' THEN
CASE c.relkind
WHEN 'r' THEN 'SYSTEM TOAST TABLE'
WHEN 'i' THEN 'SYSTEM TOAST INDEX'
ELSE NULL
END
ELSE
CASE c.relkind
WHEN 'r' THEN 'TEMPORARY TABLE'
WHEN 'i' THEN 'TEMPORARY INDEX'
ELSE NULL
END
END
WHEN false THEN
CASE c.relkind
WHEN 'r' THEN 'TABLE'
WHEN 'i' THEN 'INDEX'
WHEN 'S' THEN 'SEQUENCE'
WHEN 'v' THEN 'VIEW'
ELSE NULL
END
ELSE NULL
END AS TABLE_TYPE,
d.description AS REMARKS
FROM pg_catalog.pg_namespace n,
pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_description d ON (c.oid = d.objoid
AND d.objsubid = 0)
LEFT JOIN pg_catalog.pg_class dc ON (d.classoid = dc.oid
AND dc.relname='pg_class'
我的眼睛..請在編輯器,以便其可讀正確的編碼標籤進行格式化。 – stefan 2011-03-28 02:17:11
再次發佈未格式化的代碼,我不會幫忙。如果SO無法解讀您的問題,那麼SO無法提供幫助。 – 2011-03-28 02:19:04
你是在說查詢中的CASE n.nspname〜'^ pg_''嗎? – 2011-03-28 02:25:02