This page in other versions: Unsupported versions: 6.5

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 the Postgres interactive sql monitor:

  type \? for help on slash commands
  type \q to quit
  type \g or terminate with semicolon to execute query
You are currently connected to the database: dbname


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.
Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group