The root user is an account on the system independent from Postgres. There is only one root user.
A superuser is an account in Postgres with access to everything. There may be many superusers.
System accounts and Postgres accounts are different things, although unless you specify a Postgres username when you connect to the database (through utilities like psql
, createdb
, dropdb
, or otherwise), it will use the current system user's name in hopes that there is a corresponding Postgres account with the same name. The root user does not, by default, have a corresponding account in Postgres.
When you install Postgres on *nix, it creates both a superuser named postgres
and a system user named postgres
.
Therefore, when you need to do something with Postgres as the built-in superuser, you have two options:
- You may
sudo su - postgres
to become the postgres
system user and execute your command (createdb
, psql
, etc). Because the system user has the same name as the database superuser, your command will connect as the appropriate account.
- You may specify the username to execute as with the
-U
switch, eg psql -U postgres ...
.
Depending on your Postgres server's authentication settings, you may be required to enter a password with either or both connection methods.
postgres
. Trycreatedb -U postgres ....
– Colenesudo ssh -i "athleticu-test-keypair.pem" [email protected]
and then it's get like this :ubuntu@ip-172-30-4-103:~$
@Adlay – Stroganoffpostgres
user and then I should login intoathleticu
? @a_horse_with_no_name – Stroganoff