没有模式名称的postgresql pg_dump

rau*_*i75 12 postgresql pg-dump pg-restore postgresql-10

pg_dump版本10.3开始明确地将模式名称添加到表名.那是过去的

INSERT INTO table (id) VALUES (1);
Run Code Online (Sandbox Code Playgroud)

就是现在

INSERT INTO public.table (id) VALUES (1);
Run Code Online (Sandbox Code Playgroud)

你怎么能把它关掉?我的问题是,我将其转储到没有模式名称的mariadb中.

Ole*_*bov -3

当然这只是linux的决定(不是postgres),但我想它对你有帮助

sed -i 's/public.//g' your_dmp_file
Run Code Online (Sandbox Code Playgroud)

PS我没有检查这个,也许你应该修复它

  • 对于任何值恰好包含“public”的表,这是行不通的。会被错误地删除。 (4认同)