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
我有一个 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