PostgreSQL pg_dumpall 丢失模式

PostgreSQL pg_dumpall Loses Schemas

我有一个 postgres 数据库,我正在尝试使用 pg_dumpall 创建完整的脚本来重现我的数据库(还使用 github 来跟踪转储文件的版本)。

我的问题是,为什么 pg_dumpall 会丢失我的数据库架构?例如,我有一个名为 "go1" 的模式。我的 pg_dumpall 脚本应该为模式 "go1" 中的用户 table 生成一个带有 "go1.users" 的文件。但是转储文件只产生 "users"。它丢失了架构名称。

有没有办法 pg_dumpall 保留转储文件中的架构?

不输。查看生成的文件 - 你会发现 search_path 在创建模式对象之前,如:

...
SET search_path = instruction, pg_catalog;

SET default_tablespace = '';

SET default_with_oids = false;

--
-- Name: file; Type: TABLE; Schema: instruction; Owner: postgres
--

CREATE TABLE file (
    details jsonb,
...

表示它将创建 instruction.file table