psql.1
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:11k
- ." This is -*-nroff-*-
- ." XXX standard disclaimer belongs here....
- ." $Header: /usr/local/cvsroot/pgsql/src/man/Attic/psql.1,v 1.30 1999/03/30 05:14:03 ishii Exp $
- .TH PSQL UNIX 1/20/96 PostgreSQL PostgreSQL
- .SH NAME
- psql - run the interactive query front-end
- .SH SYNOPSIS
- .BR psql
- [c
- .BR "-a"
- authsvc
- ]
- [c
- .BR "-A"
- ]
- [c
- .BR "-c"
- query
- ]
- [c
- .BR "-d"
- dbName]
- [c
- .BR "-e"
- ]
- [c
- .BR "-E"
- ]
- [c
- .BR "-f"
- filename]
- [c
- .BR "-F"
- separator]
- [c
- .BR "-h"
- hostname]
- [c
- .BR "-H"
- ]
- [c
- .BR "-l"
- ]
- [c
- .BR "-n"
- ]
- [c
- .BR "-o"
- filename
- ]
- [c
- .BR "-p"
- port]
- [c
- .BR "-q"
- ]
- [c
- .BR "-s"
- ]
- [c
- .BR "-S"
- ]
- [c
- .BR "-t"
- ]
- [c
- .BR "-T"
- table-options
- ]
- [c
- .BR "-u"
- ]
- [c
- .BR "-x"
- ]
- [dbname]
- .in -5n
- .SH DESCRIPTION
- psql is a interactive query front-end to Postgres. It enables you to
- type in queries interactively, issue them to Postgres, and see the query
- results.
- .IR psql
- can be used in a pipe sequence, and automatically detects when it
- is not listening or talking to a real tty.
- .PP
- .IR "psql"
- is a frontend application, like any other. Hence, a
- .IR "postmaster"
- process must be running on the database server host before
- .IR "psql"
- is executed. In addition, the correct
- .IR "postmaster"
- port number must be specified
- as described below.
- .PP
- The optional argument
- .IR dbname
- specifies the name of the database to be accessed. This database must
- already have been created.
- .IR dbname
- defaults to the value of the
- .SM USER
- environment variable or, if that's not set, to the Unix account name of the
- current user.
- .PP
- When
- .IR "psql"
- starts, it reads SQL commands from
- .IR "/etc/psqlrc"
- and then from
- .IR "$(HOME)/.psqlrc"
- This allows SQL commands like
- .IR SET
- which can be used to set the date style to be run at the start of
- evry session.
- .PP
- .IR "psql"
- understands the following command-line options:
- .TP
- .BR "-a" " system"
- Specifies an authentication system
- .IR "system"
- to use in connecting to the
- .IR postmaster
- process. This option no longer has any effect.
- .TP
- .BR "-A"
- Turn off fill justification when printing out table elements.
- .TP
- .BR "-c" " query"
- Specifies that
- .IR "psql"
- is to execute one query string,
- .IR "query" ,
- and then exit. This is useful for shell scripts, typically in
- conjunction with the
- .BR -q ""
- options.
- .BR -c
- option in shell scripts.
- .TP
- .BR "-d" " dbName"
- Specifies the name of the database to connect to.
- .TP
- .BR "-e" " "
- Echo the query sent to the backend
- .TP
- .BR "-E" " "
- Echo the actual query generated by ed and other backslash commands
- .TP
- .BR "-f" " filename"
- Use the file
- .IR "filename"
- as the source of queries instead of reading queries interactively.
- .TP
- .BR "-F" " separator"
- Use
- .IR "separator"
- as the field separator.
- The default is "|".
- .TP
- .BR "-h" " hostname"
- Specifies the hostname of the machine on which the
- .IR postmaster
- is running.
- Without this option, communication is performed using
- local Unix domain sockets.
- .TP
- .BR "-H"
- Turns on
- .SM HTML3.0
- tabular output.
- .TP
- .BR "-l"
- Lists all available databases
- .TP
- .BR "-n"
- Do not use the readline library for input line editing and command history.
- .TP
- .BR "-o" " filename"
- Put all output into filename
- .TP
- .BR "-p" " port"
- Specifies the TCP/IP port or local Unix domain socket file
- extension on which the
- .IR postmaster
- is listening for connections. Defaults to 5432, or the value of the
- .SM PGPORT
- environment variable (if set).
- .TP
- .BR "-q"
- Specifies that
- .IR psql
- should do its work quietly. By default, it
- prints welcome and exit messages and prompts for each query, and prints
- out the number of rows returned from a query.
- If this option is used, none of this happens. This is useful with the
- .BR -c
- option in shell scripts.
- .TP
- .BR "-s"
- Run in single-step mode where the user at prompted for each query before
- it is sent to the backend.
- .TP
- .BR "-S"
- Run ins single-line mode where each query is terminated by a newline,
- instead of a semicolon.
- .TP
- .BR "-t"
- Turn off printing of column names.
- This is useful with the
- .BR -c
- option in shell scripts.
- .TP
- .BR "-T" " table-options"
- Allows you to specify options to be placed within the <table ...> tag
- for
- .SM HTML3.0
- tabular output. For example
- .BR border
- will give you tables with borders.
- .TP
- .BR "-u"
- Asks the user for the user name and password before connecting to the database.
- If the database does not require password authentication then these are
- ignored. If the option is not used (and the PGPASSWORD environment variable
- is not set) and the database requires password authentication, then the
- connection will fail. The user name is ignored anyway.
- .TP
- .BR "-x"
- Turns on extended row format mode. When enabled each row will have its column
- names printed on the left with the column values printed on the right.
- This is useful for rows which are otherwise too long to fit into
- one screen line. HTML row output supports this mode also.
- .PP
- You may set environment variables to avoid typing some of the above
- options. See the
- .SM "ENVIRONMENT VARIABLES"
- section below.
- .SH "CONNECTING TO A DATABASE"
- .IR psql
- attempts to make a connection to the database at the hostname and
- port number specified on the command line. If the connection could not
- be made for any reason (e.g. insufficient privileges, postmaster is not
- running on the server, etc)
- .IR psql
- will return an error that says
- .nf
- Connection to database failed.
- .fi
- The reason for the connection failure is not provided.
- .SH "ENTERING QUERIES"
- In normal operation, psql provides a prompt with the name of the
- database that psql is current connected to followed by the string "=>".
- For example,
- .nf
- Welcome to the POSTGRESQL interactive sql monitor:
- Please read the file COPYRIGHT for copyright terms of POSTGRESQL
- type e? for help on slash commands
- type eq to quit
- type eg or terminate with semicolon to execute query
- You are currently connected to the database: testdb
- testdb=>
- .fi
- .PP
- At the prompt, the user may type in SQL queries. Unless the -S option
- is set, input lines are sent to the backend when a query-terminating
- semicolon is reached.
- .PP
- Whenever a query is executed, psql also polls for asynchronous notification
- events generated by
- .IR listen(l)
- and
- .IR notify(l).
- .PP
- .SH "PSQL COMMANDS"
- Anything you enter in psql that begins with an unquoted backslash is a psql
- command. Anything else is SQL and simply goes into the current query buffer
- (and once you have at least one complete query, it gets automatically
- submitted to the backend). Psql commands are also called slash commands.
- .PP
- The format of a psql command is the backslash, followed immediately by
- a command verb, then any arguments. The arguments are separated from the
- command verb and each other by any number of white space characters.
- .PP
- With single character command verbs, you don't actually need to separate the
- command verb from the argument with white space, for historical reasons.
- You should anyway.
- .IP "ea"
- Toggle field alignment when printing out table elements.
- .IP "eC fIcaptionfR"
- Set the HTML3.0 table caption.
- .IP "econnect fIdbnamefR fIusernamefR"
- Establish a connection to a new database. The previous connection is closed.
- .IP "ecopy fItablefR {FROM | TO} fIfilenamefR"
- Perform a frontend copy. This is an operation that runs a SQL COPY command,
- but instead of the backend reading or writing a specified file, and
- consequently requiring special user privilege, psql reads or writes the
- file and routes the data to or from the backend. The default TAB
- delimiter is used.
- .IP "ed [fItablefR]"
- List tables in the database, or if
- .IR table
- is specified, list the columns in
- .IR table.
- If table name is
- .IR *,
- list all tables and column information for each tables.
- .IP "eda"
- List aggregates.
- .IP "edd object"
- List the description of the table, table.column, type, operator, or aggregate.
- .IP "edf"
- List functions.
- .IP "edi"
- List only indexes.
- .IP "edo"
- List operators.
- .IP "eds"
- List only sequences.
- .IP "edS"
- List system tables and indexes.
- .IP "edt"
- List only tables.
- .IP "edT"
- List types.
- .IP "ee [fIfilenamefR]"
- Edit the current query buffer or fIfilefR.
- .IP "eE [fIfilenamefR]"
- Edit the current query buffer or fIfilefR and execute it
- upon editor exit.
- .IP "ef [fIseparatorfR]"
- Set the field separator. Default is a single blank space.
- .IP "eg [fI|commandfR] | [fIfilenamefR]"
- Send the current query input buffer to the backend and optionally
- save the output in
- .IR filename
- or pipe the output into
- .IR "|command".
- .IP "eh [fIcommandfR]"
- Give syntax help on the specified SQL command. If the
- .IR command
- is not specified, list all the commands for which syntax help is
- available. If the
- .IR command
- is
- .IR *,
- give syntax help on all SQL commands.
- .IP "eH"
- Toggle html3 output.
- .IP "ei fIfilenamefR"
- Read queries from
- .IR filename
- into the query input buffer.
- .IP "el"
- List all the databases in the server.
- .IP "em"
- Toggle old monitor-like table display.
- This is standard SQL output (i.e extra border characters).
- .IP "eo [fI|commandfR] | [fIfilenamefR]"
- Send query results to
- .IR filename .
- Or pipe into
- .IR command .
- If no arguments are specified, send query results to
- .IR stdout .
- .IP "ep"
- Print the current query buffer.
- .IP eq
- Quit the psql program.
- .IP "er"
- Reset(clear) the query buffer.
- .IP "es [fIfilenamefR]"
- Print or save the command line history to fIfilenamefR. (Only available if psql is
- configured to use readline)
- .IP "et"
- Toggle display of output column name headings and row count (defaults to on).
- .IP "eT"
- Set html3.0 <table ...> options.
- .IP "ex"
- Toggles extended row format mode. When enabled each row will have its column
- names printed on the left with the column values printed on the right.
- This is useful for rows which are otherwise too long to fit into
- one screen line. HTML row output mode supports this flag too.
- .IP "ew [fIfilenamefR]"
- Outputs current query buffer to
- .IR filename .
- .IP "ez"
- Produces a list of all tables in database with their appropriate ACLs
- (grant/revoke permissions) listed.
- .IP "e! [fIcommandfR]"
- Escape to shell or execute
- .IR command.
- .IP e?
- Get help information about the e commands.
- .SH "ENVIRONMENT VARIABLES"
- There are some environment variables which can be used in liu of
- command line arguments; these are detailed below.
- Additionally, the Postgres frontend library used by the psql application
- looks for other optional environment variables to configure, for example,
- the style of date/time representation and the local time zone. Refer
- to libpq(3) for more details.
- .PP
- You may set any of the following environment variables to avoid
- specifying command-line options:
- .nf
- hostname: PGHOST
- port: PGPORT
- tty: PGTTY
- options: PGOPTION
- realm: PGREALM
- .fi
- Setting PGHOST to a non-zero-length string causes TCP/IP communication
- to be used, rather than the default local Unix domain sockets.
- .PP
- If
- .SM PGOPTION
- is specified, then the options it contains are parsed
- .BR before
- any command-line options.
- .PP
- .SM PGREALM
- only applies if
- .IR Kerberos
- authentication is in use. If this environment variable is set, Postgres
- will attempt authentication with servers for this realm and use
- separate ticket files to avoid conflicts with local ticket files.
- .SH "RETURN VALUE"
- .IR psql
- returns 0 to the shell on successful completion of all queries,
- 1 for errors, 2 for abrupt disconnection from the backend.
- .IR psql
- will also return 1 if the connection to a database could not be made for
- any reason.
- .SH "SEE ALSO"
- libpq(3),
- postgres(1),
- postmaster(1).