Commit Graph

215 Commits

Author SHA1 Message Date
Bruce Momjian c5ba11f8fb Move upgrade instructions into its own section under "Server Setup and
Operation", merged from upgrade sections in "Installation from Source
Code" and "Backup and Restore".  This now gives a single place for all
upgrade information.
2011-01-31 12:32:03 -05:00
Heikki Linnakangas 997b48ed96 Support multiple concurrent pg_basebackup backups.
With this patch, pg_basebackup doesn't write a backup_label file in the
data directory, so it doesn't interfere with a pg_start/stop_backup() based
backup anymore. backup_label is still included in the backup, but it is
injected directly into the tar stream.

Heikki Linnakangas, reviewed by Fujii Masao and Magnus Hagander.
2011-01-31 18:25:39 +02:00
Bruce Momjian 5d5678d7c3 Properly capitalize documentation headings; some only had initial-word
capitalization.
2011-01-29 13:01:48 -05:00
Magnus Hagander 048d148fe6 Add pg_basebackup tool for streaming base backups
This tool makes it possible to do the pg_start_backup/
copy files/pg_stop_backup step in a single command.

There are still some steps to be done before this is a
complete backup solution, such as the ability to stream
the required WAL logs, but it's still usable, and
could do with some buildfarm coverage.

In passing, make the checkpoint request optionally
fast instead of hardcoding it.

Magnus Hagander, reviewed by Fujii Masao and Dimitri Fontaine
2011-01-23 12:21:23 +01:00
Bruce Momjian 7276ab5888 Document that a CHECKPOINT before taking a file system snapshot can
reduce recovery time.
2010-11-24 18:41:28 -05:00
Magnus Hagander 9f2e211386 Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Bruce Momjian df57a5e898 Don't try aligning comments for new archive_command Win32 doc example;
it doesn't work.

Backpatch to 9.0.X.
2010-09-13 01:35:46 +00:00
Bruce Momjian 39fa4d0b31 Re-add documentation for Win32 copy syntax for archive_command.
Backpatch to 9.0.X.
2010-09-12 13:47:12 +00:00
Tom Lane f0f46ed66a Assorted improvements to backup/restore documentation, per Thom Brown. 2010-08-15 23:04:49 +00:00
Itagaki Takahiro 3fd839950a Replace "slave" to "standby" in documentation for consistent terminology.
Almost all of the terms in docs and messages were replaced, but still
remains in a few comments and README files in codes.
2010-06-07 02:01:09 +00:00
Heikki Linnakangas f35951619c Add cross-reference from wal_level to hot_standby setting. Update
the PITR documentation to mention that you need to set wal_level to
'archive' or 'hot_standby', to enable WAL archiving. Per Simon's request.
2010-05-03 09:14:17 +00:00
Tom Lane 69f7a4d8e3 Adjust error checks in pg_start_backup and pg_stop_backup to make it possible
to perform a backup without archive_mode being enabled.  This gives up some
user-error protection in order to improve usefulness for streaming-replication
scenarios.  Per discussion.
2010-04-29 21:49:03 +00:00
Heikki Linnakangas 9b8a73326e Introduce wal_level GUC to explicitly control if information needed for
archival or hot standby should be WAL-logged, instead of deducing that from
other options like archive_mode. This replaces recovery_connections GUC in
the primary, where it now has no effect, but it's still used in the standby
to enable/disable hot standby.

Remove the WAL-logging of "unlogged operations", like creating an index
without WAL-logging and fsyncing it at the end. Instead, we keep a copy of
the wal_mode setting and the settings that affect how much shared memory a
hot standby server needs to track master transactions (max_connections,
max_prepared_xacts, max_locks_per_xact) in pg_control. Whenever the settings
change, at server restart, write a WAL record noting the new settings and
update pg_control. This allows us to notice the change in those settings in
the standby at the right moment, they used to be included in checkpoint
records, but that meant that a changed value was not reflected in the
standby until the first checkpoint after the change.

