然后
docker exec -it pg-docker bash
psql -U postgres
postgres=# CREATE DATABASE myDB;
psql -U postgres myDB < BCS/mydb.sql
但是当我执行命令\dt
时,我出现了这个错误没有找到任何关系。
知道我的数据库已有表。我做错了吗?
首先最好使用@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内部或外部是否有任何工具用于