我有一个 postgres 数据库,我正在尝试使用 pg_dumpall 创建完整的脚本来重现我的数据库(也使用 github 来跟踪转储文件的版本)。
我的问题是,为什么 pg_dumpall 会丢失我的数据库模式?例如,我有一个名为“go1”的模式。我的 pg_dumpall 脚本应该为模式“go1”中的用户表生成一个带有“go1.users”的文件。但是转储文件只产生“用户”。它丢失了模式名称。
pg_dumpall 有没有办法保留转储文件中的模式?
我有一个 postgres 数据库,我正在尝试使用 pg_dumpall 创建完整的脚本来重现我的数据库(也使用 github 来跟踪转储文件的版本)。
我的问题是,为什么 pg_dumpall 会丢失我的数据库模式?例如,我有一个名为“go1”的模式。我的 pg_dumpall 脚本应该为模式“go1”中的用户表生成一个带有“go1.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,
...
意味着它将创建指令文件表