postgresql – 在adminer中使用docker我看不到导入的数据

我创建了带有postgres的docker容器和带有选项的adminer:

lprods_db:
    image: postgres:9.6.10-alpine
    ports:
        - '5433:5432'
    restart: always
    environment: 
        POSTGRES_USER: 'postgres'
        POSTGRES_PASSWORD: '1'
        POSTGRES_DB: 'wprods'
    volumes:
        - ./init:/docker-entrypoint-initdb.d/


lprods_adminer:
    image: adminer
    restart: always
    ports:
        - 8083:8080
    links:
        - lprods_db

我需要将我的转储上传到我的lprods_db实例的wprods db中
我在操作系统的控制台中运行:

cat  /mnt/_work_sdb8/wwwroot/lar/lprods/__SQL/wprods_2017_10_23.sql   | docker exec -i   lprods_docker_lprods_db_1    psql -Upostgres

哪里
/mnt/_work_sdb8/wwwroot/lar/lprods/__SQL/wprods_2017_10_23.sql是我操作系统路径中的sql dump

lprods_docker_lprods_db_1 – 数据库容器

我看到postgres导出数据的命令输出没有错误,例如:

CREATE INDEX
ALTER TABLE
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
ALTER TABLE
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
REVOKE
REVOKE
GRANT
GRANT

通过在http://127.0.0.1:8083/打开adminer,我没有在指定的db:https://imgur.com/a/n6Tk4YE中找到任何表
我希望我的数据可以导入到wprods.public中.是这样吗?
怎么了?

这里可以使用一些FLUSH命令吗?

谢谢!

您的docker-compose.yml和您使用的命令似乎完全正确 – 我在第一次尝试时启动了所有内容.

这里唯一看似陷阱的是pg_dump的输出对数据库名称一无所知.从docs

Script dumps are plain-text files containing the SQL commands
required to reconstruct the database

因此,当您通过psql恢复它时,您需要显式指定目标数据库名称,在您的情况下命令将如下所示

cat /mnt/_work_sdb8/wwwroot/lar/lprods/__SQL/wprods_2017_10_23.sql | docker exec -i lprods_docker_lprods_db_1 psql -Upostgres wprods

否则你将填充默认的postgres数据库

相关文章
相关标签/搜索