首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用初始脚本创建停靠的Postgresql

使用初始脚本创建停靠的Postgresql
EN

Stack Overflow用户
提问于 2020-10-20 01:31:27
回答 1查看 46关注 0票数 0

我有一个yml文件

代码语言:javascript
复制
  2 volumes:¬                                                                                                                                                                                                                      
  6     quartz-pg-master_data:¬                                                                                             
  7 ¬                                                                                                                       
  8 networks:¬                                                                                                              
  9     hostnet:¬                                                                                                           
 10         external: true¬                                                                                                 
 11         name: host¬

 21 configs:¬                                                                                                                                                                        
 24     quartz-create_quartz_tables-20201019-1.sh:¬                                                                         
 25         file: ./config/quartz/create.sql¬ 

 15     quartz-pg-master:¬                                                                                                  
 14         image: postgres¬                                                                                                
 13         networks:¬                                                                                                      
 12             - internal¬                                                                                                 
 11         ports:¬                                                                                                         
 10             - published: 5432¬                                                                                          
  9               target: 5432¬                                                                                             
  8               mode: host¬                                                                                               
  7         environment:¬                                                                                                   
  6             PGDATA: /pg_data¬                                                                                           
  5             POSTGRES_DB: "quartz"
                POSTGRES_USER: "quartz"
                POSTGRES_PASSWORD: "password"¬                                                                                      
  4         configs:¬                                                                                                       
  3             - source: quartz-create_quartz_tables-20201019-1.sh¬                                                        
  2               target: /docker-entrypoint-initdb.d/create.sql¬                                                           
  1         volumes:¬                                                                                                       
  0             - quartz-pg-master_data:/pg_data¬ 

它有create.sql:

代码语言:javascript
复制
CREATE TABLE qrtz_service_job_details
  (
    SCHED_NAME VARCHAR(120) NOT NULL,
    JOB_NAME  VARCHAR(200) NOT NULL,
    JOB_GROUP VARCHAR(200) NOT NULL,
    DESCRIPTION VARCHAR(250) NULL,
    JOB_CLASS_NAME   VARCHAR(250) NOT NULL, 
    IS_DURABLE BOOL NOT NULL,
    IS_NONCONCURRENT BOOL NOT NULL,
    IS_UPDATE_DATA BOOL NOT NULL,
    REQUESTS_RECOVERY BOOL NOT NULL,
    JOB_DATA BYTEA NULL,
    PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP)
);

CREATE TABLE qrtz_service_triggers
  (
    SCHED_NAME VARCHAR(120) NOT NULL,
    TRIGGER_NAME VARCHAR(200) NOT NULL,
    TRIGGER_GROUP VARCHAR(200) NOT NULL,
    JOB_NAME  VARCHAR(200) NOT NULL, 
    JOB_GROUP VARCHAR(200) NOT NULL,
    DESCRIPTION VARCHAR(250) NULL,
    NEXT_FIRE_TIME BIGINT NULL,
    PREV_FIRE_TIME BIGINT NULL,
    PRIORITY INTEGER NULL,
    TRIGGER_STATE VARCHAR(16) NOT NULL,
    TRIGGER_TYPE VARCHAR(8) NOT NULL,
    START_TIME BIGINT NOT NULL,
    END_TIME BIGINT NULL,
    CALENDAR_NAME VARCHAR(200) NULL,
    MISFIRE_INSTR SMALLINT NULL,
    JOB_DATA BYTEA NULL,
    PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
    FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) 
    REFERENCES qrtz_service_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP) 
);

...

用于石英init.db。

我正在使用日志成功初始化postresql:

当我跑步的时候

docker exec -ti bash,然后

苏石英

我的结果是:

root@3fac28fb199d:/# su quartz su:用户quartz不存在。

但是,我已经尝试使用postgres -> su postgres。

我可以成功地进入,但在此之后,当我运行psql时,它会给出以下错误

代码语言:javascript
复制
postgres@3fac28fb199d:/$ psql
psql: error: could not connect to server: FATAL:  role "postgres" does not exist

看起来我的数据库和用户根本没有被创建。可能的问题是什么?

EN

Stack Overflow用户

发布于 2020-10-20 09:03:17

在docker bash容器中,我需要使用

psql dbname username,因此在我的例子中,它可以工作,并且我的表被创建。

psql石英

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64432462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档