Bump PG_CONTROL_VERSION and XLOG_PAGE_MAGIC. Whack XLOG_PAGE_MAGIC back to
the sequence it used to follow, before hot standby and subsequent patches
changed it to 0x9003.
2010-04-28 16:10:43 +00:00
Robert Haas ee7769bb76 Update docs as to when WAL logging can be skipped.
In 8.4 and prior, WAL-logging could potentially be skipped whenever
archive_mode=off.  With streaming replication, this is now true only
if max_wal_senders=0.

Fujii Masao, with light copyediting by me
2010-04-20 00:26:06 +00:00
Bruce Momjian 202c655810 Spell out full archive directory specification in 'test -f' continuous
archiving example, per suggestion from Greg Smith.
2010-04-12 19:08:28 +00:00
Peter Eisentraut 6dcce3985b Remove unnecessary xref endterm attributes and title ids
The endterm attribute is mainly useful when the toolchain does not support
automatic link target text generation for a particular situation.  In  the
past, this was required by the man page tools for all reference page links,
but that is no longer the case, and it now actually gets in the way of
proper automatic link text generation.  The only remaining use cases are
currently xrefs to refsects.
2010-04-03 07:23:02 +00:00
Bruce Momjian 399ea9e7a5 Change test -e to test -f in docs, for portability. 2010-04-01 13:52:56 +00:00
Bruce Momjian 570e01becc Use test -e rather than test -f. 2010-04-01 00:31:00 +00:00
Bruce Momjian d93e4d819c Revert change that prevented ellipses from looking like ../. 2010-03-31 23:51:41 +00:00
Bruce Momjian c2af244021 Clarify ellipses use in archive_command example, per Josh Kupershmidt. 2010-03-31 23:39:15 +00:00
Bruce Momjian cba3498596 Document why 'cp -i </dev/null' is suggested for archive command. 2010-03-31 23:35:19 +00:00
Bruce Momjian dd1486ccd4 Briefly document in two places that pg_dump and pg_dumpall cannot be
used for continuous archiving.
2010-02-22 17:15:10 +00:00
Heikki Linnakangas 3229db2d42 Move documentation of all recovery.conf option to a new chapter.
They used to be scattered between the "backup and restore" and "streaming
replication" chapters.
2010-02-22 11:47:30 +00:00
Bruce Momjian a70d039104 Hot Standby documentation updates
Greg Smith
2010-02-19 00:15:25 +00:00
Heikki Linnakangas 8740fe7136 Move "Warm Standby Servers for High Availability" and "Hot Standby"
sections under "High Availability, Load Balancing, and Replication"
chapter. Streaming replication chapter needs a lot more work, but this
commit just moves things around.
2010-02-09 16:50:25 +00:00
Bruce Momjian bf62b1a078 Proofreading improvements for the Administration documentation book. 2010-02-03 17:25:06 +00:00
Peter Eisentraut fd7673bc4e Make the default pg_hba.conf and pg_ident.conf align at 8-character boundaries
to make it easier to use with tabs.
2010-01-26 06:45:31 +00:00
Magnus Hagander 74f4be6c04 Add missing closing tag. 2010-01-24 14:46:01 +00:00
Simon Riggs 959ac58c04 In HS, Startup process sets SIGALRM when waiting for buffer pin. If
woken by alarm we send SIGUSR1 to all backends requesting that they
check to see if they are blocking Startup process. If so, they throw
ERROR/FATAL as for other conflict resolutions. Deadlock stop gap
removed. max_standby_delay = -1 option removed to prevent deadlock.
2010-01-23 16:37:12 +00:00
Heikki Linnakangas 40f908bdcd Introduce Streaming Replication.
This includes two new kinds of postmaster processes, walsenders and
walreceiver. Walreceiver is responsible for connecting to the primary server
and streaming WAL to disk, while walsender runs in the primary server and
streams WAL from disk to the client.

Documentation still needs work, but the basics are there. We will probably
pull the replication section to a new chapter later on, as well as the
sections describing file-based replication. But let's do that as a separate
patch, so that it's easier to see what has been added/changed. This patch
also adds a new section to the chapter about FE/BE protocol, documenting the
protocol used by walsender/walreceivxer.

Bump catalog version because of two new functions,
pg_last_xlog_receive_location() and pg_last_xlog_replay_location(), for
monitoring the progress of replication.

