Commit Graph

23840 Commits

Author SHA1 Message Date
Tom Lane
e82d9e6283 Adjust elog.c so that elog(FATAL) exits (including cases where ERROR is
promoted to FATAL) end in exit(1) not exit(0).  Then change the postmaster to
allow exit(1) without a system-wide panic, but not for the startup subprocess
or the bgwriter.  There were a couple of places that were using exit(1) to
deliberately force a system-wide panic; adjust these to be exit(2) instead.
This fixes the problem noted back in July that if the startup process exits
with elog(ERROR), the postmaster would think everything is hunky-dory and
proceed to start up.  Alternative solutions such as trying to run the entire
startup process as a critical section seem less clean, primarily because of
the fact that a fair amount of startup code is shared by all postmaster
children in the EXEC_BACKEND case.  We'd need an ugly special case somewhere
near the head of main.c to make it work if it's the child process's
responsibility to determine what happens; and what's the point when the
postmaster already treats different children differently?
2006-11-21 00:49:55 +00:00
Bruce Momjian
778bb7b60d Retitle documentation section, "Statement-Based Replication Using Middleware". 2006-11-20 22:07:56 +00:00
Bruce Momjian
b8c01d9dac Add mention that Shared Disk Failover can use file system mirroring of
the mirroring is consistent.
2006-11-20 21:26:22 +00:00
Bruce Momjian
fb2619859c Update Brazilian FAQ.
Euler Taveira de Oliveira
2006-11-20 20:58:40 +00:00
Bruce Momjian
016e0b4177 For to_char() day/month abbrevitions, mention "3 chars in English,
localized lengths vary".
2006-11-20 20:20:18 +00:00
Bruce Momjian
f88fff1e61 Our MingW FAQ appears to be seriously out of date. Couple of fixes: we
want to direct MSI downloads to main download site, NT4 not supported
anymore, msvc build env in progress, pgsql-hackers-win32 is no more.

Magnus Hagander
2006-11-20 19:31:27 +00:00
Tom Lane
aaef29b377 More MSVC build fixes:
* New versions of OpenSSL come with proper debug versions, and use
suffixed names on the LIBs for that. Adapts library handling to deal
with that.

* Fixes error where it incorrectly enabled Kerberos based on NLS
configuration instead of Kerberos configuration

* Specifies path of perl in config, instead of using current one.
Required when using a 64-bit perl normally, but want to build pl/perl
against 32-bit one (required)

* Fix so pgevent generates win32ver.rc automatically

Magnus Hagander
2006-11-20 19:18:02 +00:00
Neil Conway
e2b1dbd394 Overhaul the "External Projects" chapter in the manual. Replace
the variabelist with a more concise table, add a URL for each project,
remove some orphaned projects, add PL/Py, and various other changes.
Initial patch from Robert Treat, subsequent work by Neil Conway.
2006-11-20 17:42:16 +00:00
Bruce Momjian
900c9962f7 Update documentation to use Statement-Based Replication rather than
Query Broadcast.
2006-11-20 15:07:13 +00:00
Teodor Sigaev
419fe7cd1b Fix bug http://archives.postgresql.org/pgsql-bugs/2006-10/msg00258.php.
Fix string's length calculation for recoding, fix strlower() to avoid wrong
assumption about length of recoded string (was: recoded string is no greater
that source, it may not true for multibyte encodings)
Thanks to Thomas H. <me@alternize.com> and Magnus Hagander <mha@sollentuna.net>
2006-11-20 14:03:30 +00:00
Tom Lane
1a5c450f30 When truncating a relation in-place (eg during VACUUM), do not try to unlink
any no-longer-needed segments; just truncate them to zero bytes and leave
the files in place for possible future re-use.  This avoids problems when
the segments are re-used due to relation growth shortly after truncation.
Before, the bgwriter, and possibly other backends, could still be holding
open file references to the old segment files, and would write dirty blocks
into those files where they'd disappear from the view of other processes.

Back-patch as far as 8.0.  I believe the 7.x branches are not vulnerable,
because they had no bgwriter, and "blind" writes by other backends would
always be done via freshly-opened file references.
2006-11-20 01:07:56 +00:00
Tom Lane
d68efb3f8d Repair problems with hash indexes that span multiple segments: the hash code's
preference for filling pages out-of-order tends to confuse the sanity checks
in md.c, as per report from Balazs Nagy in bug #2737.  The fix is to ensure
that the smgr-level code always has the same idea of the logical EOF as the
hash index code does, by using ReadBuffer(P_NEW) where we are adding a single
page to the end of the index, and using smgrextend() to reserve a large batch
of pages when creating a new splitpoint.  The patch is a bit ugly because it
avoids making any changes in md.c, which seems the most prudent approach for a
backpatchable beta-period fix.  After 8.3 development opens, I'll take a look
at a cleaner but more invasive patch, in particular getting rid of the now
unnecessary hack to allow reading beyond EOF in mdread().

