Postgres 转储导入显示成功,但未导入任何数据

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

我在 Docker 容器(特别是 PostGIS)中运行 Postgres。如果我从生产数据库创建数据库转储,然后将其导入到容器中,我收到的输出看起来成功,但没有创建任何表。我注意到创建了一个schema,但这就是我所能看到的。 但是,如果我重试导入,它会抱怨索引等已经存在,所以它正在做某事,但我不知道是什么。

可能值得注意的是,我暂时从容器中删除了卷,以消除卷权限问题的可能性。

创建转储:

pg_dump postgres://CONNECTIONSTRING > dump.sql

然后在 psql 中运行

CREATE DATABASE db_name;
\i dump.sql

我收到了

SET
SET
SET
SET
SET
 set_config 
------------
 
(1 row)

SET
SET
SET
SET
CREATE SCHEMA
ALTER SCHEMA
CREATE EXTENSION
COMMENT
SET
SET
CREATE TABLE
ALTER TABLE
CREATE SEQUENCE
…truncated

但是

\dt
说“没有找到任何关系”

如果我再次导入

psql:dump.sql:64: ERROR:  relation "accounts" already exists
ALTER TABLE
…truncated

正在创建模式,但是我可以使用

\dn
看到它。这大约是我知识的极限,但是,我真的不知道这意味着什么,而且绝对不知道数据去哪里了!

postgresql
1个回答
0
投票

问题是转储创建了一个所有表都位于其中的模式。为了看到它,我需要设置搜索路径以在该模式中查找:

SET search_path TO tracker_production;
© www.soinside.com 2019 - 2024. All rights reserved.