我正在尝试仅使用pg_dump
从PostgreSQL数据库中转储数据,然后将这些数据恢复到另一个数据中。但是使用此工具生成sql脚本也会在输出文件中添加一些注释和设置。
运行此命令:
pg_dump --column-inserts --data-only my_db > my_dump.sql
我得到类似的东西:
--
-- PostgreSQL database dump
--
-- Dumped from database version 8.4.22
-- Dumped by pg_dump version 10.8 (Ubuntu 10.8-0ubuntu0.18.04.1)
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET escape_string_warning = off;
SET row_security = off;
--
-- Data for Name: sf_guard_user; Type: TABLE DATA; Schema: public; Owner: admin
--
INSERT INTO public.....
有什么方法可以避免pg_dump
生成这些评论和设置?
我可以做一个小脚本来删除第一次插入之前的每一行,但它还会在文件上的所有位置生成注释,并且我相信可以使用一种更干净的方式继续进行,但什么也没找到。
答案 0 :(得分:1)
我不认为有。我只是通过grep
来过滤掉以注释定界符开头的行:
pg_dump --column-inserts --data-only my_db | grep -v "^--" > my_dump.sql