当前位置: 首页 > 知识库问答 >
问题:

在docker postgres容器中导入postgres数据库

盖翰池
2023-03-14

然后

docker exec -it pg-docker bash
psql -U postgres
postgres=# CREATE DATABASE myDB;
psql -U postgres myDB < BCS/mydb.sql

但是当我执行命令\dt时,我出现了这个错误没有找到任何关系。知道我的数据库已有表。我做错了吗?

共有1个答案

卞成荫
2023-03-14

首先最好使用@linpy提到的方法。

或者更好地在生成时进行复制。

DockerFile

FROM postgres
COPY mydb.sql /docker-entrypoint-initdb.d/
FROM postgres
ENV POSTGRES_DB=mydb

Postgresql将db名称作为小写,进行规范化处理。但是,postgresapi中的字段不会复制这种行为,因此允许您用大写字母创建数据库。修复方法可以是警告用户db名称中不允许使用大写字母,并向API添加验证规则以阻止用户创建这样的数据库。

Postgres-API

更改命令以创建数据库

docker exec -it pg-docker bash
psql -U postgres
postgres=# CREATE DATABASE myDB;
postgres=# \l
                                 List of databases
   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges   
-----------+----------+----------+------------+------------+-----------------------
 mydb      | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
 postgres  | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
 template0 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
psql -U postgres mydb < BCS/mydb.sql
psql  -d mydb -U postgres -f ab.sql

 类似资料:
  • 我的docker撰写。yml是: Dockerfile是: application.properties TestDbConfig.java 当我构建我的应用程序映像时,一切正常,然后我应该启动我的数据库映像和应用程序映像。我用启动db,我得到了:。我的DbConfig有问题吗?如果我在本地启动我的应用程序,而不是在Docker容器中启动我的应用程序,我的应用程序成功连接到数据库,我可以做我想做的

  • 我是docker的新手,在运送数据容器时遇到了一个问题。好的,通常我们会发送图像,用户可以根据需要从该图像中启动容器,对吗? 现在我也想运送一些数据——所以我做了一个数据容器: 接下来,我简单地启动了一个bash,并将一些数据插入到我的数据容器中 现在我想允许我的团队成员使用相同的数据(脱机),所以我想“发送”我的数据容器给他们。因此我使用 但是当我重新导入这个 我不能使用这个“容器”,因为它似乎

  • 我想在启动Postgres Docker映像后创建一个数据库。

  • 在将Django docker容器连接到Postgres数据库时,我收到以下错误。 下面是运行容器的Dockerfile pg_hba.conf->宿主all all 0.0.0.0/0 md5 我已经读到上面的以下细节打开数据库上的连接。

  • 我有一个Postgresql数据库正在运行,我想把它导入谷歌云SQL。我的数据库名为,由用户 我采取的步骤: > curl--头"授权:承载XXXXX"\--头"内容类型:应用程序/json"\--data'{"项目":"YYYYY","实例":"dev","name":"test"}'\ https://www.googleapis.com/sql/v1beta4/projects/YYYYYY

  • 我正在尝试将csv导入postgres。 我已经建立了我的表,我的csv文件的格式是这样的,它是明确的数据,我需要的是,但它不是以相同的方式格式化的表。 举个简单的例子:我有 表1与字段1字段2和字段3 表2包括字段1和字段2 我的csv有值1、值2、值3、值4 我想将值1加载到表1字段2中,将值2加载到表2字段1中,将值3加载到表1字段3中。 我想知道postgres内部或外部是否有任何工具用于