Fujii Masao, with additional hacking by me
2010-01-15 09:19:10 +00:00
Bruce Momjian 6ce4e4f39b Remove tabs in SGML file. 2010-01-12 02:33:45 +00:00
Simon Riggs f537e7dfa4 Docs for behaviour change of drop database during Hot Standby
Adding missing docs for previous Hot Standby patch.
2010-01-10 16:27:27 +00:00
Robert Haas 7d672e1e1d Fix two small typos in Hot Standby docs.
John Naylor
2009-12-20 03:49:58 +00:00
Bruce Momjian 7ba1f8fcb5 Convert tabs to spaces in SGML. 2009-12-19 17:49:50 +00:00
Simon Riggs efc16ea520 Allow read only connections during recovery, known as Hot Standby.
Enabled by recovery_connections = on (default) and forcing archive recovery using a recovery.conf. Recovery processing now emulates the original transactions as they are replayed, providing full locking and MVCC behaviour for read only queries. Recovery must enter consistent state before connections are allowed, so there is a delay, typically short, before connections succeed. Replay of recovering transactions can conflict and in some cases deadlock with queries during recovery; these result in query cancellation after max_standby_delay seconds have expired. Infrastructure changes have minor effects on normal running, though introduce four new types of WAL record.

New test mode "make standbycheck" allows regression tests of static command behaviour on a standby server while in recovery. Typical and extreme dynamic behaviours have been checked via code inspection and manual testing. Few port specific behaviours have been utilised, though primary testing has been on Linux only so far.

This commit is the basic patch. Additional changes will follow in this release to enhance some aspects of behaviour, notably improved handling of conflicts, deadlock detection and query cancellation. Changes to VACUUM FULL are also required.

Simon Riggs, with significant and lengthy review by Heikki Linnakangas, including streamlined redesign of snapshot creation and two-phase commit.

Important contributions from Florian Pflug, Mark Kirkwood, Merlin Moncure, Greg Stark, Gianni Ciolli, Gabriele Bartolini, Hannu Krosing, Robert Haas, Tatsuo Ishii, Hiroyuki Yamada plus support and feedback from many other community members.
2009-12-19 01:32:45 +00:00
Alvaro Herrera 05f43650fc Document that autovacuum may run ANALYZE 2009-08-07 20:54:31 +00:00
Tom Lane df858fe58a Marginal improvement of description of recovery_end_command. 2009-06-26 22:06:11 +00:00
Bruce Momjian 7aace98bf6 Remove sleep() from backup script example; not needed anymore.
Fujii Masao
2009-06-05 13:40:31 +00:00
Bruce Momjian fa89e18f09 Remove tabs from SGML file. 2009-05-27 12:28:55 +00:00
Heikki Linnakangas 9e403c2587 Add recovery_end_command option to recovery.conf. recovery_end_command
is run at the end of archive recovery, providing a chance to do external
cleanup. Modify pg_standby so that it no longer removes the trigger file,
that is to be done using the recovery_end_command now.

Provide a "smart" failover mode in pg_standby, where we don't fail over
immediately, but only after recovering all unapplied WAL from the archive.
That gives you zero data loss assuming all WAL was archived before
failover, which is what most users of pg_standby actually want.

recovery_end_command by Simon Riggs, pg_standby changes by Fujii Masao and
myself.
2009-05-14 20:31:09 +00:00
Bruce Momjian ba36c48e39 Proofreading adjustments for first two parts of documentation (Tutorial
and SQL).
2009-04-27 16:27:36 +00:00
Tom Lane 387060951e Add an optional parameter to pg_start_backup() that specifies whether to do
the checkpoint in immediate or lazy mode.  This is to address complaints
that pg_start_backup() takes a long time even when there's no need to minimize
its I/O consumption.
2009-04-07 00:31:26 +00:00
Tom Lane df8684c56f Remove documentation of log_restartpoints setting, which is obsoleted
in favor of log_checkpoints.  Fujii Masao
2009-03-05 19:50:03 +00:00
Bruce Momjian afe8ac2078 Document how pglesslog can be used to reduce the storage requirements of PITR. 2009-01-13 00:54:11 +00:00
Tom Lane 1d577f5e49 Add a startup check that pg_xlog and pg_xlog/archive_status exist.
If the latter doesn't exist, automatically recreate it.  (We don't do
this for pg_xlog, though, per discussion.)

