【发布时间】:2011-12-28 03:17:02
【问题描述】:
我在浏览器中使用 phpPgAdmin,在 Windows 中使用 PgAdmin III。有没有办法打印出整个数据库的表结构?
【问题讨论】:
标签: postgresql printing phppgadmin pgadmin
我在浏览器中使用 phpPgAdmin,在 Windows 中使用 PgAdmin III。有没有办法打印出整个数据库的表结构?
【问题讨论】:
标签: postgresql printing phppgadmin pgadmin
导出数据库架构的标准方式是pg_dump:
#!/bin/sh
pg_dump --schema-only MYDBNAME > output-file.sql
将 pg_dump 与 pg_restore 列表过滤相结合的更好方法:
#!/bin/sh
dump=`mktemp`
list=`mktemp`
pg_dump --schema-only MYDBNAME -Fc -f $dump
pg_restore -l $dump | grep ' TABLE ' > $list
pg_restore -L $list $dump > output-file.sql
rm $list $dump
如果您更喜欢 GUI 向导,可以在PgAdmin III 中生成 pg_dump 命令:
注意:生成的文件不仅包含表格,还包含所有其他对象(视图、函数等)。如果您只需要最少的打印输出,您可以在文本编辑器中编辑此文件并删除不需要的内容。只留下“类型:表;”项目。
【讨论】:
pg_dump 而不是psql
如果你使用的是 Windows 和 pgAdmin,你应该在 C:\Program files\postgresql\<version>\bin\psql 的某个地方有 psql。
运行 psql 然后你有 \d 打印所有表和索引,\d <table_name> 给你一个表的详细信息。
【讨论】:
您可以根据需要一次完成一项。在 pgAdminIII 中右键单击一个表,进入 Reports 并选择“Data Dictionary Report”。
对于输出格式,选择“XHTML 1.0 Transitional”,选择“Embed the default stylesheet”选项,给它一个文件名并点击OK。
在浏览器中打开 XML 文件并打印。
【讨论】: