diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh index 49b5d95..312c95c 100644 --- a/docker-entrypoint.sh +++ b/docker-entrypoint.sh @@ -339,6 +339,18 @@ _main() { export PGPASSWORD="${PGPASSWORD:-$POSTGRES_PASSWORD}" docker_temp_server_start "$@" + # 创建 postgres 超级管理员(如果不存在) + docker_process_sql <<-EOSQL + DO \$\$ + BEGIN + IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = 'postgres') THEN + CREATE ROLE postgres SUPERUSER LOGIN PASSWORD '${POSTGRES_PASSWORD}'; + ALTER DATABASE ${POSTGRES_DB} OWNER TO postgres; + END IF; + END + \$\$; + EOSQL + docker_setup_db docker_process_init_files /docker-entrypoint-initdb.d/*