13

我为 PostgreSQL 使用 EMS SQL 管理器,我需要转储困难的数据库(域、300 多个存储过程/函数、触发器、数据等)。这个工具做不到。

请建议我为 postgres 提供良好的 GUI 工具。

4

5 回答 5

34

您始终可以只使用命令行实用程序。
转储集群:

pg_dumpall -p 5432 > /path/to/my/dump_file.sql

转储单个数据库:

pg_dump -p 5432 mydb > /path/to/my/mydb_dump.sql

仅转储架构:

pg_dump -p 5432 mydb -s > /path/to/my/mydb_dump_schema.sql

更多在手册中。

如果要还原到空数据库,则可能需要在还原之前运行:

DROP DATABASE IF EXISTS mydb;
CREATE DATABASE mydb;

在这种情况下不需要--clean选项。pg_dump

于 2012-04-26T16:13:05.570 回答
5

备份你的数据库不需要工具。我们可以用终端做

所有命令都应该以 postgres 用户身份运行。

 sudo su - postgres 

备份单个数据库

pg_dump db_name > db_backup.sql

恢复单个数据库

psql db_name < db_backup.sql

备份整个 postgres 数据库集群

pg_dumpall > cluster_backup.sql

恢复整个 postgres 数据库集群

psql -f cluster_backup.sql postgres

有关更多命令备份命令,请参阅此源

于 2016-12-18T21:35:19.347 回答
3

pgAdmin3可以解决问题,它在安装程序中包含 pg_dump 和 pg_restore。

于 2012-04-26T16:05:14.893 回答
1

pg_dump -U uguryilmaz modaltrans_dev > backup.sql

于 2020-02-18T13:50:13.883 回答
1

如果您使用 md5 身份验证技术并希望使用特定用户来获取数据库转储,您可以这样做

$ pg_dump -U username -p 5432 dbname > filename-to-backup-to.sql

为避免在还原时出现凭据和用户名问题,您可以使用--no-owner标志

$ pg_dump --no-owner -U username -p 5432 dbname > filename-to-backup-to.sql

要恢复备份,请使用以下命令

$ psql -U username -d dbname -f filename-to-backup-to.sql
于 2020-03-04T07:09:53.670 回答