我在浏览器中使用 phpPgAdmin,在 Windows 中使用 PgAdmin III。有没有办法打印整个数据库的表结构?
最佳答案
导出数据库模式的标准方式是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 命令:
- 在对象浏览器中右击数据库,选择“备份”
- 选择目标文件名(常见的扩展名是.sql或.txt)
- 选择“普通”格式。 (也就是文本格式)
- 在“Dump Options #1”选项卡上,勾选“Only Schema”
- 点击“备份”
注意:生成的文件不仅包含表,还包含所有其他对象( View 、函数等)。如果您只需要最少的打印输出,您可以在文本编辑器中编辑此文件并删除不需要的内容。仅保留“类型:TABLE;”项目。
关于postgresql - 如何从postgresql打印表结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8651465/