Commit Graph

9875 Commits

Author SHA1 Message Date
Robert Haas
5acd417c8f Support setting the keepalive idle time on MacOS X.
MacOS X uses TCP_KEEPALIVE rather than TCP_KEEPIDLE for this purpose.

Thanks to Fujii Masao for the review.
2010-07-06 21:14:25 +00:00
Tom Lane
291a957745 Split the LDFLAGS make variable into two parts: LDFLAGS is now used for
linking both executables and shared libraries, and we add on LDFLAGS_EX when
linking executables or LDFLAGS_SL when linking shared libraries.  This
provides a significantly cleaner way of dealing with link-time switches than
the former behavior.  Also, make sure that the various platform-specific
%.so: %.o rules incorporate LDFLAGS and LDFLAGS_SL; most of them missed that
before.  (I did not add these variables for the platforms that invoke $(LD)
directly, however.  It's not clear if we can do that safely, since for the
most part we assume these variables use CC command-line syntax.)

Per gripe from Aaron Swenson and subsequent investigation.
2010-07-05 18:54:38 +00:00
Bruce Momjian
a520b78f3e Remove SGML tab. 2010-07-03 22:52:25 +00:00
Tom Lane
aceedd88f6 Make vacuum_defer_cleanup_age be PGC_SIGHUP level, since it's not sensible
to have different values in different processes of the primary server.
Also put it into the "Streaming Replication" GUC category; it doesn't belong
in "Standby Servers" because you use it on the master not the standby.
In passing also correct guc.c's idea of wal_keep_segments' category.
2010-07-03 21:23:58 +00:00
Tom Lane
e76c1a0f4d Replace max_standby_delay with two parameters, max_standby_archive_delay and
max_standby_streaming_delay, and revise the implementation to avoid assuming
that timestamps found in WAL records can meaningfully be compared to clock
time on the standby server.  Instead, the delay limits are compared to the
elapsed time since we last obtained a new WAL segment from archive or since
we were last "caught up" to WAL data arriving via streaming replication.
This avoids problems with clock skew between primary and standby, as well
as other corner cases that the original coding would misbehave in, such
as the primary server having significant idle time between transactions.
Per my complaint some time ago and considerable ensuing discussion.

Do some desultory editing on the hot standby documentation, too.
2010-07-03 20:43:58 +00:00
Bruce Momjian
e6a7416e28 Document more clearly on XML namespaces inside xpath function
Nikolay Samokhvalov
2010-07-03 17:21:48 +00:00
Tom Lane
4b200a2769 Fix assorted misstatements and poor wording in the descriptions of the I/O
formats for geometric types.  Per bug #5536 from Jon Strait, and my own
testing.

Back-patch to all supported branches, since this doco has been wrong right
along -- we certainly haven't changed the I/O behavior of these types in
many years.
2010-07-03 04:03:06 +00:00
Robert Haas
276a8f4e99 Additional cross-references to window functions documentation.
Erik Rijkers
2010-07-03 02:57:46 +00:00
Robert Haas
ce51747673 Remove hstore % text[] operator; use slice() function instead.
David Wheeler, with one small correction by me.
2010-07-02 20:36:49 +00:00
Bruce Momjian
c37e009678 Update 9.0 release notes so streaming replication and hot standby is not
assumed to require continuous archiving.

Per report from Fujii Masao
2010-07-01 02:33:21 +00:00
Andrew Dunstan
71a4d5c642 Correct missing/misspelled surname. 2010-06-30 14:25:24 +00:00
Bruce Momjian
67bc0b2b90 Document that /bin/true on Windows is implemented by 'REM'. 2010-06-30 02:43:10 +00:00
Bruce Momjian
e1f8d97e49 In documentation, use "lower case"/"upper case" consistently (use space
between words).
2010-06-29 22:29:14 +00:00
Bruce Momjian
5016b69cf1 Document that shared_preload_libraries and local_preload_libraries
lowercase the library names, unless double-quoted.
2010-06-29 22:23:02 +00:00
Tom Lane
5dbf489868 Add compatibility note warning that plpgsql is now stricter about the column
datatypes of composite results, per gripe from Marcel Asio.  Some desultory
copy-editing of plpgsql-related sections of the release notes.
2010-06-29 21:20:19 +00:00
Peter Eisentraut
e849b49406 Add note clarifying that XML fragments don't accept DTDs
per complaint from Craig Ringer
2010-06-29 00:03:39 +00:00
Bruce Momjian
93c81c6831 Fix doc double-wording in non-durable patch.
Report from Thom Brown
2010-06-28 22:46:11 +00:00
Bruce Momjian
c65f299894 Add new Non-Durable Settings documentation section.
Document that synchronous_commit can lose transactions in a db crash,
not just a OS crash.
2010-06-28 21:57:17 +00:00
Peter Eisentraut
ee37fb57c0 Add guidelines for formatting errcontext strings 2010-06-28 17:48:26 +00:00
Bruce Momjian
7bfc0e5e79 Remove tab from SGML. 2010-06-28 12:30:32 +00:00
Robert Haas
e351593922 Rewrite docs for new libpq keepalive parameters.
The revised documentation makes it more clear that these are client-side
parameters, rather than server side parameters.  It also puts the main
point of each parameter first, and consolidates the conditions under which
it might be ignored in a single list at the end.
2010-06-25 17:08:09 +00:00
Robert Haas
7c49bf9d5d Make AIX suggestions about disabling ipv6 more version-sensitive.
Chris Browne, based on a report from John Pierce.
2010-06-25 16:55:49 +00:00
Simon Riggs
3bdd23932b Fix log_temp_files docs and comments to say bytes not kilobytes.
stat(2) field st_size returns bytes not kilobytes.
Bug found during recent performance tuning for PostgreSQL user.
2010-06-25 13:11:25 +00:00
Robert Haas
fd3499be2f Some copy-editing of the Hot Standby documentation.
Thanks to Joshua Tolley for the review.
2010-06-24 19:50:25 +00:00
Robert Haas
dedb500e8a Further 9.0 release notes updates.
Josh Berkus
2010-06-24 18:33:05 +00:00
Bruce Momjian
f5dc03dc69 Mention that when alter rewrites a table, indexes are also rebuilt. 2010-06-24 14:57:21 +00:00
Robert Haas
d8cd283a08 Add TCP keepalive support to libpq.
This adds four additional connection parameters to libpq: keepalives,
keepalives_idle, keepalives_count, and keepalives_interval.
keepalives default to on, per discussion, but can be turned off by
specifying keepalives=0.  The remaining parameters, where supported,
can be used to adjust how often keepalives are sent and how many
can be lost before the connection is broken.