Jonah Harris
2008-11-09 17:51:15 +00:00
Bruce Momjian 8d7af89016 Properly document archive/restore command examples on Windows.
ITAGAKI Takahiro
2008-07-18 17:33:17 +00:00
Bruce Momjian d34cf008a9 Backup wording improvement.
Joshua D. Drake
2008-06-23 22:15:17 +00:00
Bruce Momjian d44523638a Document that continuous archiving backup can be used for cases where
you can't get a simultaneous snapshot.
2008-04-09 02:52:04 +00:00
Bruce Momjian 2a1cf97c22 Have pg_stop_backup() wait for all archive files to be sent, rather than
returing right away.  This guarantees that when pg_stop_backup()
returns, you have a valid backup.

Simon Riggs
2008-04-05 01:34:06 +00:00
Heikki Linnakangas 958db06181 Clarify documentation on PITR and warm standby on the fact that the standby
restore_command should report failure on non-existent .backup and .history
files. Tidy up some related text along the way.

Patch by Markus Bertheau, with some editing by Simon Riggs and myself.
2008-03-28 15:00:28 +00:00
Bruce Momjian 588d213a92 Clearify PITR doc wording. 2008-03-07 01:46:41 +00:00
Bruce Momjian 74de091473 Add section to Migration talking about typical areas that change between
major releases.
2008-02-13 22:44:06 +00:00
Tom Lane 1570d0467a Provide a concrete example of parameter expansion in archive_command.
Per discussion of bug #3877.  Simon Riggs, some fixes by moi.
2008-01-23 20:21:37 +00:00
Bruce Momjian 3791d26d4b Update archive_command example to use || test, rather than if []. 2007-12-17 09:03:52 +00:00
Tom Lane 8e179aeb9e Some desultory copy-editing on the backup/restore docs. 2007-12-17 04:30:05 +00:00
Andrew Dunstan 780f50dae9 Fix example archive_command for standalone backups so it doesn't return spurious non-zero. 2007-12-15 15:41:02 +00:00
Bruce Momjian 6559c4a202 Add additional PITR documentation.
Simon Riggs
2007-11-28 22:35:54 +00:00
Peter Eisentraut 9293425819 spell checker run 2007-11-28 15:42:31 +00:00
Bruce Momjian cb0d539d05 Mention Slony as just an example. 2007-10-16 19:44:18 +00:00
Bruce Momjian 4fef90dfed Add doc clarifications for warm standby. 2007-10-16 14:56:51 +00:00
Bruce Momjian 59dc5d0e11 Slony switch is only seconds of downtime. 2007-10-16 05:37:40 +00:00
Bruce Momjian e61d252152 Add mention of Slony for in-place upgrades. 2007-10-16 02:48:57 +00:00
Tom Lane b46bd55a6c Make archive recovery always start a new timeline, rather than only when a
recovery stop time was used.  This avoids a corner-case risk of trying to
overwrite an existing archived copy of the last WAL segment, and seems
simpler and cleaner all around than the original definition.  Per example
from Jon Colverson and subsequent analysis by Simon.
2007-09-29 01:36:10 +00:00
Tom Lane f18dfc4835 Minor improvements in backup and recovery:
- create a separate archive_mode GUC, on which archive_command is dependent

- %r option in recovery.conf sends last restartpoint to recovery command

- %r used in pg_standby, updated README

- minor other code cleanup in pg_standby

- doc on Warm Standby now mentions pg_standby and %r

- log_restartpoints recovery option emits LOG message at each restartpoint

- end of recovery now displays last transaction end time, as requested
  by Warren Little; also shown at each restartpoint

- restart archiver if needed to carry away WAL files at shutdown

