还原SQL转储时忽略缺少的列

问题描述 投票:0回答:1

我想将数据库转储导入到一个新数据库中,该数据库没有旧数据库具有的所有列。

我怎么能忽略这些列?

转储创建:

pg_dump --data-only old_database > dump_data_12_3_2019.sql;

当我尝试导入转储时,我收到以下错误:

psql:sdump.sql:3569: ERROR:  column "column" of relation "table" does not exist
postgresql psql postgresql-9.5 pg-dump
1个回答
0
投票

你必须按步骤操作:

  1. 创建包含所有列的未记录或临时表。
  2. COPY你的文件到那个表。
  3. 使用INSERT INTO ... SELECT ...插入未记录或临时表的相应部分。
  4. 删除未记录的表或终止会话以删除临时表。

另一种方法是使用像awk这样的工具来预处理文件并删除额外的列。

© www.soinside.com 2019 - 2024. All rights reserved.