The immediate motivation for this patch is to make sure that
walreceiver will eventually notice if the master reboots without
closing the connection cleanly, but it should be helpful in other
cases as well.

Tollef Fog Heen, Fujii Masao, and me.
2010-06-23 21:54:13 +00:00
Bruce Momjian
7b6f29006e Update pg_ctl docs to explain server output behavior differences on
win32 and non-win32 platforms.
2010-06-22 16:19:36 +00:00
Robert Haas
f974212320 Deprecate the use of => as an operator name.
In HEAD, emit a warning when an operator named => is defined.
In both HEAD and the backbranches (except in 8.2, where contrib
modules do not have documentation), document that hstore's text =>
text operator may be removed in a future release, and encourage the
use of the hstore(text, text) function instead.  This function only
exists in HEAD (previously, it was called tconvert), so backpatch
it back to 8.2, when hstore was added.  Per discussion.
2010-06-22 11:36:16 +00:00
Robert Haas
9b2c14cf11 Minor markup improvements for Hot Standby documentation. 2010-06-22 02:57:50 +00:00
Robert Haas
31c47e53aa Rename hstore => text[] operator to %
This is not yet in any released version, so we still have the option to
change the name.  We may want to reserve the token => in a future release.
2010-06-18 03:52:03 +00:00
Tom Lane
f826f8fc69 Add missing close brackets in old-style COPY syntax diagram.
Spotted by Evan Carroll.
2010-06-17 17:03:57 +00:00
Tom Lane
8f4e121845 Fix typo, init => int, per KOIZUMI Satoru. 2010-06-17 16:03:30 +00:00
Robert Haas
5c5184c043 Document that receive location can rewind if replication restarts.
Fujii Masao, with some further wordsmithing by me.
2010-06-17 01:32:09 +00:00
Bruce Momjian
f25e5e5d47 Update doc description for 9.0 release note item:
Have <command>SELECT</> and <command>CREATE TABLE AS</> return
      row counts to the client
2010-06-16 18:46:18 +00:00
Bruce Momjian
a7b592722a 9.0 release notes updates.
Josh Berkus
2010-06-16 18:31:39 +00:00
Andrew Dunstan
3659c62350 Remove perl symbol table additions for plperl functions, and mention of it
in the release notes, as it is not apparently providing anything useful.
2010-06-16 14:50:34 +00:00
Peter Eisentraut
0c88e559d1 Add notes that CREATE/DROP CONVERSION is similar to CREATE/DROP
TRANSLATION in the SQL standard.
2010-06-16 02:12:51 +00:00
Tom Lane
c0989c67fa Change the interpretation of the primary_key_attnums parameter of
dblink_build_sql_insert() and related functions.  Now the column numbers
are treated as logical not physical column numbers.  This will provide saner
behavior in the presence of dropped columns; furthermore, if we ever get
around to allowing rearrangement of logical column ordering, the original
definition would become nearly untenable from a usability standpoint.
Per recent discussion of dblink's handling of dropped columns.
Not back-patched for fear of breaking existing applications.
2010-06-15 20:29:01 +00:00
Bruce Momjian
77a4c51af8 Clarify SELECT FOR UPDATE behavior in docs. 2010-06-15 20:04:53 +00:00
Robert Haas
b17129b589 Remove hstore's text[] => text[] operator.
This is not yet in any released version, so we still have the option to
backtrack.  Instead, document hstore(text[], text[]).  Per discussion.
2010-06-15 19:48:30 +00:00
Robert Haas
4a96908575 Document new 9.0 behavior of ANALYZE on inheritance hierarchies.
In particular, note that autovacuum does not yet understand that it might
need to vacuum inheritance parents as a result of changes to the child
tables.
2010-06-15 18:43:35 +00:00
Itagaki Takahiro
41f302b52a Add new GUC categories corresponding to sections in docs, and move
description for vacuum_defer_cleanup_age to the correct category.
Sections in postgresql.conf are also sorted in the same order with docs.

