OSDN Git Service
Tom Lane [Wed, 21 Apr 2010 00:51:57 +0000 (00:51 +0000)]
Move the check for whether walreceiver has authenticated as a superuser
from walsender.c, where it didn't really belong, to postinit.c where it does
belong (and is essentially free, too).
Tom Lane [Tue, 20 Apr 2010 23:48:47 +0000 (23:48 +0000)]
Arrange for client authentication to occur before we select a specific
database to connect to. This is necessary for the walsender code to work
properly (it was previously using an untenable assumption that template1 would
always be available to connect to). This also gets rid of a small security
shortcoming that was introduced in the original patch to eliminate the flat
authentication files: before, you could find out whether or not the requested
database existed even if you couldn't pass the authentication checks.
The changes needed to support this are mainly just to treat pg_authid and
pg_auth_members as nailed relations, so that we can read them without having
to be able to locate real pg_class entries for them. This mechanism was
already debugged for pg_database, but we hadn't recognized the value of
applying it to those catalogs too.
Since the current code doesn't have support for accessing toast tables before
we've brought up all of the relcache, remove pg_authid's toast table to ensure
that no one can store an out-of-line toasted value of rolpassword. The case
seems quite unlikely to occur in practice, and was effectively unsupported
anyway in the old "flatfiles" implementation.
Update genbki.pl to actually implement the same rules as bootstrap.c does for
not-nullability of catalog columns. The previous coding was a bit cheesy but
worked all right for the previous set of bootstrap catalogs. It does not work
for pg_authid, where rolvaliduntil needs to be nullable.
Initdb forced due to minor catalog changes (mainly the toast table removal).
Tom Lane [Tue, 20 Apr 2010 22:55:03 +0000 (22:55 +0000)]
Fix code that doesn't work on machines with strict alignment requirements:
must use memcpy here rather than struct assignment.
In passing, rearrange some randomly-ordered declarations to be a tad less
random.
Robert Haas [Tue, 20 Apr 2010 11:15:06 +0000 (11:15 +0000)]
Rename standby_keep_segments to wal_keep_segments.
Also, make the name of the GUC and the name of the backing variable match.
Alnong the way, clean up a couple of slight typographical errors in the
related docs.
Tom Lane [Tue, 20 Apr 2010 01:38:52 +0000 (01:38 +0000)]
Move the responsibility for calling StartupXLOG into InitPostgres, for
those process types that go through InitPostgres; in particular, bootstrap
and standalone-backend cases. This ensures that we have set up a PGPROC
and done some other basic initialization steps (corresponding to the
if (IsUnderPostmaster) block in AuxiliaryProcessMain) before we attempt to
run WAL recovery in a standalone backend. As was discovered last September,
this is necessary for some corner-case code paths during WAL recovery,
particularly end-of-WAL cleanup.
Moving the bootstrap case here too is not necessary for correctness, but it
seems like a good idea since it reduces the number of distinct code paths.
Robert Haas [Tue, 20 Apr 2010 00:26:06 +0000 (00:26 +0000)]
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
Simon Riggs [Mon, 19 Apr 2010 19:02:18 +0000 (19:02 +0000)]
Add new message for explicit rejection by pg_hba.conf. Implicit
rejection retains same message as before.
Simon Riggs [Mon, 19 Apr 2010 18:03:38 +0000 (18:03 +0000)]
Check RecoveryInProgress() while holding ProcArrayLock during snapshots.
This prevents a rare, yet possible race condition at the exact moment
of transition from recovery to normal running.
Tom Lane [Mon, 19 Apr 2010 17:54:48 +0000 (17:54 +0000)]
Fix uninitialized local variables. Not sure why gcc doesn't complain about
these --- maybe because they're effectively unused? MSVC does complain though,
per buildfarm.
Magnus Hagander [Mon, 19 Apr 2010 14:10:45 +0000 (14:10 +0000)]
Add wrapper function libpqrcv_PQexec() in the walreceiver that uses async
libpq to send queries, making the waiting for responses interruptible on
platforms where PQexec() can't normally be interrupted by signals, such
as win32.
Fujii Masao and Magnus Hagander
Robert Haas [Mon, 19 Apr 2010 00:55:26 +0000 (00:55 +0000)]
Add an 'enable_material' GUC.
The logic for determining whether to materialize has been significantly
overhauled for 9.0. In case there should be any doubt about whether
materialization is a win in any particular case, this should provide a
convenient way of seeing what happens without it; but even with enable_material
turned off, we still materialize in cases where it is required for
correctness.
Thanks to Tom Lane for the review.
Tom Lane [Sun, 18 Apr 2010 19:16:06 +0000 (19:16 +0000)]
Fix bogus order of cleanup steps in plperl_inline_handler.
Per Alex Hunsaker
Simon Riggs [Sun, 18 Apr 2010 18:44:53 +0000 (18:44 +0000)]
Improve sequence and sense of messages from pg_stop_backup().
Now doesn't report it is waiting until it actually is waiting,
plus message doesn't appear until at least 5 seconds wait, so
we avoid reporting the wait before we've given the archiver
a reasonable time to wake up and archive the file we just
created earlier in the function.
Also add new unconditional message to confirm safe completion.
Now a normal, healthy execution does not report waiting at
all, just safe completion.
Simon Riggs [Sun, 18 Apr 2010 18:17:12 +0000 (18:17 +0000)]
Remove some additional changes in previous commit that belong elsewhere.
Simon Riggs [Sun, 18 Apr 2010 18:06:07 +0000 (18:06 +0000)]
Tune GetSnapshotData() during Hot Standby by avoiding loop
through normal backends. Makes code clearer also, since we
avoid various Assert()s. Performance of snapshots taken
during recovery no longer depends upon number of read-only
backends.
Robert Haas [Fri, 16 Apr 2010 21:46:07 +0000 (21:46 +0000)]
Provide better guidance for adjusting shared_buffers.
Heikki Linnakangas [Fri, 16 Apr 2010 09:51:49 +0000 (09:51 +0000)]
On Windows, syslogger runs in two threads. The main thread processes config
reload and rotation signals, and a helper thread reads messages from the
pipe and writes them to the log file. However, server code isn't generally
thread-safe, so if both try to do e.g palloc()/pfree() at the same time,
bad things will happen. To fix that, use a critical section (which is like
a mutex) to enforce that only one the threads are active at a time.
Heikki Linnakangas [Fri, 16 Apr 2010 08:58:16 +0000 (08:58 +0000)]
In standby mode, suppress repeated LOG messages about a corrupt record,
which just indicates that we've reached the end of valid WAL found in
the standby.
Bruce Momjian [Fri, 16 Apr 2010 02:22:33 +0000 (02:22 +0000)]
Document that autovacuum cannot vacuum or analyze temporary tables.
Peter Eisentraut [Thu, 15 Apr 2010 20:56:13 +0000 (20:56 +0000)]
Improve punctuation
Peter Eisentraut [Thu, 15 Apr 2010 20:48:22 +0000 (20:48 +0000)]
IP port -> TCP port
backpatched to 8.1, where this first appeared
Tom Lane [Thu, 15 Apr 2010 18:46:45 +0000 (18:46 +0000)]
Improve message style for messages associated with not being able to
identify the system time zone setting. Per recent discussion.
Heikki Linnakangas [Thu, 15 Apr 2010 16:25:13 +0000 (16:25 +0000)]
Fix typo, spotted by Erik Rijkers.
Magnus Hagander [Thu, 15 Apr 2010 11:00:45 +0000 (11:00 +0000)]
Add script to enumerate the timezones in the Windows registry and compare
it with the list we have in pgtz.c, showing any differences.
Peter Eisentraut [Thu, 15 Apr 2010 05:45:37 +0000 (05:45 +0000)]
Update XML features list
Bruce Momjian [Thu, 15 Apr 2010 03:05:59 +0000 (03:05 +0000)]
Doc change: effect -> affect, per Robert Haas
Tom Lane [Wed, 14 Apr 2010 23:52:10 +0000 (23:52 +0000)]
Fix plpgsql's exec_eval_expr() to ensure it returns a sane type OID
even when the expression is a query that returns no rows.
So far as I can tell, the only caller that actually fails when a garbage
OID is returned is exec_stmt_case(), which is new in 8.4 --- in all other
cases, we might make a useless trip through casting logic, but we won't
fail since the isnull flag will be set. Hence, backpatch only to 8.4,
just in case there are apps out there that aren't expecting an error to
be thrown if the query returns more or less than one column. (Which seems
unlikely, since the error would be thrown if the query ever did return a
row; but it's possible there's some never-exercised code out there.)
Per report from Mario Splivalo.
Tom Lane [Wed, 14 Apr 2010 21:31:11 +0000 (21:31 +0000)]
Fix a problem introduced by my patch of 2010-01-12 that revised the way
relcache reload works. In the patched code, a relcache entry in process of
being rebuilt doesn't get unhooked from the relcache hash table; which means
that if a cache flush occurs due to sinval queue overrun while we're
rebuilding it, the entry could get blown away by RelationCacheInvalidate,
resulting in crash or misbehavior. Fix by ensuring that an entry being
rebuilt has positive refcount, so it won't be seen as a target for removal
if a cache flush occurs. (This will mean that the entry gets rebuilt twice
in such a scenario, but that's okay.) It appears that the problem can only
arise within a transaction that has previously reassigned the relfilenode of
a pre-existing table, via TRUNCATE or a similar operation. Per bug #5412
from Rusty Conover.
Back-patch to 8.2, same as the patch that introduced the problem.
I think that the failure can't actually occur in 8.2, since it lacks the
rd_newRelfilenodeSubid optimization, but let's make it work like the later
branches anyway.
Patch by Heikki, slightly editorialized on by me.
Robert Haas [Wed, 14 Apr 2010 20:17:26 +0000 (20:17 +0000)]
Typo fix. Kevin Grittner.
Simon Riggs [Wed, 14 Apr 2010 10:29:07 +0000 (10:29 +0000)]
Fix minor typo in comment in xlog.c
Bruce Momjian [Wed, 14 Apr 2010 02:36:04 +0000 (02:36 +0000)]
Doc change: anyways -> anyway; Erik Rijkers
Heikki Linnakangas [Tue, 13 Apr 2010 14:17:46 +0000 (14:17 +0000)]
Allow Hot Standby to begin from a shutdown checkpoint.
Patch by Simon Riggs & me
Bruce Momjian [Tue, 13 Apr 2010 14:15:25 +0000 (14:15 +0000)]
Add "SSD" acronym mention for solid state drive mention.
Magnus Hagander [Tue, 13 Apr 2010 08:19:12 +0000 (08:19 +0000)]
Fix typo.
Fujii Masao
Magnus Hagander [Tue, 13 Apr 2010 08:16:09 +0000 (08:16 +0000)]
Only try to do a graceful disconnect if we've successfully loaded the
shared library with the disconnect function in it. Fixes segmentation
fault reported by Jeff Davis.
Fujii Masao
Bruce Momjian [Mon, 12 Apr 2010 22:09:58 +0000 (22:09 +0000)]
Remove example of archive_command from configure section; instead have
users look at the referenced section for examples, per idea from Greg
Smith.
Bruce Momjian [Mon, 12 Apr 2010 19:08:28 +0000 (19:08 +0000)]
Spell out full archive directory specification in 'test -f' continuous
archiving example, per suggestion from Greg Smith.
Heikki Linnakangas [Mon, 12 Apr 2010 10:40:43 +0000 (10:40 +0000)]
Update the location of last removed WAL segment in shared memory only
after actually removing one, so that if we can't remove segments because
WAL archiving is lagging behind, we don't unnecessarily forbid streaming
the old not-yet-archived segments that are still perfectly valid. Per
suggestion from Fujii Masao.
Heikki Linnakangas [Mon, 12 Apr 2010 10:18:50 +0000 (10:18 +0000)]
Need to use the start pointer of a block we read from WAL segment in
the calculation, not the end pointer, as pointed out by Fujii Masao.
Heikki Linnakangas [Mon, 12 Apr 2010 10:01:04 +0000 (10:01 +0000)]
Adjust paragraph about monitoring streaming replication, now that we have
standby_keep_segments.
Heikki Linnakangas [Mon, 12 Apr 2010 09:52:29 +0000 (09:52 +0000)]
Change the logic to decide when to delete old WAL segments, so that it
doesn't take into account how far the WAL senders are. This way a hung
WAL sender doesn't prevent old WAL segments from being recycled/removed
in the primary, ultimately causing the disk to fill up. Instead add
standby_keep_segments setting to control how many old WAL segments are
kept in the primary. This also makes it more reliable to use streaming
replication without WAL archiving, assuming that you set
standby_keep_segments high enough.
Magnus Hagander [Fri, 9 Apr 2010 13:05:58 +0000 (13:05 +0000)]
Perltidy run over the MSVC build system files, to clean up code formatting
and indentation styles.
Magnus Hagander [Fri, 9 Apr 2010 11:49:51 +0000 (11:49 +0000)]
Clean up inconsistent commas
Magnus Hagander [Fri, 9 Apr 2010 11:46:06 +0000 (11:46 +0000)]
Update list of Windows timezones we try to match localized names against
to one that's up to date with Windows 2003R2.
Magnus Hagander [Thu, 8 Apr 2010 11:25:58 +0000 (11:25 +0000)]
Proceed to look for the next timezone when matching a localized
Windows timezone name where the information in the registry is
incomplete, instead of aborting.
This fixes cases when the registry information is incomplete for
a timezone that is alphabetically before the one that is in use.
Per report from Alexander Forschner
Robert Haas [Thu, 8 Apr 2010 01:39:37 +0000 (01:39 +0000)]
Make smart shutdown work in combination with Hot Standby/Streaming Replication.
At present, killing the startup process does not release any locks it holds,
so we must wait to stop the startup and walreceiver processes until all
read-only backends have exited. Without this patch, the startup and
walreceiver processes never exit, so the server gets permanently stuck in
a half-shutdown state.
Fujii Masao, with review, docs, and comment adjustments by me.
Tom Lane [Wed, 7 Apr 2010 21:41:53 +0000 (21:41 +0000)]
Fix to_char YYY, YY, Y format codes so that FM zero-suppression really works,
rather than only sort-of working as the previous attempt had left it.
Clean up some unnecessary differences between the way these were coded and
the way the YYYY case was coded. Update the regression test cases that
proved that it wasn't working.
Heikki Linnakangas [Wed, 7 Apr 2010 10:58:49 +0000 (10:58 +0000)]
Allow quotes to be escaped in recovery.conf, by doubling them. This patch
also makes the parsing a little bit stricter, rejecting garbage after the
parameter value and values with missing ending quotes, for example.
Heikki Linnakangas [Wed, 7 Apr 2010 06:12:52 +0000 (06:12 +0000)]
Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset() during
recovery. We might want to relax this in the future, but ThisTimeLineID
isn't currently correct in backends during recovery, so the filename
returned was wrong.
Itagaki Takahiro [Wed, 7 Apr 2010 03:51:19 +0000 (03:51 +0000)]
psql tab completion for ALTER DEFAULT PRIVILEGES and USER MAPPING FOR PUBLIC.
Itagaki Takahiro [Wed, 7 Apr 2010 03:48:51 +0000 (03:48 +0000)]
Add cygwin version check before using cygwin_conv_path(),
and use cygwin_conv_to_full_win32_path() in older versions.
Magnus Hagander [Tue, 6 Apr 2010 20:35:11 +0000 (20:35 +0000)]
Log the actual timezone name that we fail to look up the values for in
case the registry data doesn't follow the format we expect, to facilitate
debugging.
Simon Riggs [Tue, 6 Apr 2010 17:51:58 +0000 (17:51 +0000)]
Further message changes when recovery.conf parameters missing.
Heikki Linnakangas [Tue, 6 Apr 2010 14:53:20 +0000 (14:53 +0000)]
Rename "Log-streaming replication parameters" header to "Standby server
parameters" in recovery.conf, to match the grouping in the documentation.
Fujii Masao
Simon Riggs [Tue, 6 Apr 2010 10:50:57 +0000 (10:50 +0000)]
Change some debug ereports to elogs, as requested by translation team.
Bruce Momjian [Tue, 6 Apr 2010 02:18:04 +0000 (02:18 +0000)]
Reword exclusion constriants to mention that the operator can return
false or null, per Tom.
Itagaki Takahiro [Mon, 5 Apr 2010 05:33:24 +0000 (05:33 +0000)]
Assorted tab-completion improvements in psql.
Add missing completions for:
- ALTER SEQUENCE name OWNER TO
- ALTER TYPE name RENAME TO
- ALTER VIEW name ALTER COLUMN
- ALTER VIEW name OWNER TO
- ALTER VIEW name SET SCHEMA
Fix wrong completions for:
- ALTER FUNCTION/AGGREGATE name (arguments) ...
"(arguments)" has been ignored.
- ALTER ... SET SCHEMA
"SCHEMA" has been considered as a variable name.
Andrew Dunstan [Mon, 5 Apr 2010 03:09:09 +0000 (03:09 +0000)]
Exclude unwanted typedef symbols in pgindent, including FD_SET which is found on some Windows platforms. Also, silence unnecessary messages and make awk happier about literal '*' on some platforms.
Tom Lane [Mon, 5 Apr 2010 02:46:42 +0000 (02:46 +0000)]
Clean up description of 9.0's incompatible changes in SIMILAR TO and
SQL-style substring().
Andrew Dunstan [Mon, 5 Apr 2010 02:46:20 +0000 (02:46 +0000)]
Make dmetaphone.c safe for pgindent and fussy compilers. Still to do: make it properly encoding aware w.r.t. chars U+00C7 and U+00D1.
Itagaki Takahiro [Mon, 5 Apr 2010 02:25:56 +0000 (02:25 +0000)]
Use a new API rather than a deprecated one in in cygwin.
cygwin_conv_to_full_win32_path should be replaced with cygwin_conv_path.
Tom Lane [Mon, 5 Apr 2010 01:58:03 +0000 (01:58 +0000)]
Arrange to remove pg_default_acl entries completely if their ACL setting
is changed to match the hard-wired default. This avoids accumulating useless
catalog entries, and also provides a path for dropping the owning role without
using DROP OWNED BY. Per yesterday's complaint from Jaime Casanova, the
need to use DROP OWNED BY for that is less than obvious, so providing this
alternative method might save some user frustration.
Tom Lane [Mon, 5 Apr 2010 01:09:53 +0000 (01:09 +0000)]
Fix updateAclDependencies() to not assume that ACL role dependencies can only
be added during GRANT and can only be removed during REVOKE; and fix its
callers to not lie to it about the existing set of dependencies when
instantiating a formerly-default ACL. The previous coding accidentally failed
to malfunction so long as default ACLs contain only references to the object's
owning role, because that role is ignored by updateAclDependencies. However
this is obviously pretty fragile, as well as being an undocumented assumption.
The new coding is a few lines longer but IMO much clearer.
Tom Lane [Mon, 5 Apr 2010 00:42:24 +0000 (00:42 +0000)]
Improve phrasing of warning message for NOTIFY queue getting too full.
Per gripe from Peter.
Tom Lane [Sat, 3 Apr 2010 21:46:59 +0000 (21:46 +0000)]
Minor wording improvement.
Tom Lane [Sat, 3 Apr 2010 20:55:57 +0000 (20:55 +0000)]
\ddp should be recognized as such even if user appends S or + to it.
Those options do nothing right now, but might be wanted later, and in
any case it's confusing for the command to be interpreted as \dd if
anything is appended. Per Jaime Casanova.
Michael Meskes [Sat, 3 Apr 2010 19:30:49 +0000 (19:30 +0000)]
Make ecpg in line with other compilers in that it deletes its output if there was an error processing the input file.
Work done by Zoltan.
Peter Eisentraut [Sat, 3 Apr 2010 07:53:29 +0000 (07:53 +0000)]
Message quoting style tuning
Peter Eisentraut [Sat, 3 Apr 2010 07:53:02 +0000 (07:53 +0000)]
Clarify documentation of to_char EEEE pattern
Peter Eisentraut [Sat, 3 Apr 2010 07:23:02 +0000 (07:23 +0000)]
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.
Peter Eisentraut [Sat, 3 Apr 2010 07:16:05 +0000 (07:16 +0000)]
Allow for more room in the man page title, so that
"CREATE TEXT SEARCH CONFIGURATION" is not truncated.
Simon Riggs [Fri, 2 Apr 2010 21:50:40 +0000 (21:50 +0000)]
Check compulsory parameters in recovery.conf in standby_mode, per docs.
Simon Riggs [Fri, 2 Apr 2010 17:29:22 +0000 (17:29 +0000)]
Clarify some behaviours of REASSIGN OWNED and DROP OWNED BY.
Tom Lane [Fri, 2 Apr 2010 16:16:51 +0000 (16:16 +0000)]
Ensure that contrib/pgstattuple functions respond to cancel interrupts
reasonably promptly, by adding CHECK_FOR_INTERRUPTS in the per-page loops.
Tatsuhito Kasahara
Magnus Hagander [Fri, 2 Apr 2010 15:21:20 +0000 (15:21 +0000)]
Update a number of broken links in comments.
Josh Kupershmidt
Magnus Hagander [Fri, 2 Apr 2010 15:19:22 +0000 (15:19 +0000)]
Fix minor typos in comments.
Josh Kupershmidt
Peter Eisentraut [Fri, 2 Apr 2010 14:02:49 +0000 (14:02 +0000)]
Fix the build and install rules for man pages with SQL section != 7
The previous coding failed in various scenarios possibly including vpath
builds and doing make install without preceding make all.
Simon Riggs [Fri, 2 Apr 2010 13:10:56 +0000 (13:10 +0000)]
Move system startup message prior to any calls out of data directory.
This allows us to see what mode the server is in before it starts to
perform actions that can block or hang. Otherwise server messages
may not appear until after messages that say FATAL the database
server is starting up.
Michael Meskes [Fri, 2 Apr 2010 10:27:45 +0000 (10:27 +0000)]
FATAL errors are meant to stop ecpg immediately, e.g. because the syntax is
corrupted. This error, however, does is not a compilation problem but a runtime
one, so we can keep compiling but still have to declare ERROR.
Heikki Linnakangas [Thu, 1 Apr 2010 20:12:22 +0000 (20:12 +0000)]
Don't pass an invalid file handle to dup2(). That causes a crash on
Windows, thanks to a feature in CRT called Parameter Validation.
Backpatch to 8.2, which is the oldest version supported on Windows. In
8.2 and 8.3 also backpatch the earlier change to use DEVNULL instead of
NULL_DEV #define for a /dev/null-like device. NULL_DEV was hard-coded to
"/dev/null" regardless of platform, which didn't work on Windows, while
DEVNULL works on all platforms. Restarting syslogger didn't work on
Windows on versions 8.3 and below because of that.
Andrew Dunstan [Thu, 1 Apr 2010 14:44:39 +0000 (14:44 +0000)]
Use a file of patterns of filenames to exclude from pgindent runs, instead if using multiple invocations of egrep. Add perl ppport.h to the current list.
Bruce Momjian [Thu, 1 Apr 2010 13:52:56 +0000 (13:52 +0000)]
Change test -e to test -f in docs, for portability.
Michael Meskes [Thu, 1 Apr 2010 10:30:53 +0000 (10:30 +0000)]
Zoltan beautified his hidden-variable-patch for ecpg. This also makes sure we get an error message instead of a warning if the variable have different types.
Michael Meskes [Thu, 1 Apr 2010 08:41:01 +0000 (08:41 +0000)]
Applied Zoltan's patch to make ecpg spit out warnings if a local variable hides a global one with the same name.
Bruce Momjian [Thu, 1 Apr 2010 01:18:17 +0000 (01:18 +0000)]
Add contraint exclusion section to contraint docs.
Takahiro Itagaki
Robert Haas [Thu, 1 Apr 2010 00:43:29 +0000 (00:43 +0000)]
Refer to max_wal_senders in a more consistent fashion.
The error message now makes explicit reference to the GUC that must be changed
to fix the problem, using wording suggested by Tom Lane. Along the way,
rename the GUC from MaxWalSenders to max_wal_senders for consistency and
grep-ability.
Bruce Momjian [Thu, 1 Apr 2010 00:32:53 +0000 (00:32 +0000)]
Add full names for release note item authors.
Bruce Momjian [Thu, 1 Apr 2010 00:31:00 +0000 (00:31 +0000)]
Use test -e rather than test -f.
Bruce Momjian [Thu, 1 Apr 2010 00:18:21 +0000 (00:18 +0000)]
Improve 9.0 release notes by removing extra parentheses and linking to a
more appropriate place for exclusion constraints.
Bruce Momjian [Wed, 31 Mar 2010 23:51:41 +0000 (23:51 +0000)]
Revert change that prevented ellipses from looking like ../.
Bruce Momjian [Wed, 31 Mar 2010 23:39:15 +0000 (23:39 +0000)]
Clarify ellipses use in archive_command example, per Josh Kupershmidt.
Bruce Momjian [Wed, 31 Mar 2010 23:35:19 +0000 (23:35 +0000)]
Document why 'cp -i </dev/null' is suggested for archive command.
Heikki Linnakangas [Wed, 31 Mar 2010 20:41:50 +0000 (20:41 +0000)]
Fix typos, spotted by Thom Brown.
Heikki Linnakangas [Wed, 31 Mar 2010 20:35:09 +0000 (20:35 +0000)]
Enhance standby documentation.
Original patch by Fujii Masao, with heavy editing and bitrot-fixing
after my other commit.
Heikki Linnakangas [Wed, 31 Mar 2010 20:18:10 +0000 (20:18 +0000)]
Mention in the docs that if special keywords like "sameuser" and
"replication" are quoted in pg_hba.conf, they lose their special meaning.
Heikki Linnakangas [Wed, 31 Mar 2010 19:13:01 +0000 (19:13 +0000)]
Enhance documentation of the build-in standby mode, explaining the retry
loop in standby mode, trying to restore from archive, pg_xlog and
streaming.
Move sections around to make the high availability chapter more
coherent: the most prominent part is now a "Log-Shipping Standby Servers"
section that describes what a standby server is (like the old
"Warm Standby Servers for High Availability" section), and how to
set up a warm standby server, including streaming replication, using the
built-in standby mode. The pg_standby method is desribed in another
section called "Alternative method for log shipping", with the added
caveat that it doesn't work with streaming replication.
Bruce Momjian [Wed, 31 Mar 2010 14:18:45 +0000 (14:18 +0000)]
Change recovery.conf.sample to match postgresql.conf by showing only
default values, with example comments.
Michael Meskes [Wed, 31 Mar 2010 08:45:18 +0000 (08:45 +0000)]
Give a more precise error message if a variable is re-used as cursor name in ecpg.
Tom Lane [Tue, 30 Mar 2010 21:58:11 +0000 (21:58 +0000)]
Fix "constraint_exclusion = partition" logic so that it will also attempt
constraint exclusion on an inheritance set that is the target of an UPDATE
or DELETE query. Per gripe from Marc Cousin. Back-patch to 8.4 where
the feature was introduced.
Heikki Linnakangas [Tue, 30 Mar 2010 16:23:57 +0000 (16:23 +0000)]
Change the retry-loop in standby mode to also try restoring files from
pg_xlog directory. This is essential for replaying WAL records that
were streamed from the master, after a standby server restart.
If a corrupt record is seen in a file restored from the archive or
streamed from the master, log it as a WARNING and keep retrying. If the
corruption is permanent, and not just a glitch in the whatever copies the
files to the archive or a network error not caught by CRC checks in TCP
for example, we will keep retrying and logging the WARNING indefinitely.
But that's better than shutting down completely, the standby is still
useful for running read-only queries. In PITR the recovery ends at such a
corrupt record, which is a bit questionable, but that's the behavior we
had in previous releases and we don't feel like chaning it now. It does
make sense for tools like pg_standby.