7

我在浏览器中使用 phpPgAdmin,在 Windows 中使用 PgAdmin III。无论如何要打印整个数据库的表结构吗?

4

3 回答 3

6

导出数据库模式的标准方法是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”
  • 点击“备份”

注意:生成的文件不仅包含表,还包含所有其他对象(视图、函数等)。如果您只需要最少的打印输出,您可以在文本编辑器中编辑此文件并删除不需要的内容。只留下“类型:表;” 项目。

于 2011-12-28T08:26:54.980 回答
5

如果你在 Windows 和 pgAdmin 上,你应该在C:\Program files\postgresql\<version>\bin\psql.

运行 psql,然后您\d将打印所有表和索引,\d <table_name>并为您提供有关一张表的详细信息。

于 2014-04-03T14:07:44.487 回答
1

您可以根据需要一次做一个。右键单击 pgAdminIII 中的表,转到 Reports 并选择“Data Dictionary Report”。

对于输出格式,选择“XHTML 1.0 Transitional”,选择“Embed the default stylesheet”选项,给它一个文件名并点击OK。

在浏览器中打开 XML 文件并打印。

于 2014-02-12T15:13:07.480 回答