Postgresql-11:使用 pg_dump 转储 select 模式的对象定义和数据

Postgresql-11 : using pg_dump to dump both object definition and data for a select schema

我知道可以先转储数据,然后单独转储架构,

但我希望转储两个对象定义,例如 table、索引、函数、视图等 select 模式以及数据 该模式的 tables.

到目前为止,我已经尝试了以下命令,在 windows cmd 中使用 pg_dump.exe,并且能够绕过密码检查,这对我来说是一个很大的 Hassel。

SET PGPASSWORD=(password)
"C:\Program Files (x86)\pgAdmin4\v4\runtime\pg_dump.exe" -h (hostname) -p 5432 -U (user name) -n (schema name) -d (database name)

其中,

总的来说,我只是想自动执行备份转储过程,但我做不到,因为数据丢失了。

PostgreSQL 模式不代表结构(table、索引、视图等)。
架构是一个名称空间,它在逻辑上对上述内容进行分组,以使其更易于管理。

同一个数据库可以有多个模式。
如果您没有手动创建模式,则您只有默认模式 (public)。

尝试 运行 不带 n 参数的 pg_dump 命令,结果文件中应该包含所有数据和结构。 如果您要构建备份系统,请考虑使用 custom archive 格式 -Fc 或使用类似 gzip.

的格式

为了获取两个模式的转储以及模式中存在的数据,

我们可以使用下面的命令。

语法:

"C:\Program Files (x86)\pgAdmin4\v4\runtime\pg_dump.exe" -h (hostname) -p 5432 -U (user name) -n (schema name) -d (database name) -t (schema name).*

样本:

"C:\Program Files (x86)\pgAdmin4\v4\runtime\pg_dump.exe" -h 192.168.0.1 -p 5432 -U postgres -n Business_Schema -d BusinessDatabase -t Business_Schema.*