Per gripe by Fujii Masao, suggestion by Heikki Linnakangas, and patch by me.
2010-06-15 07:52:11 +00:00
Bruce Momjian
cbb0dcff4f Fix doc plperl doc with is -> are change. 2010-06-14 18:47:05 +00:00
Simon Riggs
24bfbb5857 Docs for pg_archivecleanup 2010-06-14 17:25:24 +00:00
Robert Haas
38736e2276 Fix misplaced modifier.
As suggested by Ian Barwick.
2010-06-14 02:18:43 +00:00
Robert Haas
dd6c1080d0 Fix typo. 2010-06-14 01:07:41 +00:00
Tom Lane
a079efa641 postgres.txt should get cleaned by 'make clean'. 2010-06-12 21:40:31 +00:00
Bruce Momjian
4c7d48bffb Remove lynx -stdin flag for postgres.text. 2010-06-12 17:17:25 +00:00
Bruce Momjian
99fdb4a9ea Add SGML Makefile rule for single-page text, postgres.txt. 2010-06-12 15:58:38 +00:00
Bruce Momjian
7d7780f40d Add space between after ">" in ">$@" in SGML Makefile, for clarity. 2010-06-12 15:42:44 +00:00
Peter Eisentraut
7de38696c4 Add target to build HTML documentation as single page 2010-06-12 09:55:12 +00:00
Heikki Linnakangas
e751b71b56 Use "replication" as the database name when constructing a connection
string for a streaming replication connection. It's ignored by the
server, but allows libpq to pick up the password from .pgpass where
"replication" is specified as the database name.

Patch by Fujii Masao per Tom's suggestion, with some wording changes by me.
2010-06-11 10:13:09 +00:00
Bruce Momjian
c46f861c0d Update text of 9.0 release notes
Josh Berkus
2010-06-10 21:48:28 +00:00
Itagaki Takahiro
56834fc759 Rename restartpoint_command to archive_cleanup_command. 2010-06-10 08:13:50 +00:00
Heikki Linnakangas
346d7cd7fa Return NULL instead of 0/0 in pg_last_xlog_receive_location() and
pg_last_xlog_replay_location(). Per Robert Haas's suggestion, after
Itagaki Takahiro pointed out an issue in the docs. Also, some wording
changes in the docs by me.
2010-06-10 07:00:27 +00:00
Alvaro Herrera
a5ec2986b3 Update ALTER TABLE docs to account for exclusion and deferrable uniqueness
constraints

Dean Rasheed
2010-06-09 17:48:10 +00:00
Alvaro Herrera
09811eff2e Add index entry for ::, per complaint from John Gage. 2010-06-09 16:43:47 +00:00
Robert Haas
8de14adc5f Make procedural language handler reference C-language function docs.
Based on suggestions from Jonathan Leto and Joshua Tolley.
2010-06-08 20:12:59 +00:00
Itagaki Takahiro
b5faba1284 Ensure default-only storage parameters for TOAST relations
to be initialized with proper values. Affected parameters are
fillfactor, analyze_threshold, and analyze_scale_factor.

Especially uninitialized fillfactor caused inefficient page usage
because we built a StdRdOptions struct in which fillfactor is zero
if any reloption is set for the toast table.

In addition, we disallow toast.autovacuum_analyze_threshold and
toast.autovacuum_analyze_scale_factor because we didn't actually
support them; they are always ignored.

Report by Rumko on pgsql-bugs on 12 May 2010.
Analysis by Tom Lane and Alvaro Herrera. Patch by me.

