postgresql 从Postgres DB导出表及其列名

b5lpy0ml  于 2023-02-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(160)

我有一个postgres数据库,我想导出所有的模式,表名和他们的列名称,没有实际的数据到一个CSV文件或类似的文本。这需要一次导出,因为有100表在数据库中。这是可能的Postgres使用pgAdmin?
我尝试过导出数据库,但我只能找到导出表和列的名称以及其中包含的实际数据的方法。我无法仅导出架构、表及其列名。我想一次导出所有表的列名,但我无法做到。

u4dcyp6a

u4dcyp6a1#

pgAdmin可以访问psql,因此:

\pset format csv
\o col_names.csv

SELECT
    attrelid::regclass AS table_name,
    attname AS column_name
FROM
    pg_attribute pa
    JOIN pg_class pc ON pa.attrelid = oid
        AND relkind = 'r'
        AND relnamespace NOT IN ('pg_catalog'::regnamespace, 'information_schema'::regnamespace);

\o

\! head col_names.csv
table_name,column_name
pricing_production,pricegroup
pricing_production,price_id
pricing_production,q_brk_1
pricing_production,q_brk_2
pricing_production,q_brk_3
pricing_production,q_brk_4
pricing_production,q_brk_5
pricing_production,q_brk_6
pricing_production,b_seas_1

相关问题