作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 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
生成那些注释和设置吗?我可以做一个小脚本来删除第一次插入之前的每一行,但它也会在文件的任何地方生成注释,我确信有一种更简洁的方法可以继续,但什么也没发现。
最佳答案
我认为没有。我将简单地通过 grep
过滤掉以注释分隔符开头的行:
pg_dump --column-inserts --data-only my_db | grep -v "^--" > my_dump.sql
关于database - 如何从 pg_dump 输出中删除注释和设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56682034/
我是一名优秀的程序员,十分优秀!