Backpatch to 8.4.
2010-06-07 02:59:02 +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
Tom Lane
2944e6ecb6 Improve our explanation of the OVERLAPS operator.
Per gripe from Frank van Vugt.
2010-06-05 14:56:36 +00:00
Marc G. Fournier
dcd52a64bd tag 9.0beta2 2010-06-04 07:28:30 +00:00
Tom Lane
0cc59cc1f3 Add current WAL end (as seen by walsender, ie, GetWriteRecPtr() result)
and current server clock time to SR data messages.  These are not currently
used on the slave side but seem likely to be useful in future, and it'd be
better not to change the SR protocol after release.  Per discussion.
Also do some minor code review and cleanup on walsender.c, and improve the
protocol documentation.
2010-06-03 22:17:32 +00:00
Tom Lane
572ec5a276 Remove link that breaks HISTORY file generation. 2010-06-03 21:23:02 +00:00
Bruce Momjian
58028240bb Fix CREATE TRIGGER release mention, WHERE -> WHEN. 2010-06-03 19:38:39 +00:00
Bruce Momjian
a68055eab6 Update 9.0 release notes to current. 2010-06-03 16:33:36 +00:00
Bruce Momjian
319baeab21 Markup fix. 2010-06-03 14:41:25 +00:00
Bruce Momjian
0562820097 Document regexp_matches() better and show example of single-row usage. 2010-06-03 14:40:42 +00:00
Bruce Momjian
3b19a45964 Document use of C++ for extension use. 2010-06-03 14:39:58 +00:00
Bruce Momjian
f0c437cf54 Document that citext operators must be in the current search path. 2010-06-03 03:04:55 +00:00
Bruce Momjian
356e4dbf9a Clarify array generate_subscripts() documentation example.
Tim Landscheidt
2010-06-03 02:06:10 +00:00
Bruce Momjian
9b5c3611d7 Document that && geometric operator is true even if only a point
overlaps.

David Fetter
2010-06-03 01:34:02 +00:00
Bruce Momjian
2681c51eca Update C++ release note item wording. 2010-06-01 13:43:39 +00:00
Bruce Momjian
1f152c656b Comment out C++ docs for later user. Tone down C++ compatibility in 9.0
release notes.
2010-06-01 03:19:36 +00:00
Bruce Momjian
d149fbf411 Mention palloc/pfree for C++ memory allocation in docs. 2010-06-01 02:54:37 +00:00
Bruce Momjian
06625abeef Fix SGML markup for tag title. 2010-06-01 02:35:37 +00:00
Bruce Momjian
b67fbb6c57 Add documentation section "Using C++ for Extensibility".
Craig Ringer
2010-06-01 02:31:36 +00:00
Bruce Momjian
a128991705 Overflow box is on page after listed page number, per Alvaro. 2010-05-31 22:42:59 +00:00
Bruce Momjian
0b4150323b Update TeX overflow documentation page pattern mask, in docs. 2010-05-31 22:15:25 +00:00
Bruce Momjian
66dd050560 Document how to find TeX overflow boxes in our documentation build, per
details from Alvaro Herrera.
2010-05-31 22:14:20 +00:00
Alvaro Herrera
a7b2f694e7 Add note about database ownership to REASSIGN OWNED command documentation,
per Josh Berkus.  Add ALTER DATABASE to the "see also" section, too.
2010-05-31 18:47:35 +00:00
Bruce Momjian
6f1932c249 Reword fsync and full_page_writes docs to be clearer about when to turn
them off.

Josh Berkus, with slight wording changes by me.
2010-05-31 15:50:48 +00:00
Tom Lane
b12b7a9038 Change the notation for calling functions with named parameters from
"val AS name" to "name := val", as per recent discussion.

This patch catches everything in the original named-parameters patch,
but I'm not certain that no other dependencies snuck in later (grepping
the source tree for all uses of AS soon proved unworkable).

