Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- if [ "$#" -ne 2 ]; then
- echo "Usage $0 new_owner target_db"
- exit 1
- fi
- $NEW_OWNER=$1
- $TARGET_DB=$2
- psql -c "GRANT INSERT ON ALL TABLES IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
- psql -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
- psql -c "GRANT UPDATE ON ALL TABLES IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
- psql -c "GRANT DELETE ON ALL TABLES IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
- psql -c "GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
- for tbl in `psql -qAt -c "SELECT tablename FROM pg_tables WHERE schemaname = 'public';" $TARGET_DB`; do
- psql -c "ALTER TABLE $tbl OWNER TO $NEW_OWNER" $TARGET_DB
- done
- for tbl in `psql -qAt -c "SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = 'public';" $TARGET_DB`; do
- psql -c "ALTER TABLE $tbl OWNER TO $NEW_OWNER" $TARGET_DB
- done
- for tbl in `psql -qAt -c "SELECT table_name FROM information_schema.views WHERE table_schema = 'public';" $TARGET_DB`; do
- psql -c "ALTER TABLE $tbl OWNER TO $NEW_OWNER" $TARGET_DB
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement