今天收到一個郵件,說是XXX要擴容,其實就是字段加長。數據服務天然是要排查一番。想一想greenplum應該會有元數據或數據字典。假設這個擴容字段有關鍵字key,那麼就能夠用下面的SQL把全部包括key的字段名都取出來,排查就容易了。從這個事情能夠看出字段命名規範對後期維護的重要性。sql
SELECT c.nspname ,b.relname ,a.attname ,a.data_type FROM (SELECT a.attrelid ,a.attname ,pg_catalog.format_type(a.atttypid, a.atttypmod) AS data_type FROM pg_catalog.pg_attribute a WHERE a.attnum > 0 AND NOT a.attisdropped) a ,pg_class b ,pg_namespace c WHERE lower(attname) LIKE '%key%' AND a.attrelid = b.oid AND b.relnamespace = c.oid ORDER BY c.nspname,b.relname,a.attname;
由於系統徹底規範化很難,因此排查數據字典只是解決大部分問題,其他還要靠經驗、記憶和實測。ide