生成pgsql数据字典的Python代码
时间: 2024-04-16 12:05:15 浏览: 80
以下是生成pgsql数据字典的Python代码:
```python
import psycopg2
import pandas as pd
# 连接到PostgreSQL数据库
conn = psycopg2.connect(database="your_database_name", user="your_username", password="your_password", host="your_host", port="your_port")
cur = conn.cursor()
# 获取数据库中所有表的名称
cur.execute("SELECT table_name FROM information_schema.tables WHERE table_schema='public' AND table_type='BASE TABLE';")
table_list = cur.fetchall()
# 遍历每个表并获取表结构
for table in table_list:
table_name = table[0]
cur.execute("SELECT column_name, data_type, character_maximum_length, is_nullable, column_default FROM information_schema.columns WHERE table_name=%s;", (table_name,))
table_structure = cur.fetchall()
# 将表结构转换为DataFrame
columns = ['Column Name', 'Data Type', 'Max Length', 'Nullable', 'Default']
df = pd.DataFrame(table_structure, columns=columns)
# 将DataFrame保存为CSV文件
df.to_csv(table_name + '.csv', index=False)
# 关闭数据库连接
cur.close()
conn.close()
```
将你的数据库名称、用户名、密码、主机和端口替换为代码中的相应值。此代码使用psycopg2和pandas库来连接和查询数据库,并将表结构保存为CSV文件。您可以将数据存储到其他格式的文件中,如Excel或JSON,或将其直接输出到控制台。
阅读全文