首页 > 解决方案 > 授予用户权限 docker init 脚本 Postgres

问题描述

我有一个脚本如下

#!/bin/bash

echo "...:::AUTO-KONTO - INITIALIZING POSTGRESQL WITH DEFAULT DATA:::...."

# creates new db and new user who is owner of this db
# arg1 db name
# arg2 user name
# arg3 user pass
create_db_user_pass() {
    psql --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -c "CREATE USER $2 WITH PASSWORD '$3'" && \
    psql --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" -c "CREATE DATABASE $1 OWNER=$2"
 }

# executes sql on given DB
# arg1 db name
# arg2 sql to execute
exec_sql() {
    psql --username "$POSTGRES_USER" --dbname "$1" -c "$2"
}
create_db_user_pass keycloak       keycloak          password
create_db_user_pass autkontodb     admin             admin

到目前为止,我有这个脚本并且它可以工作,但我想授予 admin 和 keycloak 权限,目前两个用户都无法创建表或删除表。请问我该怎么做?

标签: postgresqldocker

解决方案


推荐阅读