Simon Riggs
2007-09-26 22:36:30 +00:00
Bruce Momjian fc79628641 Clarify tar documentation about return error codes.
Backpatch to 8.2.X.
2007-09-14 13:26:22 +00:00
Bruce Momjian edc18429bd Update GNU tar error code documentation.
Backpatch to 8.2.X.
2007-09-14 04:15:50 +00:00
Bruce Momjian 5fb01d829a Update docs that GNU tar versions >=1.16 exit with 1 on files changed, 2
on other errors.
2007-07-16 22:20:51 +00:00
Tom Lane 4303c0fdbf Add a note that pg_start_backup will take awhile because of new
distributed checkpoint behavior.  Explain how to work around this
by issuing a manual CHECKPOINT command.  Per discussion with Heikki.
2007-06-29 15:46:21 +00:00
Bruce Momjian 09a9f10e7f Consistenly use colons before '<programlisting>' blocks, where
appropriate.
2007-02-01 00:28:19 +00:00
Bruce Momjian a134ee3379 Update documentation on may/can/might:
Standard English uses "may", "can", and "might" in different ways:

        may - permission, "You may borrow my rake."

        can - ability, "I can lift that log."

        might - possibility, "It might rain today."

Unfortunately, in conversational English, their use is often mixed, as
in, "You may use this variable to do X", when in fact, "can" is a better
choice.  Similarly, "It may crash" is better stated, "It might crash".

Also update two error messages mentioned in the documenation to match.
2007-01-31 20:56:20 +00:00
Tom Lane b02414bb82 Editorial improvements to backup and warm-standby documentation. 2006-12-01 03:29:15 +00:00
Tom Lane 792d6edd5b Clean up some misleading references to %p being a full path, per Simon. 2006-11-10 22:32:20 +00:00
Tom Lane 6fada49805 Correct documentation error: in 8.1 and 8.2, %p in archive and restore
command strings inserts relative not absolute path of file to process.
This is a side-effect of 2005-07-04 change that makes the server use
relative paths in general.  Noted by Bernd Helmle.
2006-11-04 18:20:27 +00:00
Neil Conway e45edb35e1 Fix typo in backup docs. Patch from Euler Taveira de Oliveira. 2006-10-30 00:08:02 +00:00
Peter Eisentraut 0f763503ff Spellchecking and such 2006-10-23 18:10:32 +00:00
Neil Conway bfc6e9c970 Make some incremental improvements and fixes to the documentation on
Continuous Archiving. Plenty of editorial work remains...
2006-10-12 19:38:08 +00:00
Bruce Momjian 5d52ad9dc8 Update recovery documentation.
Simon Riggs
2006-10-02 22:33:02 +00:00
Neil Conway f7ea4eeed6 Document how to use psql's --single-transaction option to rollback restoring
an SQL dump if an error occurs. Along the way, make some improvements and
copy-edits to the surrounding text. Patch from Simon Riggs, additional
fixes by Neil Conway.
2006-09-19 19:04:51 +00:00
Neil Conway 48fe137425 Minor additions and typo fixes for the backup documentation. Patch from
Simon Riggs, minor editorialization by Neil Conway.
2006-09-19 15:18:41 +00:00
Bruce Momjian 32cebaecff Remove emacs info from footer of SGML files. 2006-09-16 00:30:20 +00:00
Bruce Momjian 5e550acbc4 Document Warm Standby for High Availability
Includes sample standby script.

Simon Riggs
2006-09-15 22:02:21 +00:00
Bruce Momjian 075c0caa90 Document WAL recovery now uses checkpoints.
Simon Riggs
2006-09-15 21:55:07 +00:00
Tom Lane e8ea9e9587 Implement archive_timeout feature to force xlog file switches to occur no more
than N seconds apart.  This allows a simple, if not very high performance,
means of guaranteeing that a PITR archive is no more than N seconds behind
real time.  Also make pg_current_xlog_location return the WAL Write pointer,
add pg_current_xlog_insert_location to return the Insert pointer, and fix
pg_xlogfile_name_offset to return its results as a two-element record instead
of a smashed-together string, as per recent discussion.

