簡體   English   中英

使用 /docker-entrypoint-initdb.d 初始化 postgres docker 時不會創建表

[英]Tables are not created when initialize postgres docker with /docker-entrypoint-initdb.d

我正在嘗試從 docker-compose 旋轉 postgres 容器,將 *.sql 文件復制到 /docker-entrypoint-initdb.d 以創建數據庫和架構。

來自 docker-compose 運行的日志:

/usr/local/bin/docker-entrypoint.sh: sourcing /docker-entrypoint-initdb.d/02-schema.sql
db_1          | CREATE DATABASE
db_1          | GRANT
db_1          | SET
db_1          | CREATE TABLE
db_1          | CREATE INDEX
db_1          | CREATE TABLE
db_1          | CREATE TABLE

已創建數據庫,但未創建任何表。 下面是我的 schema.sql 文件

CREATE DATABASE sample_db OWNER user1;
GRANT ALL PRIVILEGES ON DATABASE sample_db TO user1;


CREATE TABLE PUBLIC.PROFILES(
    USER_ID VARCHAR(50) PRIMARY KEY,
    NAME VARCHAR(50) NOT NULL
);

我曾經對我的 sql 容器做同樣的事情,添加:USE sample_db,但我找不到等效的 postgres 命令。

您是否在 docker 文件中使用了 POSTGRES_DB 環境變量? 如果未設置,它將使用 POSTGRES_USER 作為數據庫名稱

檢查文檔https://hub.docker.com/_/postgres 中的環境變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM