PostgreSQL, , , , PGHOST, PGPORT PGUSER , . PGPASSWORD , . PSQL 9.2 :
PSQL_HISTORY
Sets the name of the psql history file that lists all commands executed in the recent
past. The default is ~/.psql_history.
PSQLRC
.
, PSQL . ,
. pgAdmin, Psql ( " Psql pgAdmin" 61). pgAdmin PSQL .
PSQL
Psql , Psql . Psql , PSQL . . SQL . Enter , PSQL , .
Typing \? Psql . , , ; "Psql " 199. Typing \ h PostgreSQL, .
Psql , Psql .
SQL PSQL. SQL .
PSQL . , ,
pgAgent ( " pgAgent" 73), Linux / Unix crontab, Windows. , , PSQL. -, , . , -f:
psql -f some_script_file
SQL , -c. :
psql -d postgresql_book -c "DROP TABLE IF EXISTS dross; CREATE SCHEMA staging;"
|
|
"Psql " 201.
. , 3-1, build_stage.psql:
3-1. Psql
\a \t
SELECT 'CREATE TABLE
staging.count_to_50 (array_to_string(array_agg('x' || i::text ' varchar(10)));' As
create_sql
FROM generate_series(1,9) As i;
\g create_script.sql
\i create_script.sql
, \t. \a (), PSQL (in).
VARCHAR.
\g , .
\i . \i
-f.
3-1, :
psql -f build_stage.psql -d postgresql_book
3-1 N- . , DO PostgreSQL 9.0.
PSQL
PSQL, Psql . PSQL psqlrc, . PSQL , .
Linux / Unix, , , .psqlrc . Windows psqlrc.conf % APPDATA
% \ PostgreSQL , , :C:\Users\username\AppData\Roaming\postgresql. , ; , , . , Psql .
( Psql documentaion).
psqlrc 3-2. PSQL .
3-2. psqlrc
\pset null 'NULL'
\encoding latin1
\set PROMPT1 '%n@%M:%>%x %/# '
\pset pager always
\timing on
\set qstats92 'SELECT usename, datname, left(query,100) || ''...'' As query
FROM pg_stat_activity WHERE state!= ''idle'';'
. , qstats92 3-2 . , .
Psql , :
Null display is "NULL".
Timing is on.
Pager is always used.
psql (9.3.2)
Type "help" for help.
postgres@localhost:5442 postgresql_book#
Linux / Unix , Windows, . OS, Linux / Unix () , , . Psql psqlrc, -X.
, \unset , : \unset qstat92.
PSQL. psqlrc , . psqlrc .psqlrc.
|
|
PSQL , , \connect. , , . psqlrc, :
\set PROMPT1 '%n@%M:%>%x %/# '
, (% n), (% M), (%>),
(% ), (% /). , . PSQL .
PSQL , :
postgres@localhost:5442 postgresql_book#
\ Connect postgis_book, :
postgres@localhost:5442 postgis_book#
Executions
, Psql , . \timing .
, , . \timing SELECT COUNT(*) FROM pg_tables; outputs:
count
--------
(1 row)
Time: 18.650 ms
Autocommit
, AUTOCOMMIT is on, SQL , . . , . AutoCommit: \set AUTOCOMMIT off. :
UPDATE census.facts SET short_name = 'This is a mistake.';
, :
ROLLBACK;
,
COMMIT;
; , , PSQL.
\set () . psqlrc . , EXPLAIN ANALYZE VER BOSE 10 , , :
\set eav 'EXPLAIN ANALYZE VERBOSE'
, EXPLAIN ANALYZE VERBOSE, : eav ( ):
:eav SELECT COUNT(*) FROM pg_tables;
psqlrc , qstats91 qstats92. , , Psql, .
, , psql -mands. HISTSIZE , . , \set () HISTSIZE 10 10 .
im‐portant, :
\set HISTFILE ~/.psql_history-:HOST -:DBNAME
, Unix, Cygwin.
psql
, Psql.