Ucmd Postgres

From UVOO Tech Wiki
Jump to navigation Jump to search
select usename from pg_catalog.pg_user where usename like 'u\_%';
select usename from pg_catalog.pg_user;
select datname from pg_catalog.pg_database where datname like 'u\_%';

https://stackoverflow.com/questions/27610890/drop-all-tables-sharing-the-same-prefix-in-postgres

https://tableplus.com/blog/2018/04/postgresql-how-to-create-read-only-user.html

Readonly

 To create a new user in PostgreSQL:

CREATE USER username WITH PASSWORD 'your_password';
To learn more about creating PostgreSQL user, visit this post.

2. GRANT the CONNECT access:

GRANT CONNECT ON DATABASE database_name TO username;
3. Then GRANT USAGE on schema:

GRANT USAGE ON SCHEMA schema_name TO username;
4. GRANT SELECT

Grant SELECT for a specific table:
GRANT SELECT ON table_name TO username;
Grant SELECT for multiple tables:
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO username;
If you want to grant access to the new table in the future automatically, you have to alter default:
ALTER DEFAULT PRIVILEGES IN SCHEMA schema_name
GRANT SELECT ON TABLES TO username;