您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1.1.0_02_master_create_ro_user.sh 1.5KB

123456789101112131415161718192021222324252627282930313233343536
  1. #! /usr/bin/env bash
  2. if [ "${POSTGRES_MASTER_MODE}" != 1 ]
  3. then
  4. echo "Database is not in master mode. Exiting."
  5. exit 0
  6. fi
  7. psql <<-EOF
  8. CREATE USER ${POSTGRES_RO_USER} WITH ENCRYPTED PASSWORD '${POSTGRES_RO_PASSWORD}';-- NOINHERIT;
  9. \c ${POSTGRES_DB}
  10. REVOKE ALL ON DATABASE ${POSTGRES_DB} FROM ${POSTGRES_RO_USER};
  11. GRANT CONNECT ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_RO_USER};
  12. REVOKE ALL ON SCHEMA public FROM ${POSTGRES_RO_USER};
  13. REVOKE CREATE ON SCHEMA public FROM ${POSTGRES_RO_USER};
  14. GRANT USAGE ON SCHEMA public TO ${POSTGRES_RO_USER};
  15. REVOKE ALL ON ALL TABLES IN SCHEMA public FROM ${POSTGRES_RO_USER};
  16. GRANT SELECT ON ALL TABLES IN SCHEMA public TO ${POSTGRES_RO_USER};
  17. ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON TABLES FROM ${POSTGRES_RO_USER};
  18. ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO ${POSTGRES_RO_USER};
  19. REVOKE ALL ON ALL SEQUENCES IN SCHEMA public FROM ${POSTGRES_RO_USER};
  20. GRANT USAGE ON ALL SEQUENCES IN SCHEMA public TO ${POSTGRES_RO_USER};
  21. ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON SEQUENCES FROM ${POSTGRES_RO_USER};
  22. ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE ON SEQUENCES TO ${POSTGRES_RO_USER};
  23. REVOKE ALL ON ALL FUNCTIONS IN SCHEMA public FROM ${POSTGRES_RO_USER};
  24. GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO ${POSTGRES_RO_USER};
  25. ALTER DEFAULT PRIVILEGES IN SCHEMA public REVOKE ALL ON FUNCTIONS FROM ${POSTGRES_RO_USER};
  26. ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT EXECUTE ON FUNCTIONS TO ${POSTGRES_RO_USER};
  27. EOF