CONTENT
  • CHANGES
Szukaj
counter

#top psql


psql - PostgreSQL interactive terminal

Powiązane:
pg_dump, psql,

SYNOPSIS
psql [ option... ] [ dbname [ username ] ]


DESCRIPTION



OPTIONS
-a
--echo-all
Print all input lines to standard output as they are read. This is more useful for script processing rather than interactive mode. This is equivalent to setting the variable ECHO to all.

-A
--no-align
Switches to unaligned output mode. (The default output mode is otherwise aligned.)

-c command
--command command
Specifies that psql is to execute one command string, command, and then exit. This is useful in shell scripts.

command must be either a command string that is completely parsable by the server (i.e., it contains no psql specific features), or a single backslash command. Thus you cannot mix SQL and psql meta-commands. To achieve that, you could pipe the string into psql, like this: echo "\x \\ select * from foo;" | psql.

If the command string contains multiple SQL commands, they are processed in a single transaction, unless there are explicit BEGIN/COMMIT commands included in the string to divide it into multiple transactions. This is different from the behavior when the same string is fed to psql’s standard input.

-d dbname
--dbname dbname
Specifies the name of the database to connect to. This is equivalent to specifying dbname as the first non-option argument on the command line.

-e
--echo-queries
Copy all SQL commands sent to the server to standard output as well. This is equivalent to setting the variable ECHO to queries.

-E
--echo-hidden
Echo the actual queries generated by \d and other backslash commands. You can use this to study psql's internal operations. This is equivalent to setting the variable ECHO_HIDDEN from within psql.

-f filename
--file filename
Use the file filename as the source of commands instead of reading commands interactively. After the file is processed, psql terminates. This is in many ways equivalent to the internal command \i.

If filename is - (hyphen), then standard input is read.

Using this option is subtly different from writing psql < filename. In general, both will do what you expect, but using -f enables some nice features such as error messages with line numbers. There is also a slight chance that using this option will reduce the start-up overhead. On the other hand, the variant using the shell's input redirection is (in theory) guaranteed to yield exactly the same output that you would have gotten had you entered everything by hand.

-F separator
--field-separator separator
Use separator as the field separator for unaligned output. This is equivalent to \pset fieldsep or \f.

-h hostname
--host hostname
Specifies the host name of the machine on which the server is running. If the value begins with a slash, it is used as the directory for the Unix-domain socket.

-H
--html
Turn on HTML tabular output. This is equivalent to \pset format html or the \H command.

-l
--list List
all available databases, then exit. Other non-connection options are ignored. This is similar to the internal command \list.

-L filename
--log-file filename
Write all query output into file filename, in addition to the normal output destination.

-o filename
--output filename
Put all query output into file filename. This is equivalent to the command \o.

-p port
--port port
Specifies the TCP port or the local Unix-domain socket file extension on which the server is listening for connections. Defaults to the value of the PGPORT environment variable or, if not set, to the port specified at compile time, usually 5432.

-P assignment
--pset assignment
Allows you to specify printing options in the style of \pset on the command line. Note that here you have to separate name and value with an equal sign instead of a space. Thus to set the output format to LaTeX, you could write -P format=latex.

-q
--quiet
Specifies that psql should do its work quietly. By default, it prints welcome messages and various informational output. If this option is used, none of this happens. This is useful with the -c option. Within psql you can also set the QUIET variable to achieve the same effect.

-R separator
--record-separator separator
Use separator as the record separator for unaligned output. This is equivalent to the \pset recordsep command.

-s
--single-step
Run in single-step mode. That means the user is prompted before each command is sent to the server, with the option to cancel execution as well. Use this to debug scripts.

-S
--single-line
Runs in single-line mode where a newline terminates an SQL command, as a semicolon does.

Note: This mode is provided for those who insist on it, but you are not necessarily encouraged to use it. In particular, if you mix SQL and meta-commands on a line the order of execution might not always be clear to the inexperienced user.

-t
--tuples-only
Turn off printing of column names and result row count footers, etc. This is equivalent to the \t command.

-T table_options
--table-attr table_options
Allows you to specify options to be placed within the HTML table tag. See \pset for details.

-u
Forces psql to prompt for the user name and password before connecting to the database.

This option is deprecated, as it is conceptually flawed. (Prompting for a non-default user name and prompting for a password because the server requires it are really two different things.) You are encouraged to look at the -U and -W options instead.

-U username
--username username
Connect to the database as the user username instead of the default. (You must have permission to do so, of course.)

-v assignment
--set assignment

--variable assignment
Perform a variable assignment, like the \set internal command. Note that you must separate name and value, if any, by an equal sign on the command line. To unset a variable, leave off the equal sign. To just set a variable without a value, use the equal sign but leave off the value. These assignments are done during a very early stage of start-up, so variables reserved for internal purposes might get overwritten later.

-V
--version
Print the psql version and exit.

-W
--password
Forces psql to prompt for a password before connecting to a database.

psql should automatically prompt for a password whenever the server requests password authentication. However, currently password request detection is not totally reliable, hence this option to force a prompt. If no password prompt is issued and the server requires password authentication, the connection attempt will fail.

This option will remain set for the entire session, even if you change the database connection with the meta-command \connect.

-x
--expanded
Turn on the expanded table formatting mode. This is equivalent to the \x command.

-X,
--no-psqlrc
Do not read the start-up file (neither the system-wide psqlrc file nor the user’s ~/.psqlrc file).

-?
--help
Show help about psql command line arguments, and exit.




EXAMPLES
(8.1) psql - non-interactive without prompting for password
touch $HOME/.pgpass
chmod go-rwx $HOME/.pgpass
echo "hostname:port:database:username:password" >> $HOME/.pgpass
psql -h hostname -U username database
echo "10.41.0.50:5432:nagios3:nagios3:nagios3" >> $HOME/.pgpass
psql -h 10.41.0.50 -U nagios3 nagios3

(8.4) psql - non-interactive without prompting for password
psql "host=hostname user=username password=password dbname=database"
psql "host=10.41.0.50 user=nagios3 password=nagios3 dbname=nagios3"

How to turn off header only in psql (postgresql)
\pset tuples_only Turn off printing of column names and result row count footers, etc. This is equivalent to the \t command.
\pset footer off Toggles the display of the default footer (x rows).
\pset pager pager Controls use of a pager for query and psql help output. If the environment variable PAGER is set, the output is piped to the specified program. Otherwise a platform-dependent default (such as more) is used. When the pager is off, the pager is not used. When the pager is on, the pager is used only when appropriate, i.e. the output is to a terminal and will not fit on the screen. (psql does not do a perfect job of estimating when to use the pager.) \pset pager turns the pager on and off. Pager can also be set to always, which causes the pager to be always used.




Zmodyfikowany ostatnio: 2014/05/15 10:38:15 (9 lat temu), textsize: 10,8 kB, htmlsize: 12,3 kB

Zapraszam do komentowania, zgłaszania sugestii, propozycji, własnych przykładów, ...
Dodaj komentarzKomentarze użytkowników