postgres中表的owner怎么修改

postgres中表的owner怎么修改,第1张

1、使用postgres超级用户登录: ./psql -U postgres

2、创建imsdb这个数据库: create database imsdb [owner rcb]

3、赋予rcb用户所有权限: grant all privileges on database imsdb to rcb

4、如果创建时未设置owner,可以更改: alter database imsdb owner to rcb

更改拥有者:

usage()

{

cat <<EOF

usage: $0 options

This script set ownership for all table, sequence and views for a given database

Credit: Based on http://stackoverflow.com/a/2686185/305019 by Alex Soto

Also merged changes from @sharoonthomas

OPTIONS:

-h Show this message

-d Database name

-o Owner

EOF

}

DB_NAME=

NEW_OWNER=

PGSQL_USER=postgres

while getopts "hd:o:" OPTION

do

case $OPTION in

h)

usage

exit 1

d)

DB_NAME=$OPTARG

o)

NEW_OWNER=$OPTARG

esac

done

if [[ -z $DB_NAME ]] || [[ -z $NEW_OWNER ]]

then

usage

exit 1

fi

for tbl in `psql -U $PGSQL_USER -qAt -c "select tablename from pg_tables where schemaname = 'public'" ${DB_NAME}` \

`psql -U $PGSQL_USER -qAt -c "select sequence_name from information_schema.sequences where sequence_schema = 'public'" ${DB_NAME}` \

`psql -U $PGSQL_USER -qAt -c "select table_name from information_schema.views where table_schema = 'public'" ${DB_NAME}`

do

psql -U $PGSQL_USER -c "alter table \"$tbl\" owner to ${NEW_OWNER}" ${DB_NAME}

done


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9974338.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存