New User in PostgreSQL
Let’s create a new user for PostgreSQL with read-only permission
To create a user in PostgreSQL and give them read-only permissions to a specific database, you can follow these steps.
Log into your PostgreSQL server
You can do this by using a terminal or an SQL client, connecting with a user that has sufficient privileges to create other users and manage permissions, such as the postgres
superuser.
Create the user
Use the CREATE ROLE
or CREATE USER
command to create a new user. CREATE USER
is effectively the same as CREATE ROLE
but with the LOGIN ability enabled by default.
Replace readonly_user with your desired username and secure_password with a strong password.
Grant connect permissions to the database
You need to grant the new user permission to connect to the specific database.
Replace target_database with the name of the database to which you want to grant access.
Grant usage permissions on schemas
Typically, you’d want the user to read data from specific schemas (commonly the public schema).
Grant select permissions on tables and views
Finally, grant the SELECT permission on all tables and views within the schema. To automatically apply this to new tables as well, you can set up default privileges.
This gives the readonly_user
the ability to read data from all existing and future tables in the public
schema of target_database
.
Exit PostgreSQL session
After you’re done, you can exit the PostgreSQL command line by typing.
Was this page helpful?