I would like to create a new user in an existing
postgresql database on an Ubuntu machine. I want to grant this user a read-only access to all the tables.
How do I do it? Do I need to create a new user on Ubuntu, too?
No need to create a new user in the operating system. Just issue:
CREATE USER newusername
in psql (or pgadmin, or whatever tool you prefer) and you will have a new user. What access this user has depends on what your tables are set up for. But default, it will not have permissions on any tables, so you will have to GRANT this. If you have already GRANTed permissions to the public group, the user will have thos permissions from the start.