Docker & PostgreSQL:无法在初始化期间创建数据库名称中包含“-”的数据库
Docker & PostgreSQL : can not create database having '-' in database name during initialization
我已经在 docker 映像中安装了 PostgreSQL 9.4.6 docker 版本 1.10.1。根据这张官方图片:
https://github.com/docker-library/postgres/blob/443c7947d548b1c607e06f7a75ca475de7ff3284/9.4/Dockerfile
正如这里所说,为了创建初始数据库,我在“/docker-entrypoint-initdb.d”中添加了我的 sql 脚本。
https://hub.docker.com/_/postgres/
现在遇到一些麻烦后,我发现当我在 sql 脚本中添加查询以创建数据库时,数据库名称有 '-' ,它们只会导致容器崩溃(即容器在启动后立即退出)。
但是在数据库名称中没有“-”的查询工作正常,容器也不会崩溃,我可以访问这些数据库。
例如,此查询运行良好。
create database 1stName_2ndName with owner vagrant;
但是我分别尝试了这两个查询,但都失败了
create database '1stName-2ndName' with owner vagrant;
或
create database 1stName-2ndName with owner vagrant;
注意:考虑不带双引号的查询。 vagrant 用户已经创建并且工作正常。
我有一个名为 1stName-2ndName 的数据库。谁能帮我解决这个问题?
在我的本地 Postgres 安装中,以下查询没有问题:
create database "1stName-2ndName" with owner vagrant;
我已经在 docker 映像中安装了 PostgreSQL 9.4.6 docker 版本 1.10.1。根据这张官方图片: https://github.com/docker-library/postgres/blob/443c7947d548b1c607e06f7a75ca475de7ff3284/9.4/Dockerfile 正如这里所说,为了创建初始数据库,我在“/docker-entrypoint-initdb.d”中添加了我的 sql 脚本。 https://hub.docker.com/_/postgres/ 现在遇到一些麻烦后,我发现当我在 sql 脚本中添加查询以创建数据库时,数据库名称有 '-' ,它们只会导致容器崩溃(即容器在启动后立即退出)。 但是在数据库名称中没有“-”的查询工作正常,容器也不会崩溃,我可以访问这些数据库。 例如,此查询运行良好。
create database 1stName_2ndName with owner vagrant;
但是我分别尝试了这两个查询,但都失败了
create database '1stName-2ndName' with owner vagrant;
或
create database 1stName-2ndName with owner vagrant;
注意:考虑不带双引号的查询。 vagrant 用户已经创建并且工作正常。
我有一个名为 1stName-2ndName 的数据库。谁能帮我解决这个问题?
在我的本地 Postgres 安装中,以下查询没有问题:
create database "1stName-2ndName" with owner vagrant;