PostgreSQL 10
我正在尝试在启动时在 docker 容器中创建一个角色
我试过像这样创建角色:
gosu postgres pg_ctl start -D /var/lib/postgresql/data
if [ "${PGUSER}" != 'postgres' ]; then
gosu postgres psql --command="CREATE USER ${PGUSER} SUPERUSER WITH PASSWORD '${PGPASSWORD}';" --echo-hidden --echo-queries
fi
gosu postgres pg_ctl stop -w -D /var/lib/postgresql/data
这仍然给我致命的:角色“grafadmin”不存在
尝试使用以下命令创建数据库时:
gosu postgres createdb -O grafadmin grafana
我也试过:
cat > ${HOMEDIR}/user.sql <<SQL
DO
$body$
BEGIN
IF NOT EXISTS (
SELECT
FROM pg_catalog.pg_user
WHERE username = '${PGUSER}') THEN
CREATE ROLE ${PGUSER} WITH SUPERUSER PASSWORD '${PGPASSWORD}';
END IF;
END
$body$;
SQL
cat ${HOMEDIR}/user.sql
gosu postgres psql --file="${HOMEDIR}/user.sql" --echo-hidden --echo-queries
我可能忽略了一些简单的事情......