> For the complete documentation index, see [llms.txt](https://docs.bipeye.com/product-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bipeye.com/product-docs/overview/credentials/databases/postgressql/create-a-read-only-user-in-postgresql.md).

# Create a read-only user in PostgreSQL

To create a read-only user in PostgreSQL, you can follow these steps:

1. Connect to your PostgreSQL database as a user with sufficient privileges, such as the superuser or a user with the `CREATEROLE` privilege.
2. Open a SQL client or a terminal and execute the following SQL statement to create a new user.&#x20;

   Replace `'password'` with the desired password for the read-only user:

<pre class="language-sql"><code class="lang-sql"><strong>CREATE USER readonly_user WITH PASSWORD 'password';
</strong></code></pre>

3. Grant the necessary privileges to the read-only user. In this case, we want the user to have only read access to specific tables. Execute the following SQL statement to grant `SELECT` privileges on the desired tables, Replace `table_name` with the name of the table you want to grant read access to. Repeat this step for each table you want to include:

```sql
GRANT SELECT ON table_name TO readonly_user;
```

4. Finally, you can create credentials with the new read-only user to test the access. The read-only user should be able to connect to the database and perform `SELECT` queries on the granted tables but will not have permission to modify the data.
