Users and roles in postgres: Users, groups, and roles user groups and roles are synonyms. Create user = create role+ login permission To create a PostgreSQL user postgres=# create user appuser1 with password 'password'; or postgres=# create role appuser_role2 with login password 'password'; Note :All new users and roles inherit permissions from the public role. WHAT IS PUBLIC SCHEMA AND PUBLIC ROLE When a new database is created, PostgreSQL by default creates a schema named public. All new users and roles are by default granted this public role, and can create object in public schema. SEARCH PATH The search path is a list of schema names that PostgreSQL checks when you don’t use a qualified name of the database object. For example, when you select from a table named testtable, PostgreSQL looks for this table in the schemas listed in the search path. postgres=# show search_path; search_path ----------------- "$user", public ...