【发布时间】:2020-11-04 09:30:58
【问题描述】:
我正在使用 SQLAlchemy 连接到 AWS Redshift 中的 postgresql 数据库进行一些数据处理,我需要提取特定 Schema 中每个表的 DDL 信息。我无法运行像pg_dump --schema-only 这样的任何命令。提取 DDL 的最简单方法是什么?
【问题讨论】:
标签: python-3.x sqlalchemy amazon-redshift
我正在使用 SQLAlchemy 连接到 AWS Redshift 中的 postgresql 数据库进行一些数据处理,我需要提取特定 Schema 中每个表的 DDL 信息。我无法运行像pg_dump --schema-only 这样的任何命令。提取 DDL 的最简单方法是什么?
【问题讨论】:
标签: python-3.x sqlalchemy amazon-redshift
您可以获取所有带有反射系统的表并打印每个表的CreateTable 构造:
from sqlalchemy.schema import MetaData
from sqlalchemy.schema import CreateTable
meta = MetaData()
meta.reflect(bind=engine)
for table in meta.sorted_tables:
print(CreateTable(table).compile(engine))
【讨论】: