我在浏览器中使用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)
- 选择"Plain"格式。(即文本格式)
- 在"Dump Options #1"选项卡上,勾选"Only Schema"
- 点击"备份"
注意:结果文件将不仅有表,还包括所有其他对象(视图,函数等)。如果您只需要最少的打印输出,您可以在文本编辑器中编辑此文件并删除不需要的内容。只留下"Type: TABLE;"项
如果你是Windows和pgAdmin,你应该在C:Program filespostgresql<version>binpsql
的某个地方有psql。
运行psql,然后你有d
打印所有的表和索引和d <table_name>
给你关于一个表的详细信息。
您可以根据需要一次完成一个。右键单击pgAdminIII中的表格,进入报告,选择"数据字典报告"。
对于输出格式,选择"XHTML 1.0 Transitional",选择"Embed the default stylesheet"选项,给它一个文件名,然后单击OK。
在浏览器中打开XML文件并打印。