Backpatch as far as 7.4.  The bug likely exists in 7.3 as well, but because
of the magnitude of the 7.3-to-7.4 changes in hash, the later-version patch
doesn't even begin to apply.  Given the other known bugs in the 7.3-era hash
code, it does not seem worth trying to develop a separate patch for 7.3.
2006-11-19 21:33:23 +00:00
Tom Lane
fa3d622cb0 Clarify description of CIDR-address column of pg_hba.conf, to discourage
people from trying notations like '10.6/16', which is accepted but does
not mean what you probably think.  Per example from Paul Forgey.
2006-11-17 23:25:17 +00:00
Tom Lane
4f335a3d7f Repair two related errors in heap_lock_tuple: it was failing to recognize
cases where we already hold the desired lock "indirectly", either via
membership in a MultiXact or because the lock was originally taken by a
different subtransaction of the current transaction.  These cases must be
accounted for to avoid needless deadlocks and/or inappropriate replacement of
an exclusive lock with a shared lock.  Per report from Clarence Gardner and
subsequent investigation.
2006-11-17 18:00:15 +00:00
Peter Eisentraut
b6b5aa102b Small message equalization fix 2006-11-17 16:46:27 +00:00
Bruce Momjian
e1693e514c Rename replication section "High Availability and Load Balancing". 2006-11-17 16:38:44 +00:00
Bruce Momjian
cc9698254c Data Partitioning documentation section reduced and moved to the end. 2006-11-17 13:29:53 +00:00
Neil Conway
42cfdfb453 Fix a typo. 2006-11-17 09:00:03 +00:00
Michael Meskes
4b8049b815 Fixed small typo, missing 'l' in 'Cluserting' 2006-11-17 08:46:53 +00:00
Neil Conway
be4dbd9b26 Remove a bunch of antique information from the appendix in the docs
that discusses CVS. Remove the recommendation to use cvs 1.10. Remove
discussion of alleged CVSup binaries on postgresql.org, because they
have not existed for several years. Remove discussion of how to
build cvsup from source because the existing text is outdated, and
more accurate information is available from the CVSup homepage.
2006-11-17 05:29:46 +00:00
Bruce Momjian
58a7efa03b Use more standard terms for replication, ideas from Markus Schiltknecht. 2006-11-17 04:52:46 +00:00
Bruce Momjian
8a6193333c Mention two-phase commit for having all transactions commit on all servers. 2006-11-16 21:45:25 +00:00
Bruce Momjian
a1e5b5c832 Reconfigure failover/replication doc items to be varlist entries, rather
than new sections, so they appear all on the same web page.
2006-11-16 21:43:33 +00:00
Bruce Momjian
c7a6046a59 Clarify replication items, and define some terms. 2006-11-16 18:25:58 +00:00
Peter Eisentraut
e05a3c30b0 Message fix 2006-11-16 14:41:49 +00:00
Peter Eisentraut
e138b80996 String fix 2006-11-16 14:28:41 +00:00
Bruce Momjian
2b7cef5fb3 Improve broadcast wording for failover/clustering documentation. 2006-11-15 01:09:08 +00:00
Bruce Momjian
9497454ca6 Add URL for case identifiers.
<
>   http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php
2006-11-14 22:26:49 +00:00
Bruce Momjian
0fc2947729 Fix xrefs for failover changes. 2006-11-14 22:25:15 +00:00
Bruce Momjian
ca21417a34 Update failover docs, per suggestions from Chris Browne. 2006-11-14 21:43:00 +00:00
Bruce Momjian
77f24a46b7 Fix URL for patch hold queue. 2006-11-14 04:18:55 +00:00
Andrew Dunstan
751e3e6bd8 Force plperl and plperlu to run in separate interpreters. Create an error
on an attempt to create the second interpreter if this is not supported by
the perl installation. Per recent -hackers discussion.
2006-11-13 17:13:57 +00:00
Neil Conway
dc10387eb1 Fix some typos in comments. 2006-11-12 06:55:54 +00:00
Neil Conway
f49baa73ef Do a round of copy-editing for the system catalog chapter. In particular,
consistently capitalize the content of the "Description" column but do
not include a terminating period, as is the convention elsewhere in the
docs. Also, remove the "References" column from catalog that do not
have any referencing columns, for the sake of brevity. Make various
other SGML and grammar fixes.
2006-11-12 06:25:37 +00:00
Neil Conway
2b5fedc0d7 Minor improvements to the description of archive_timeout. 2006-11-12 05:12:42 +00:00
Tom Lane
a46ca619f8 Suppress a few 'uninitialized variable' warnings that gcc emits only at
-O3 or higher (presumably because it inlines more things).  Per gripe
from Mark Mielke.
2006-11-11 01:14:19 +00:00
Tom Lane
d13f372acd Fix pg_get_serial_sequence(), which could incorrectly return the name
of an index on a serial column, rather than the name of the associated
sequence.  Fallout from recent changes in dependency setup for serials.
Per bug #2732 from Basil Evseenko.
2006-11-10 22:59:29 +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
1456c5b507 Improve formatting of PQexecParams argument descriptions, per
Theo Kramer.
2006-11-10 22:15:26 +00:00
Tom Lane
2c2faa17f2 Emphasize that immutable and stable functions are not allowed to modify
the database.  xfunc.sgml was already pretty definite on the point, but
it doesn't hurt to make it clear here too.
2006-11-10 20:52:18 +00:00
Tom Lane
33556af7c7 Fix errors in key_column_usage.position_in_unique_constraint column recently
added to information_schema (per a SQL2003 addition).  The original coding
failed if a referenced column participated in more than one pg_constraint
entry.  Also, it did not work if an FK relied directly on a unique index
without any constraint syntactic sugar --- this case is outside the SQL spec,
but PG has always supported it, so it's reasonable for our information_schema
to handle it too.  Per bug#2750 from Stephen Haberman.