In passing I note that we've dropped the ball at least once on keeping
ecpg's lexer (as opposed to parser) in sync with the backend.  It would
be a good idea to go through all of pgc.l and see if it's in sync now.
I didn't attempt that at the moment.
2010-05-30 18:10:41 +00:00
Bruce Momjian
2bde07c198 Clarify the meaning of "trusted language" in the documentation. 2010-05-30 02:23:09 +00:00
Tom Lane
63f591e969 Add text to "Populating a Database" pointing out that bulk data load into a
table with foreign key constraints eats memory.  Per off-line discussion of
bug #5480 with its reporter.  Also do some minor wordsmithing elsewhere in
the same section.
2010-05-29 21:08:04 +00:00
Bruce Momjian
d800b036d2 Document that NOT NULL domain constraints are not always honored. 2010-05-29 19:06:16 +00:00
Heikki Linnakangas
23e9fe0391 Fix typos in recent doc patch. Fujii Masao 2010-05-29 09:01:10 +00:00
Bruce Momjian
9b94e3696e Document use of VPATH builds.
David Fetter
2010-05-28 18:04:36 +00:00
Heikki Linnakangas
fe76f93d11 Update High Availability docs. Clarify terms master/primary standby/slave,
move two paragraphs that apply to log shipping in general from the
"Alternative method for log shipping" section to the earlier sections.
Add varname tags where missing. Some small wording changes.
2010-05-28 14:03:31 +00:00
Peter Eisentraut
2175d4fa59 Small correction/clarification in discussion of Unicode literals 2010-05-27 18:23:47 +00:00
Heikki Linnakangas
aa5bec67de Make it more clear that you need to release savepoint with
RELEASE SAVEPOINT to make an older savepoint with the same name
accessible. It's also possible to implicitly release the savepoint by
rolling back to an earlier savepoint, but mentioning that too would make
the note just more verbose and confusing.
2010-05-27 06:25:32 +00:00
Bruce Momjian
f495020ede Fix SGML markup 2010-05-26 23:55:51 +00:00
Tom Lane
1e6b654edc Improve SSL-related documentation. Explain how to deal with certificate
chains, do assorted wordsmithing.
2010-05-26 23:49:19 +00:00
Bruce Momjian
092c38a2a8 Document pgFouine and check_postgres as log analysis options. 2010-05-26 23:29:45 +00:00
Bruce Momjian
238d21d7d2 Modify pg_standby, pgbench, and pg_upgrade manual pages to be consistent
in their display of command-line options with other client applications.
2010-05-25 15:55:28 +00:00
Bruce Momjian
7ff79fa425 Add pg_upgrade docs about binary compatibility, per Robert Haas. 2010-05-25 14:50:56 +00:00
Bruce Momjian
4b9904a0f8 Update pg_upgrade docs to show options in alphabetical order, and
improve 8.3 doc limitations paragraph.
2010-05-24 17:43:39 +00:00
Tom Lane
de98ef62c7 Fix index entry for lo_compat_privileges, per bug #5467 from KOIZUMI Satoru. 2010-05-20 20:32:27 +00:00
Bruce Momjian
47671aae77 Show oid2name command-line arguments in documentation like we do for
non-contrib command-line tools (no longer in a single table display).
2010-05-20 03:45:38 +00:00
Bruce Momjian
9974a46004 SGML markup cleanup for pg_upgrade. 2010-05-19 20:47:18 +00:00
Bruce Momjian
5add506838 Doc change: Rename of directory no longer required for pg_migrator 9.0.
Alvaro
2010-05-19 20:40:33 +00:00
Bruce Momjian
5eae7e1756 pg_upgrade doc cleanup
Stefan Kaltenbrunner
2010-05-19 20:37:03 +00:00
Bruce Momjian
2963d82281 Restore oid2name doc change. 2010-05-19 20:22:05 +00:00
Bruce Momjian
67fd5f3c85 Add command-line documentation for pg_upgrade. 2010-05-19 20:20:38 +00:00
Magnus Hagander
3ef9574102 Refer to pg_ident.conf as config file for username mapping, as it's
now used for other things than just ident authentication.

Noted by Stephen Frost
2010-05-18 19:05:17 +00:00
Magnus Hagander
60e7f45966 Make pg_upgrade documentation refer to 9.0 instead of 8.4.
Fujii Masao
2010-05-18 15:41:36 +00:00
Robert Haas
11f2efd12a Move pg_notify() details to a subsection within the NOTIFY reference page.
This allows the index to reference the pg_notify() subsection specifically,
rather than Notes section of the NOTIFY reference page more generally.

Fujii Masao
2010-05-18 02:28:53 +00:00
Alvaro Herrera
91e01e21a2 Make table in example less wide. 2010-05-17 20:50:44 +00:00
Andrew Dunstan
99ad9236bc Clarify plperl subroutine name release notes item, remove now redundant Safe.pm item. 2010-05-17 17:46:13 +00:00
Robert Haas
6d932df652 Insert line breaks in two places in SQL functions documentation.
This avoids a formatting problem in the PDF output.  In the HTML output this
isn't necessary, but we've done similar things elsewhere in the documentation
so I think it's OK to do it here, too.  I've refrained from breaking a longish
error message which also causes problems for the PDF output, because that would
make the HTML output look wrong.

Erik Rijkers
2010-05-16 04:35:04 +00:00
Robert Haas
4384a95a57 Fix longstanding typo in V1 calling conventions documentation.
Erik Rijkers
2010-05-16 03:55:41 +00:00
Tom Lane
d7b6c8c0a5 Improve documentation of pg_restore's -l and -L switches to point out their
interactions with filtering switches, such as -n and -t.  Per a complaint
from Russell Smith.
2010-05-15 18:11:07 +00:00
Bruce Momjian
36d3afd2d4 Remove all mentions of EnterpriseDB Advanced Server from pg_upgrade;
EDB must maintain their own patch set for this.
2010-05-13 22:51:00 +00:00
Tom Lane
20db9591b2 Update release notes with security issues.
Security: CVE-2010-1169, CVE-2010-1170
2010-05-13 21:26:59 +00:00
Tom Lane
4b8c969c74 Use an entity instead of non-ASCII letter. Thom Brown 2010-05-13 19:16:14 +00:00
Tom Lane
a4bbfb1aac Use "TOAST table" in place of the vague, not-used-elsewhere phrase
"supplementary storage table".
2010-05-13 18:54:18 +00:00
Tom Lane
9ead05b7c3 Prevent PL/Tcl from loading the "unknown" module from pltcl_modules unless
that is a regular table or view owned by a superuser.  This prevents a
trojan horse attack whereby any unprivileged SQL user could create such a
table and insert code into it that would then get executed in other users'
sessions whenever they call pltcl functions.

