Advertisement
Guest User

Untitled

a guest
Apr 26th, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. if [ "$#" -ne 2 ]; then
  4. echo "Usage $0 new_owner target_db"
  5. exit 1
  6. fi
  7.  
  8. $NEW_OWNER=$1
  9. $TARGET_DB=$2
  10.  
  11. psql -c "GRANT INSERT ON ALL TABLES IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
  12. psql -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
  13. psql -c "GRANT UPDATE ON ALL TABLES IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
  14. psql -c "GRANT DELETE ON ALL TABLES IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
  15. psql -c "GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO ${NEW_OWNER};" $TARGET_DB
  16.  
  17. for tbl in `psql -qAt -c "SELECT tablename FROM pg_tables WHERE schemaname = 'public';" $TARGET_DB`; do
  18. psql -c "ALTER TABLE $tbl OWNER TO $NEW_OWNER" $TARGET_DB
  19. done
  20.  
  21. for tbl in `psql -qAt -c "SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = 'public';" $TARGET_DB`; do
  22. psql -c "ALTER TABLE $tbl OWNER TO $NEW_OWNER" $TARGET_DB
  23. done
  24.  
  25. for tbl in `psql -qAt -c "SELECT table_name FROM information_schema.views WHERE table_schema = 'public';" $TARGET_DB`; do
  26. psql -c "ALTER TABLE $tbl OWNER TO $NEW_OWNER" $TARGET_DB
  27. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement