PostgreSQL is a famous Relational DataBase Management System. It is an open-source “client-server” database which can be accessed using a programming language, through a GUI application or a CLI.
Client Applications
One strength of PostgreSQL is its packaged of “client applications”. These are used to interact with PostgreSQL in various ways by issuing a command via the command line.
Some commonly used client applications:
-
createdb
: wrapper aroundCREATE DATABASE
SQL command, to create a new PostgreSQL database -
dropdb
: wrapper aroundDROP DATABASE
SQL command, to destroys an existing PostgreSQL database -
pg_dump
: utility for consistently backing up a PostgreSQL database into a script file or other archive file (even when currently in use) -
pg_restore
: utility for restoring a PostgreSQL database from an archive file created bypg_dump
-
pg_bench
: program for running benchmark tests on PostgreSQL -
psql
: terminal-based interactive console to interact with PostgreSQL
Client applications are to be used within one’s terminal and not in PostgreSQL interactive console (psql
).
The psql
Console Prompt
In the psql
console prompt, one can issue two types of commands:
-
Meta-commands: backslash
\
followed by a command and optional arguments (like\q
to quit) - SQL statements: commands issued to the database using SQL syntax (and terminating in a semi-colon)
Common PSQL Meta-Commands
-
\connect database_name
(or\c database_name
) to connect to the database calleddatabase_name
-
\list
(or\l
) to display all databases -
\quit
(or\q
) to exit PostgreSQL session -
\edit
(or\e
) to call an editor that let’s you edit and rerun the previous command -
\dt
to display a list of all the existing tables -
\d foo
to describe the tablefoo