AWS Redshift [PostgreSQL]导出表结构
最近需要学习AWS Redshift,它也是基于PostgreSQL的,需要导出所有表的表结构来分析。
但网上查询了很多方法,说的都比较专业(都是点到即止),对我这种只会copy and paste的人来说太难,像有文章给出了指定表的SQL语句,但没有指定Schema,而我遇到的是不同Schema有同名表,还有一些用表名不是pg开头逻辑来排除系统表(如relname not like ‘pg_%’,这样不够优美)。
花了点时间整理查到指定Schema的方式,记录下来,也应该方便有同样需求的同学。
查询指定Schema中指定Table的表结构
SELECT pn.nspname "schema_name",
pc.relname AS "table_name",
cast(obj_description (relfilenode,'pg_class') AS VARCHAR) AS "table_description",
pa.attname AS "column_name",
col_description(pa.attrelid,pa.attnum) AS "column_description",
format_type(pa.atttypid,pa.atttypmod)