【问题标题】:How to print the table structure from postgresql?如何从 postgresql 打印表结构?
【发布时间】:2011-12-28 03:17:02
【问题描述】:

我在浏览器中使用 phpPgAdmin,在 Windows 中使用 PgAdmin III。有没有办法打印出整个数据库的表结构?

【问题讨论】:

    标签: postgresql printing phppgadmin pgadmin


    【解决方案1】:

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

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

    【讨论】:

    • 应该是pg_dump 而不是psql
    【解决方案2】:

    如果你使用的是 Windows 和 pgAdmin,你应该在 C:\Program files\postgresql\<version>\bin\psql 的某个地方有 psql。

    运行 psql 然后你有 \d 打印所有表和索引,\d <table_name> 给你一个表的详细信息。

    【讨论】:

      【解决方案3】:

      您可以根据需要一次完成一项。在 pgAdminIII 中右键单击一个表,进入 Reports 并选择“Data Dictionary Report”。

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

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

      【讨论】:

      • 数据怎么样?
      • 是否有一种编程方式可以在模式中的所有表上运行相当于 pgAdminIII“数据字典报告”的功能?
      猜你喜欢
      • 2019-08-07
      • 1970-01-01
      • 2012-08-24
      • 2021-06-21
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      相关资源
      最近更新 更多