Cheatsheets/PostgreSQL
Databases

PostgreSQL

psql client — connect, meta-commands, and administration.

Connect

psqlConnect as current OS user
psql -U username dbnameSpecify user and database
psql -h host -p 5432 dbRemote connection
sudo -u postgres psqlConnect as postgres role

Meta-commands

\lList databases
\c dbnameConnect to database
\dtList tables in current schema
\d tablenameDescribe table
\d+ tablenameDetailed table description
\duList roles/users
\dnList schemas
\dfList functions
\i file.sqlExecute SQL from file
\qQuit psql

Administration

createdb dbnameCreate a new database
dropdb dbnameDrop a database
pg_dump dbname > dump.sqlExport database
psql dbname < dump.sqlImport SQL dump

Roles & privileges

-- Create user with password
CREATE USER ada WITH PASSWORD 'secret';

-- Grant all on database
GRANT ALL PRIVILEGES ON DATABASE mydb TO ada;

-- Superuser role
CREATE USER admin SUPERUSER;

-- Revoke
REVOKE ALL ON DATABASE mydb FROM ada;