Worse yet, because the code was automatically loaded into both the "normal"
and "safe" interpreters at first use, the attacker could execute unrestricted
Tcl code in the "normal" interpreter without there being any pltclu functions
anywhere, or indeed anyone else using pltcl at all: installing pltcl is
sufficient to open the hole.  Change the initialization logic so that the
"unknown" code is only loaded into an interpreter when the interpreter is
first really used.  (That doesn't add any additional security in this
particular context, but it seems a prudent change, and anyway the former
behavior violated the principle of least astonishment.)

Security: CVE-2010-1170
2010-05-13 18:29:12 +00:00
Andrew Dunstan
1f474d299d Abandon the use of Perl's Safe.pm to enforce restrictions in plperl, as it is
fundamentally insecure. Instead apply an opmask to the whole interpreter that
imposes restrictions on unsafe operations. These restrictions are much harder
to subvert than is Safe.pm, since there is no container to be broken out of.
Backported to release 7.4.

In releases 7.4, 8.0 and 8.1 this also includes the necessary backporting of
the two interpreters model for plperl and plperlu adopted in release 8.2.

In versions 8.0 and up, the use of Perl's POSIX module to undo its locale
mangling on Windows has become insecure with these changes, so it is
replaced by our own routine, which is also faster.

Nice side effects of the changes include that it is now possible to use perl's
"strict" pragma in a natural way in plperl, and that perl's $a and
$b variables now work as expected in sort routines, and that function
compilation is significantly faster.

Tim Bunce and Andrew Dunstan, with reviews from Alex Hunsaker and
Alexey Klyukin.

