postgresql - 如何从postgresql打印表结构?

标签 postgresql printing phppgadmin pgadmin

我在浏览器中使用 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/

相关文章:

Phppgadmin,未找到对象

node.js - Getter 方法不适用于 PostgreSQL 模型

postgresql - JSONB 之间的区别 ->> 和 #>>

sql - 这个 SQL 查询怎么可能将重复值插入到数据库中?

java - 打印机驱动程序在java中的实现

php - 从 pgAdmin 进行查询。无法在 PHP 中正常运行

ruby-on-rails - 在 rake db :reset db:migrate not working 上更改序列

java - 让带有泛型实现的队列打印特定的对象属性

javascript - 打印时禁用 jQuery 定义的样式

postgresql - 无法登录 phpPgAdmin