1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
|
= pg_staging(5) =
== NAME ==
pg_staging - Prepare a staging environment from http accessible backups
== SYNOPSIS ==
[GLOBAL]
[database_name.env]
== DESCRIPTION ==
Configuration file is a +.ini+ containing several sections: first a GLOBAL
section containing common options to the following sections, then a section
per target database.
== SECTIONS ==
The +[DEFAULT]+ section allows to provide default values for any setting
describe here, that you can override in any of the specific sections.
Each specific section represent a target database to restore. The options
will allow to say from which backup and on which host. The +host+ knob is
used in commands such as +pg_restore+, +scp+ and +ssh+, so can be either an
+ip+ address or a +hostname+ (+resolv.conf+ applies).
== OPTIONS ==
backup_host::
Which host to connect to to fetch the backup file. +HTTP+ only.
backup_base_url::
Path leading to the backup for the section's database. The database
dump file will get expanded to +dbname.`date -I`.dump+, this is not
(yet?) configurable as of version +0.5+.
dumpall_url::
Path to the cluster +pg_dumpall -g+ accompanying file,
e.g. +8.2-main.globals.sql+.
host::
Target where to restore the dump file and manage +pgbouncer+ setup.
dbname::
Database name, will get appended by the backup date to form a
+dbname_YYYYMMDD+ name.
dbowner::
Owner of the database to get restored.
dbuser::
Maintenance database role used in the connections to create or drop
databases.
maintdb::
Maintenance database to connect to, usually +postgres+.
db_encoding::
Database encoding to use in the following statement:
+
CREATE DATABASE ... WITH OWNER "..." ENCODING '...';
postgres_port::
PostgreSQL port to use in +pgbouncer+ configuration file.
postgres_major::
Major version of +postgresql+, allows to choose the +pg_restore+
binary with the default settings.
pgbouncer_port::
+pgbouncer+ port to connect to, used for all +pg_staging+
operations.
pgbouncer_conf::
Configuration file name for +pgbouncer+, e.g.
+/etc/pgbouncer/pgbouncer.ini/
remove_dump::
boolean (+True+ or +False+) to control if +pg_staging+ removes the
dump file after restore.
keep_bases::
How many databases to keep arround, +pg_staging+ drops less recent
databases. Not Yet Implemented as of +0.5+.
auto_switch::
boolean to control if +pg_staging+ switches +pgbouncer+
configuration at restore time
use_sudo::
boolean, used when invoking +staging-client.sh+
pg_restore::
/usr/lib/postgresql/%(postgres_major)s/bin/pg_restore
pg_restore_st::
boolean, use +--single-statement+ option (+-1+) in +pg_restore+.
restore_vacuum::
boolean, when true the +restore+ command will +VACUUM ANALYZE+ the
database.
restore_jobs::
Number of working process to use at the same time while
restoring. Will set the +-j+ option to +pg_restore+ and will not
check for you that you're using a +pg_restore+ client version +8.4+
or newer.
replication::
configuration filename where to setup the replication options.
tmpdir::
Directory where to fetch backup files, defaults to +/tmp+. Command
line argument +-t+ will override +.ini+ setting.
sql_path::
Directory where to dispose +SQL+ files to be sourced with the +psql+
utility, in alphabetical order. This directory may contain a +pre+
and a +post+ subdirectories containing files following the shell
+*.sql+ global pattern. No subdirectory of +pre+ and +post+ will get
walked into. The name of the section using the files will always get
expanded to the given +sql_path+.
schemas::
List of schema (comma separated) to restore. If present, any schema
not listed here nor in +schemas_nodata+ will get filtered out from
the +pg_restore+ catalog.
search_path::
List of schemas (comma separated) to add to the database
+search_path+, using the +SQL+ command +ALTER DATABASE self.dbname
SET search_path TO +.
schemas_nodata::
List of schema (comma separated) to restore without content. The
+pg_restore+ catalog +TABLE DATA+ sections will get filtered out.
== EXAMPLE ==
[DEFAULT]
backup_host = backup1.backbone
dbuser = postgres
maintdb = postgres
postgres_port = 5432
postgres_major = 8.3
pgbouncer_port = 6432
pgbouncer_conf = /etc/pgbouncer/pgbouncer.ini
remove_dump = True
keep_bases = 2
auto_switch = True
use_sudo = True
pg_restore = /usr/lib/postgresql/%(postgres_major)s/bin/pg_restore
pg_restore_st = True
restore_vacuum = True
restore_jobs = 1
replication = replication.ini
[allopass_db.dev]
backup_base_url = /PostgreSQL/allopass_db/nightly/
dumpall_url = /PostgreSQL/clusters/bdd.allopass/8.2-main.globals.sql
host = bdd.allopass.dev
postgres_major = 8.2
dbname = allopass_db
dbowner = root
schemas = public, payment, utils, jdb
== SEE ALSO ==
`pg_staging(1)`
== AUTHOR ==
+pg_staging+ is written by Dimitri Fontaine <dim@tapoueh.org>.
|