Security: CVE-2010-1169
2010-05-13 16:39:43 +00:00
Bruce Momjian
10d66ac8f6 Comment out EnterpriseDB Advanced Server mention in SGML docs. 2010-05-13 15:03:24 +00:00
Magnus Hagander
4cb7536c6b Fix some spelling errors.
Thom Brown
2010-05-13 14:16:41 +00:00
Bruce Momjian
092c36ef99 Fix HISTORY.html build using </link>, not </>. 2010-05-13 12:47:50 +00:00
Peter Eisentraut
3393551d54 Fix vpath installation from distribution tarball (bug #5447) 2010-05-13 11:49:48 +00:00
Bruce Momjian
d8c311c379 Update release notes to current. 2010-05-13 01:57:01 +00:00
Bruce Momjian
9885206cab Move pg_upgrade shared library out into its own /contrib directory
(pg_upgrade_support).
2010-05-13 01:03:01 +00:00
Tom Lane
8aad797362 Preliminary release notes for releases 8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25,
7.4.29.
2010-05-12 23:20:49 +00:00
Bruce Momjian
c2e9b2f288 Add pg_upgrade to /contrib; will be in 9.0 beta2.
Add documentation.

Supports migration from PG 8.3 and 8.4.
2010-05-12 02:19:11 +00:00
Robert Haas
8b8009a20d Mention related ALTER TABLE variants in documentation for CLUSTER.
As suggested by Andy Lester.
2010-05-11 16:07:42 +00:00
Tom Lane
4768fd3fd8 Fix typo: PGTYPES_NUM_OVERFLOW should be PGTYPES_NUM_UNDERFLOW.
Noted by KOIZUMI Satoru.
2010-05-09 16:30:31 +00:00
Heikki Linnakangas
1ba23f767b Fix incorrect parameter tag in docs, spotted by KOIZUMI Satoru. 2010-05-05 15:10:25 +00:00
Alvaro Herrera
d64e81c07e Remove spurious dot, per bug #5446 reported by koizumistr@minos.ocn.ne.jp 2010-05-03 15:35:30 +00:00
Heikki Linnakangas
c0de88c415 Change wording so that you don't need to understand that wal_levels
form a hierarchy. Per Simon's suggestion.
2010-05-03 10:31:29 +00:00
Heikki Linnakangas
1b6c7b1c0b Change "literal" tag to the more appropriate "firstterm", when describing
what "eventually consistent" means.
2010-05-03 09:15:17 +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
Simon Riggs
abeb17cdae Docs for standbycheck regression tests. 2010-05-02 12:22:40 +00:00
Simon Riggs
98bbab47bc Mention that max_standby_delay has units of milliseconds. Units are mentioned
for all other parameters where the default is expressed in a different unit.
2010-05-02 11:32:53 +00:00
Tom Lane
f9ed327f76 Clean up some awkward, inaccurate, and inefficient processing around
MaxStandbyDelay.  Use the GUC units mechanism for the value, and choose more
appropriate timestamp functions for performing tests with it.  Make the
ps_activity manipulation in ResolveRecoveryConflictWithVirtualXIDs have
behavior similar to ps_activity code elsewhere, notably not updating the
display when update_process_title is off and not truncating the display
contents at an arbitrarily-chosen length.  Improve the docs to be explicit
about what MaxStandbyDelay actually measures, viz the difference between
primary and standby servers' clocks, and the possible hazards if their clocks
aren't in sync.
2010-05-02 02:10:33 +00:00
Tom Lane
170456c9d8 Install hack workaround for failure of 'make all' in VPATH builds.
It appears that gmake gets confused if postgres.sgml is not present in
the working directory, and instantiates some default rule or other that
would let postgres.sgml be built from postgres.xml.  I haven't been able
to track down exactly where that's coming from, but the problem can be
dodged by specifying srcdir explicitly in the rule for postgres.xml.
Per report from Vladimir Kokovic.
2010-05-01 21:31:17 +00:00
Tom Lane
f856fad80b Adjust postgres.xml rule so that make will notice a failure exit from osx.
The previous coding had it in a pipe, which on most shells won't report
the error.  Per experimentation with a bug report from Vladimir Kokovic.
This doesn't actually fix his problem, but it does explain why make
didn't report that there was a problem.
2010-05-01 18:15:07 +00:00
Tom Lane
05f030837c Update our information about OS X shared memory configuration: it's now
possible to set most of the SHM kernel parameters without a reboot.
Also, reorder the paragraph to explain the modern configuration method first.
There are probably not too many people who still care about how to do it on
OS X 10.3 or older.
2010-04-30 22:24:50 +00:00
Tom Lane
854b5eb510 Improve COPY documentation to clarify that it doesn't copy data to or from
child tables.  Per gripe from Jaime Casanova.
2010-04-30 19:49:06 +00:00
Marc G. Fournier
f9d9b2b34a tag for 9.0beta1 2010-04-30 03:16:58 +00:00
Bruce Momjian
616a3b2df4 Documentation fix: CREATE TRIGGER 'WHERE' -> 'WHEN'
Selena Deckelmann
2010-04-29 22:03:41 +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
Tom Lane
f0488bd57c Rename the parameter recovery_connections to hot_standby, to reduce possible
confusion with streaming-replication settings.  Also, change its default
value to "off", because of concern about executing new and poorly-tested
code during ordinary non-replicating operation.  Per discussion.

In passing do some minor editing of related documentation.
2010-04-29 21:36:19 +00:00
Bruce Momjian
72e316e4c8 Doc fix -- last major item should not be a bullet. 2010-04-29 21:02:50 +00:00
Bruce Momjian
fbb68396bb Move alpha release notes into a separate file; re-align sgml tags. 2010-04-29 20:54:28 +00:00
Bruce Momjian
ca2c61caac Update 9.0 release notes to current; add major items and introductory
text.
2010-04-29 20:43:22 +00:00
Tom Lane
a5ec86a7c7 Install a workaround for 'TeX capacity exceeded' problem
when building PDF output for recent versions of the documentation.
There is probably a better answer out there somewhere, but
we need something now so we can build beta releases.
2010-04-29 16:32:41 +00:00
Tom Lane
fa171dd8e5 Fix typo, per Thom Brown. 2010-04-28 21:23:29 +00:00
Tom Lane
77acab75df Modify ShmemInitStruct and ShmemInitHash to throw errors internally,
rather than returning NULL for some-but-not-all failures as they used to.
Remove now-redundant tests for NULL from call sites.

We had to do something about this because many call sites were failing to
check for NULL; and changing it like this seems a lot more useful and
mistake-proof than adding checks to the call sites without them.
2010-04-28 16:54:16 +00:00
Alvaro Herrera
5f70a04c56 Make pg_stats example query result a bit less wide, and add comment about
pg_stats.inherited
2010-04-28 16:48:21 +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
Heikki Linnakangas
8f9fe24b10 Add recovery.conf parameters to the documentation index, per suggestion
by Fujii Masao.
2010-04-28 07:34:11 +00:00
Alvaro Herrera
871e73bb27 Reformat code examples in plpgsql docs for better readability in PDF output
Erik Rijkers
2010-04-27 14:32:40 +00:00
Tom Lane
3456cf1831 Update documentation to match pg_stat_activity changes. 2010-04-26 19:56:55 +00:00
Bruce Momjian
132c40424a Document that pgpool can be used with master/slave servers to avoid
problems with non-deterministic functions.
2010-04-26 19:09:25 +00:00
Robert Haas
ab93cd9b05 When we're restricting who can connect, don't allow new walsenders.
Normal superuser processes are allowed to connect even when the database
system is shutting down, or when fewer than superuser_reserved_connection
slots remain.  This is intended to make sure an administrator can log in
and troubleshoot, so don't extend these same courtesies to users connecting
for replication.
2010-04-26 10:52:00 +00:00
Robert Haas
33980a0640 Fix various instances of "the the".
Two of these were pointed out by Erik Rijkers; the rest I found.
2010-04-23 23:21:44 +00:00
Tom Lane
a6dcd19a2a Enforce superuser permissions checks during ALTER ROLE/DATABASE SET, rather
than during define_custom_variable().  This entails rejecting an ALTER
command if the target variable doesn't have a known (non-placeholder)
definition, unless the calling user is superuser.  When the variable *is*
known, we can correctly apply the rule that only superusers can issue ALTER
for SUSET parameters.  This allows define_custom_variable to apply ALTER's
values for SUSET parameters at module load time, secure in the knowledge
that only a superuser could have set the ALTER value.  This change fixes a
longstanding gotcha in the usage of SUSET-level custom parameters; which
is a good thing to fix now that plpgsql defines such a parameter.
2010-04-21 20:54:19 +00:00
Tom Lane
a2c3931a24 Fix pg_hba.conf matching so that replication connections only match records
with database = replication.  The previous coding would allow them to match
ordinary records too, but that seems like a recipe for security breaches.
Improve the messages associated with no-such-pg_hba.conf entry to report
replication connections as such, since that's now a critical aspect of
whether the connection matches.  Make some cursory improvements in the related
documentation, too.
2010-04-21 03:32:53 +00:00
Robert Haas
481cb5d9b5 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.
2010-04-20 11:15:06 +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
Robert Haas
5b89ef384c 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.
2010-04-19 00:55:26 +00:00
Robert Haas
7b130fbc50 Provide better guidance for adjusting shared_buffers. 2010-04-16 21:46:07 +00:00
Bruce Momjian
b4fd1e246e Document that autovacuum cannot vacuum or analyze temporary tables. 2010-04-16 02:22:33 +00:00
Peter Eisentraut
b6c586a36c Improve punctuation 2010-04-15 20:56:13 +00:00
Peter Eisentraut
edde4169b5 IP port -> TCP port
backpatched to 8.1, where this first appeared
2010-04-15 20:48:22 +00:00
Heikki Linnakangas
95eaea4c27 Fix typo, spotted by Erik Rijkers. 2010-04-15 16:25:13 +00:00
Bruce Momjian
0993d2943e Doc change: anyways -> anyway; Erik Rijkers 2010-04-14 02:36:04 +00:00
Bruce Momjian
ea9c103237 Add "SSD" acronym mention for solid state drive mention. 2010-04-13 14:15:25 +00:00
Magnus Hagander
4f57c28da0 Fix typo.
Fujii Masao
2010-04-13 08:19:12 +00:00
Bruce Momjian
325e9cb3a0 Remove example of archive_command from configure section; instead have
users look at the referenced section for examples, per idea from Greg
Smith.
2010-04-12 22:09:58 +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
Heikki Linnakangas
e76b4e0ddb Adjust paragraph about monitoring streaming replication, now that we have
standby_keep_segments.
2010-04-12 10:01:04 +00:00
Heikki Linnakangas
e57cd7f0a1 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.
2010-04-12 09:52:29 +00:00
Robert Haas
1c850fa807 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.
2010-04-08 01:39:37 +00:00
Heikki Linnakangas
0f11ed5886 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.
2010-04-07 10:58:49 +00:00
Heikki Linnakangas
370f770c15 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.
2010-04-07 06:12:52 +00:00
Bruce Momjian
08c1d4e560 Reword exclusion constriants to mention that the operator can return
false or null, per Tom.
2010-04-06 02:18:04 +00:00
Tom Lane
87d5c22925 Clean up description of 9.0's incompatible changes in SIMILAR TO and
SQL-style substring().
2010-04-05 02:46:42 +00:00
Tom Lane
60bd2b1941 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.
2010-04-05 01:58:03 +00:00
Tom Lane
87ecae72ba Minor wording improvement. 2010-04-03 21:46:59 +00:00
Peter Eisentraut
a8af3d1a57 Clarify documentation of to_char EEEE pattern 2010-04-03 07:53:02 +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
Peter Eisentraut
7969145483 Allow for more room in the man page title, so that
"CREATE TEXT SEARCH CONFIGURATION" is not truncated.
2010-04-03 07:16:05 +00:00
Simon Riggs
3e754a89ea Clarify some behaviours of REASSIGN OWNED and DROP OWNED BY. 2010-04-02 17:29:22 +00:00
Peter Eisentraut
a5c317cf78 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.
2010-04-02 14:02:49 +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
0189c42f31 Add contraint exclusion section to contraint docs.
Takahiro Itagaki
2010-04-01 01:18:17 +00:00
Bruce Momjian
38672aaaa1 Add full names for release note item authors. 2010-04-01 00:32:53 +00:00
Bruce Momjian
570e01becc Use test -e rather than test -f. 2010-04-01 00:31:00 +00:00
Bruce Momjian
8ae5160bf3 Improve 9.0 release notes by removing extra parentheses and linking to a
more appropriate place for exclusion constraints.
2010-04-01 00:18:21 +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
Heikki Linnakangas
f185fc3c5e Fix typos, spotted by Thom Brown. 2010-03-31 20:41:50 +00:00
Heikki Linnakangas
ec9ee9381f Enhance standby documentation.
Original patch by Fujii Masao, with heavy editing and bitrot-fixing
after my other commit.
2010-03-31 20:35:09 +00:00
Heikki Linnakangas
259f60e9b6 Mention in the docs that if special keywords like "sameuser" and
"replication" are quoted in pg_hba.conf, they lose their special meaning.
2010-03-31 20:18:10 +00:00
Heikki Linnakangas
991bfe11d2 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.
2010-03-31 19:13:01 +00:00