Simon Riggs
2006-08-17 23:04:10 +00:00
Tom Lane 704ddaaa09 Add support for forcing a switch to a new xlog file; cause such a switch
to happen automatically during pg_stop_backup().  Add some functions for
interrogating the current xlog insertion point and for easily extracting
WAL filenames from the hex WAL locations displayed by pg_stop_backup
and friends.  Simon Riggs with some editorialization by Tom Lane.
2006-08-06 03:53:44 +00:00
Peter Eisentraut 5266f221a2 Merge postmaster and postgres command into just postgres. postmaster
symlink is kept for now for compatibility.  To call single-user mode, use
postgres --single.
2006-06-18 15:38:37 +00:00
Bruce Momjian efe3de07e9 Removes or minimizes some documentation mentions of backward
compatibility for release 7.2 and earlier.  I have not altered any
mentions of release 7.3 or later.  The release notes were not modified,
so the changes are still documented, just not in the main docs.
2006-04-23 03:39:52 +00:00
Bruce Momjian 497b5ad928 Make $PostgreSQL CVS tags consistent for SGML files. 2006-03-10 19:10:50 +00:00
Bruce Momjian 43e9bab94a Rename Online Backup to Continuous Archiving. 2006-03-03 22:02:08 +00:00
Bruce Momjian eb8f9cc066 Mention that the archive history file has the wal start/stop file names. 2006-02-24 14:03:01 +00:00
Tom Lane 2a8d3d83ef R-tree is dead ... long live GiST. 2005-11-07 17:36:47 +00:00
Peter Eisentraut 39dfbe5791 Spellchecking run, final cleanups 2005-11-04 23:14:02 +00:00
Tom Lane 4a309defb4 Add info about using rsync to make base backups. Per report from
Jeff Frost, it may be necessary to ignore specific exit codes.
2005-10-26 20:42:35 +00:00
Tom Lane c3a7b0577b Add a note about GNU tar's propensity to complain if a file changes
while tar is copying it.  This behavior is unhelpful when taking a base
backup.  Per gripe from Pallav Kalva back in April.
2005-10-22 22:09:49 +00:00
Tom Lane f72a342fb7 Copy-editing for recent documentation changes relevant to WAL,
full_page_writes, etc.
2005-10-22 21:56:07 +00:00
Alvaro Herrera 1b5cd6dcdc Fix typo. 2005-10-15 01:15:33 +00:00
Bruce Momjian 165565cd94 Some additional doc changes based around compression of page images in
WAL and the interaction of the new full_page_writes parameter with PITR.

The too-small WAL first sect1 has been merged with the one following
sect1 for clarity.

Some minor comments have been made in the WAL config section also.

Passes SGML make and proofread for typos.
Files changed:
patching file doc/src/sgml/backup.sgml
patching file doc/src/sgml/config.sgml
patching file doc/src/sgml/wal.sgml

Simon Riggs
2005-10-13 17:32:42 +00:00
Tom Lane fbcbc5d06f Force a checkpoint before committing a CREATE DATABASE command. This
should fix the recent reports of "index is not a btree" failures,
as well as preventing a more obscure race condition involving changes
to a template database just after copying it with CREATE DATABASE.
2005-06-25 22:47:29 +00:00
Tom Lane 7a28de2052 pg_dump can now dump large objects even in plain-text output mode, by
using the recently added lo_create() function.  The restore logic in
pg_restore is greatly simplified as well, since there's no need anymore
to try to adjust database references to match a new set of blob OIDs.
2005-06-21 20:45:44 +00:00
Tom Lane 6f7fc0bade Cause initdb to create a third standard database "postgres", which
unlike template0 and template1 does not have any special status in
terms of backend functionality.  However, all external utilities such
as createuser and createdb now connect to "postgres" instead of
template1, and the documentation is changed to encourage people to use
"postgres" instead of template1 as a play area.  This should fix some
longstanding gotchas involving unexpected propagation of database
objects by createdb (when you used template1 without understanding
the implications), as well as ameliorating the problem that CREATE
DATABASE is unhappy if anyone else is connected to template1.
Patch by Dave Page, minor editing by Tom Lane.  All per recent
pghackers discussions.
2005-06-21 04:02:34 +00:00
Tom Lane f0e7f9e30b Update text that stated GiST indexes aren't WAL-logged. 2005-06-20 13:52:17 +00:00