Although this patch changes the initial catalog contents, I didn't force
initdb.  Any beta3 testers who need the fix can install it via CREATE OR
REPLACE VIEW, so forcing them to initdb seems an unnecessary imposition.
2006-11-10 18:10:10 +00:00
Neil Conway
87a50169d2 Minor code cleanup for pgcrypto: for UDFs declared to be strict, checking
for NULL-ness of function arguments is wasted code.
2006-11-10 06:28:29 +00:00
Tom Lane
d19798e584 Fix set_joinrel_size_estimates() to estimate outer-join sizes more
accurately: we have to distinguish the effects of the join's own ON
clauses from the effects of pushed-down clauses.  Failing to do so
was a quick hack long ago, but it's time to be smarter.  Per example
from Thomas H.
2006-11-10 01:21:41 +00:00
Tom Lane
dcbdf9b1d4 Change Windows rename and unlink substitutes so that they time out after
30 seconds instead of retrying forever.  Also modify xlog.c so that if
it fails to rename an old xlog segment up to a future slot, it will
unlink the segment instead.  Per discussion of bug #2712, in which it
became apparent that Windows can handle unlinking a file that's being
held open, but not renaming it.
2006-11-08 20:12:05 +00:00
Tom Lane
808b3190d1 Modify aset.c to track the next intended block allocation size explicitly.
The former coding relied on the actual allocated size of the last block,
which made it behave strangely if the first allocation in a context was
larger than ALLOC_CHUNK_LIMIT: subsequent allocations would be referenced
to that and not to the intended series of block sizes.  Noted while
studying a memory wastage gripe from Tatsuo.
2006-11-08 19:27:24 +00:00
Tom Lane
fc5eb3f69a Tweak accumArrayResult() to double the size of its working arrays when
more space is needed, instead of incrementing by a fixed amount; the old
method wastes lots of space and time when the ultimate size is large.
Per gripe from Tatsuo.
2006-11-08 19:24:38 +00:00
Tom Lane
a5cf12e2ef Fix performance issues in replace_text(), replace_text_regexp(), and
text_to_array(): they all had O(N^2) behavior on long input strings in
multibyte encodings, because of repeated rescanning of the input text to
identify substrings whose positions/lengths were computed in characters
instead of bytes.  Fix by tracking the current source position as a char
pointer as well as a character-count.  Also avoid some unnecessary palloc
operations.  text_to_array() also leaked memory intracall due to failure
to pfree temporary strings.  Per gripe from Tatsuo Ishii.
2006-11-08 19:22:25 +00:00
Neil Conway
9d6f26325f Fix two typos. 2006-11-08 19:06:15 +00:00
Teodor Sigaev
092ed294fc New README, forgotten when docs was updated 2006-11-08 16:00:29 +00:00
Michael Meskes
0c96e42797 Applied patch by Peter Harris to free auto_mem structure on connect 2006-11-08 10:46:47 +00:00