sql - 从 pg_dump 输出中删除注释

标签 sql postgresql postgresql-9.2

当 PostgreSQL pg_dump 完成后,它会为每个元素插入一些注释,如下所示。

--
-- Name: my_table; Type: TABLE; Schema: account; Owner: user; Tablespace:
--

CREATE TABLE my_table(
    id integer
);

--
-- Name: my_seq; Type: SEQUENCE; Schema: account; Owner: user
--

CREATE SEQUENCE my_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

是否可以强制 pg_dump 删除(排除)它们?我只想收到:

CREATE TABLE my_table(
    id integer
);

CREATE SEQUENCE my_seq
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

最佳答案

在 UNIX 类型的操作系统上,我会这样做:

pg_dump [options] mydatabase | sed -e '/^--/d' >mydatabase.dmp

这可能会意外吞下以 -- 开头的数据行。要解决该问题,请使用 pg_dump--inserts 选项。

关于sql - 从 pg_dump 输出中删除注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41941527/

相关文章:

php - 我可以从 PHP $var 中的另一个表创建一个表吗

postgresql - postgre组有

sql - 通过 FK 查找表中的最后记录

php - 将 mysql 语句切换到 postgresql

postgresql - 使用 psql\copy 导入带有时间戳列 (dd.mm.yyyy hh.mm.ss) 的 .csv

sql - 检索一行中每一列的最后一个已知值

mysql - SQL 将延迟分钟的时间值更改为 "previous"分钟

sql - 为什么 SQLiteStudio(和其他)默认情况下不以人类可读的格式显示日期时间?

sql - 将 PostgreSQL 函数包装在另一个函数中以有条件地组合结果

postgresql - 将数据从 Postgres 9.2 推送到远程数据库