14th September 2023: PostgreSQL 16 Released!
Unsupported versions: 7.0
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

Accessing a Database

Once you have constructed a database, you can access it by:

  • running the Postgres terminal monitor program (psql) which allows you to interactively enter, edit, and execute SQL commands.

  • writing a C program using the libpq subroutine library. This allows you to submit SQL commands from C and get answers and status messages back to your program. This interface is discussed further in the PostgreSQL Programmer's Guide.

You might want to start up psql, to try out the examples in this manual. It can be activated for the dbname database by typing the command:
psql dbname
You will be greeted with the following message:
Welcome to psql, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit


This prompt indicates that the terminal monitor is listening to you and that you can type SQL queries into a workspace maintained by the terminal monitor. The psql program responds to escape codes that begin with the backslash character, "\". For example, you can get help on the syntax of various Postgres SQL commands by typing:

dbname=> \h
Once you have finished entering your queries into the workspace, you can pass the contents of the workspace to the Postgres server by typing:
dbname=> \g
This tells the server to process the query. If you terminate your query with a semicolon, the backslash-g is not necessary. psql will automatically process semicolon terminated queries. To read queries from a file, instead of entering them interactively, type:
dbname=> \i filename
To get out of psql and return to Unix, type
dbname=> \q
and psql will quit and return you to your command shell. (For more escape codes, type backslash-h at the monitor prompt.) White space (i.e., spaces, tabs and newlines) may be used freely in SQL queries. Single-line comments are denoted by two dashes ("--"). Everything after the dashes up to the end of the line is ignored. Multiple-line comments, and comments within a line, are denoted by "/* ... */", a convention borrowed from Ingres.