Difference between revisions of "PostgreSQL"

From Briki
Jump to: navigation, search
(PostgresSQL)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== PostgresSQL ==
+
== Creating a DB ==
 +
  sudo -u postgres createdb <dbname>
  
=== Creating a DB ===
+
== Creating a role ==
  sudo -u postgres createdb <dbname>
+
Note that in postgres all access is managed by "roles", there is no concept of users or groups (though for historical purposes users and roles can be thought of as largely interchangeable).
  
=== Creating a user ===
+
Without a password:
 
   sudo -u postgres createuser <username>
 
   sudo -u postgres createuser <username>
  
=== Starting an interactive session ===
+
With a password:
   psql <dbname>
+
  sudo -u postgres createuser <username> -P
 +
 
 +
== Authentication ==
 +
=== Local Users ===
 +
By default (defined in `/etc/postgresql/11/main/pg_hba.conf`), local users can authenticate without needing a password into a role with the same name as their username.
 +
 
 +
=== Remote Users ===
 +
Remote users (including those connecting from other docker containers) can only connect as roles with passwords defined.
 +
 
 +
== Starting an interactive session ==
 +
   sudo -u postgres psql <dbname>
 +
 
 +
== Useful Commands ==
 +
* List all databases:
 +
  \list

Latest revision as of 11:35, 12 May 2020

Creating a DB

 sudo -u postgres createdb <dbname>

Creating a role

Note that in postgres all access is managed by "roles", there is no concept of users or groups (though for historical purposes users and roles can be thought of as largely interchangeable).

Without a password:

 sudo -u postgres createuser <username>

With a password:

 sudo -u postgres createuser <username> -P

Authentication

Local Users

By default (defined in `/etc/postgresql/11/main/pg_hba.conf`), local users can authenticate without needing a password into a role with the same name as their username.

Remote Users

Remote users (including those connecting from other docker containers) can only connect as roles with passwords defined.

Starting an interactive session

 sudo -u postgres psql <dbname>

Useful Commands

  • List all databases:
 \list