OSDN Git Service
Simon Riggs [Tue, 8 Feb 2011 18:30:22 +0000 (18:30 +0000)]
Basic Recovery Control functions for use in Hot Standby. Pause, Resume,
Status check functions only. Also, new recovery.conf parameter to
pause_at_recovery_target, default on.
Simon Riggs, reviewed by Fujii Masao
Heikki Linnakangas [Tue, 8 Feb 2011 16:14:26 +0000 (18:14 +0200)]
UINT64_MAX isn't defined on MSVC.
Simon Riggs [Tue, 8 Feb 2011 14:38:02 +0000 (14:38 +0000)]
Remove rare corner case for data loss when triggering standby server.
If the standby was streaming when trigger file arrives, check also in the
archive for additional WAL files. This is a corner case since it is
unlikely that we would trigger a failover while the master is still
available and sending data to standby, while at the same time running in
archive mode and also while the streaming standby has fallen behind archive.
Someone would eventually be unlucky; we must plug all gaps however small.
Fujii Masao
Simon Riggs [Tue, 8 Feb 2011 12:23:20 +0000 (12:23 +0000)]
Extend ALTER TABLE to allow Foreign Keys to be added without initial validation.
FK constraints that are marked NOT VALID may later be VALIDATED, which uses an
ShareUpdateExclusiveLock on constraint table and RowShareLock on referenced
table. Significantly reduces lock strength and duration when adding FKs.
New state visible from psql.
Simon Riggs, with reviews from Marko Tiikkaja and Robert Haas
Heikki Linnakangas [Tue, 8 Feb 2011 07:03:08 +0000 (09:03 +0200)]
Fix copy-pasto in description of pg_serial, and silence compiler warning
about uninitialized field you get on some compilers.
Robert Haas [Tue, 8 Feb 2011 03:04:29 +0000 (22:04 -0500)]
Avoid having autovacuum workers wait for relation locks.
Waiting for relation locks can lead to starvation - it pins down an
autovacuum worker for as long as the lock is held. But if we're doing
an anti-wraparound vacuum, then we still wait; maintenance can no longer
be put off.
To assist with troubleshooting, if log_autovacuum_min_duration >= 0,
we log whenever an autovacuum or autoanalyze is skipped for this reason.
Per a gripe by Josh Berkus, and ensuing discussion.
Heikki Linnakangas [Mon, 7 Feb 2011 22:24:23 +0000 (00:24 +0200)]
Oops, forgot to bump catversion in the Serializable Snapshot Isolation patch.
I thought we didn't need that, but then I remembered that it added a new
SLRU subdirectory, pg_serial. While we're at it, document what pg_serial is.
Heikki Linnakangas [Mon, 7 Feb 2011 21:46:51 +0000 (23:46 +0200)]
Implement genuine serializable isolation level.
Until now, our Serializable mode has in fact been what's called Snapshot
Isolation, which allows some anomalies that could not occur in any
serialized ordering of the transactions. This patch fixes that using a
method called Serializable Snapshot Isolation, based on research papers by
Michael J. Cahill (see README-SSI for full references). In Serializable
Snapshot Isolation, transactions run like they do in Snapshot Isolation,
but a predicate lock manager observes the reads and writes performed and
aborts transactions if it detects that an anomaly might occur. This method
produces some false positives, ie. it sometimes aborts transactions even
though there is no anomaly.
To track reads we implement predicate locking, see storage/lmgr/predicate.c.
Whenever a tuple is read, a predicate lock is acquired on the tuple. Shared
memory is finite, so when a transaction takes many tuple-level locks on a
page, the locks are promoted to a single page-level lock, and further to a
single relation level lock if necessary. To lock key values with no matching
tuple, a sequential scan always takes a relation-level lock, and an index
scan acquires a page-level lock that covers the search key, whether or not
there are any matching keys at the moment.
A predicate lock doesn't conflict with any regular locks or with another
predicate locks in the normal sense. They're only used by the predicate lock
manager to detect the danger of anomalies. Only serializable transactions
participate in predicate locking, so there should be no extra overhead for
for other transactions.
Predicate locks can't be released at commit, but must be remembered until
all the transactions that overlapped with it have completed. That means that
we need to remember an unbounded amount of predicate locks, so we apply a
lossy but conservative method of tracking locks for committed transactions.
If we run short of shared memory, we overflow to a new "pg_serial" SLRU
pool.
We don't currently allow Serializable transactions in Hot Standby mode.
That would be hard, because even read-only transactions can cause anomalies
that wouldn't otherwise occur.
Serializable isolation mode now means the new fully serializable level.
Repeatable Read gives you the old Snapshot Isolation level that we have
always had.
Kevin Grittner and Dan Ports, reviewed by Jeff Davis, Heikki Linnakangas and
Anssi Kääriäinen
Itagaki Takahiro [Mon, 7 Feb 2011 07:51:39 +0000 (16:51 +0900)]
Fix a comment for MergeAttributes.
We forgot to adjust it when we changed relistemp to relpersistence.
Andrew Dunstan [Mon, 7 Feb 2011 02:36:56 +0000 (21:36 -0500)]
Supply now required HeUTF8 macro for plperl where it's missing, per buildfarm results.
Itagaki Takahiro [Mon, 7 Feb 2011 01:46:56 +0000 (10:46 +0900)]
Fix error messages for FreeFile in COPY command.
They are extracted from COPY API patch.
suggested by Noah Misch
Bruce Momjian [Sun, 6 Feb 2011 23:32:27 +0000 (18:32 -0500)]
remove tags.
Andrew Dunstan [Sun, 6 Feb 2011 22:29:26 +0000 (17:29 -0500)]
Force strings passed to and from plperl to be in UTF8 encoding.
String are converted to UTF8 on the way into perl and to the
database encoding on the way back. This avoids a number of
observed anomalies, and ensures Perl a consistent view of the
world.
Some minor code cleanups are also accomplished.
Alex Hunsaker, reviewed by Andy Colson.
Bruce Momjian [Sun, 6 Feb 2011 17:04:42 +0000 (12:04 -0500)]
Adjust libpq docs to be clearer about 'hostaddr' usage by rewording and
using an itemized list.
Bruce Momjian [Sun, 6 Feb 2011 15:46:15 +0000 (10:46 -0500)]
Rename macro DECIMAL to DECIMAL_T to help pgindent; this is already
done for a few other macros in that file, for other reasons. I also
remove pgindent/README mention of the file.
Magnus Hagander [Sun, 6 Feb 2011 06:46:14 +0000 (07:46 +0100)]
IDENTIFY_SYSTEM now returns 3 fields, not 2
Robert Haas [Sun, 6 Feb 2011 05:26:27 +0000 (00:26 -0500)]
Tighten ALTER FOREIGN TABLE .. SET DATA TYPE checks.
If the foreign table's rowtype is being used as the type of a column in
another table, we can't just up and change its data type. This was
already checked for composite types and ordinary tables, but we
previously failed to enforce it for foreign tables.
Bruce Momjian [Sat, 5 Feb 2011 04:27:45 +0000 (23:27 -0500)]
Add C comment about why older compilers complain about basebackup.c's
longjump.
Andrew Dunstan [Sat, 5 Feb 2011 01:49:39 +0000 (20:49 -0500)]
Attempt to unbreak MSVC builds after pipe.c move.
Bruce Momjian [Fri, 4 Feb 2011 22:30:22 +0000 (17:30 -0500)]
Add doc comment that installation.sgml can't use xrefs.
Robert Haas [Fri, 4 Feb 2011 21:14:54 +0000 (16:14 -0500)]
Clarify comment in ATRewriteTable().
Make sure it's clear that the prohibition on adding a column with a default
when the rowtype is used elsewhere is intentional, and be a bit more
explicit about the other cases where we perform this check.
Robert Haas [Fri, 4 Feb 2011 20:52:21 +0000 (15:52 -0500)]
Move pipe.c into the backend.
It's full of backend-specific error reporting, so it's neither possible
nor necessary for this to be used from frontend code.
Bruce Momjian [Fri, 4 Feb 2011 19:23:01 +0000 (14:23 -0500)]
In docs, move PQrequestCancel() deprecation mention up to match other
libpq doc mentions.
Robert Haas [Fri, 4 Feb 2011 18:11:53 +0000 (13:11 -0500)]
Avoid including postgres.h in frontend compiles of src/port.
This isn't kosher, and doesn't play nicely with my recent changes to the
Makefile in this directory.
Robert Haas [Fri, 4 Feb 2011 18:08:56 +0000 (13:08 -0500)]
Update ALTER TABLE docs to mention using VACUUM FULL for rewrites.
Remove the claim that ALTER TABLE .. SET DATA TYPE is the fastest way of
rewriting a table, since it no longer is.
Noah Misch and Robert Haas, based on a suggestion from Tom Lane.
Robert Haas [Fri, 4 Feb 2011 14:48:32 +0000 (09:48 -0500)]
Use $(MAKE) rather than make.
Per buildfarm.
Robert Haas [Fri, 4 Feb 2011 14:28:06 +0000 (09:28 -0500)]
Make handling of errcodes.h more consistent with other generated headers.
This fixes make distprep, and seems more robust in other ways as well.
Some special handling is required because errcodes.txt is needed by
some stuff in src/port, but just by src/backend as is the case for the
other generated headers.
While I'm at it, fix a few other things that were overlooked in the
original patch.
Magnus Hagander [Fri, 4 Feb 2011 14:23:34 +0000 (15:23 +0100)]
Attempt to un-break the documentation build again
Another case of <xref linkend> in the documentation that
builds INSTALL, which is not allowed.
Robert Haas [Fri, 4 Feb 2011 12:03:19 +0000 (07:03 -0500)]
Unbreak 'configure' followed immediately by 'make install'.
More fallout from
ddfe26f6441c24660595c5efe5fd0bd3974cdc5c.
Report by Fujii Masao.
Magnus Hagander [Fri, 4 Feb 2011 09:52:25 +0000 (10:52 +0100)]
Use single quotes when there are backslashes in the filename
In the hope of unbreaking the buildfarm
Robert Haas [Fri, 4 Feb 2011 05:07:08 +0000 (00:07 -0500)]
Unbreak the VPATH build.
My commit
ddfe26f6441c24660595c5efe5fd0bd3974cdc5c of 2010-02-03 broke it.
Per buildfarm.
Robert Haas [Fri, 4 Feb 2011 03:38:02 +0000 (22:38 -0500)]
Preserve copyright notice from old errcodes.h file.
Robert Haas [Fri, 4 Feb 2011 03:32:49 +0000 (22:32 -0500)]
Avoid maintaining three separate copies of the error codes list.
src/pl/plpgsql/src/plerrcodes.h, src/include/utils/errcodes.h, and a
big chunk of errcodes.sgml are now automatically generated from a single
file, src/backend/utils/errcodes.txt.
Jan Urbański, reviewed by Tom Lane.
Robert Haas [Thu, 3 Feb 2011 20:14:27 +0000 (15:14 -0500)]
ALTER TABLE sometimes takes only ShareUpdateExclusiveLock.
Along the way, be more consistent about the wording we use here.
Bruce Momjian [Thu, 3 Feb 2011 16:54:07 +0000 (11:54 -0500)]
In docs, PL is Procedural Language, not Programming Language.
Satoshi Nagayasu
Bruce Momjian [Thu, 3 Feb 2011 15:46:31 +0000 (10:46 -0500)]
Simplify code used in is_absolute_path() macro; also add comment about
'E:abc' Win32 path handling.
Magnus Hagander [Thu, 3 Feb 2011 12:46:23 +0000 (13:46 +0100)]
Include more status information in walsender results
Add the current xlog insert location to the response of
IDENTIFY_SYSTEM, and adds result sets containing start
and stop location of backups to BASE_BACKUP responses.
Magnus Hagander [Thu, 3 Feb 2011 10:24:47 +0000 (11:24 +0100)]
Fix typo.
Thom Brown
Robert Haas [Thu, 3 Feb 2011 05:23:44 +0000 (00:23 -0500)]
Further sepgsql documentation cleanup.
Robert Haas [Thu, 3 Feb 2011 04:47:45 +0000 (23:47 -0500)]
sepgsql doc fix
KaiGai Kohei
Robert Haas [Thu, 3 Feb 2011 04:46:51 +0000 (23:46 -0500)]
Minor sepgsql regression test fixes.
Robert Haas [Thu, 3 Feb 2011 04:39:43 +0000 (23:39 -0500)]
Various sepgsql corrections.
KaiGai Kohei
Bruce Momjian [Thu, 3 Feb 2011 03:49:54 +0000 (22:49 -0500)]
Rename function to first_path_var_separator() to clarify it works with
path variables, not directory paths.
Bruce Momjian [Thu, 3 Feb 2011 03:28:14 +0000 (22:28 -0500)]
Clearify macro IS_PATH_VAR_SEP in path.c so it is clear this is a path
variable, not a directory path.
Robert Haas [Thu, 3 Feb 2011 02:08:53 +0000 (21:08 -0500)]
Log restartpoints in the same fashion as checkpoints.
Prior to 9.0, restartpoints never created, deleted, or recycled WAL
files, but now they can. This code makes log_checkpoints treat
checkpoints and restartpoints symmetrically. It also adjusts up
the documentation of the parameter to mention restartpoints.
Fujii Masao. Docs by me, as suggested by Itagaki Takahiro.
Tom Lane [Thu, 3 Feb 2011 01:26:43 +0000 (20:26 -0500)]
Repair multiple breakage in Windows-specific code for appending '.exe'.
Tom Lane [Thu, 3 Feb 2011 01:16:27 +0000 (20:16 -0500)]
Clean up missed change to plpython expected files.
Bruce Momjian [Wed, 2 Feb 2011 23:06:38 +0000 (18:06 -0500)]
Mark all GUC variables with <varname> markup, rather than <literal>.
Bruce Momjian [Wed, 2 Feb 2011 21:53:12 +0000 (16:53 -0500)]
Fix wrong verb in pg_upgrade text message, per Haas.
Bruce Momjian [Wed, 2 Feb 2011 20:40:20 +0000 (15:40 -0500)]
Simplify pg_upgrade checking of executable permissions.
Peter Eisentraut [Wed, 2 Feb 2011 20:06:10 +0000 (22:06 +0200)]
Wrap PL/Python SPI calls into subtransactions
This allows the language-specific try/catch construct to catch and
handle exceptions arising from SPI calls, matching the behavior of
other PLs.
As an additional bonus you no longer get all the ugly "unrecognized
error in PLy_spi_execute_query" errors.
Jan Urbański, reviewed by Steve Singer
Andrew Dunstan [Wed, 2 Feb 2011 17:45:42 +0000 (12:45 -0500)]
Add comment on why we're passing a useless 'false' to the plperl function compiler.
It's for compatibility with modules like PostgreSQL::PLPerl::NYTProf.
Bruce Momjian [Tue, 1 Feb 2011 22:17:34 +0000 (17:17 -0500)]
Document that CREATE VIEW that uses "*" for the column list will not
auto-add columns later added to the base table.
Bruce Momjian [Tue, 1 Feb 2011 22:00:26 +0000 (17:00 -0500)]
Properly capitalize hyphenated words in documentation titles.
Bruce Momjian [Tue, 1 Feb 2011 21:43:51 +0000 (16:43 -0500)]
Clarify documentation to state that "zero_damaged_pages" does not force
data to disk, so the table or index should be recreated before the
parameter is turned off again.
Peter Eisentraut [Tue, 1 Feb 2011 20:53:40 +0000 (22:53 +0200)]
Add validator to PL/Python
Jan Urbański, reviewed by Hitoshi Harada
Bruce Momjian [Tue, 1 Feb 2011 20:23:35 +0000 (15:23 -0500)]
Document that effective cache size does not assume data remains in the
cache between queries.
Bruce Momjian [Tue, 1 Feb 2011 20:21:22 +0000 (15:21 -0500)]
Document that Slony can do upgrades easier _because_ it supports
replication between different Postgres major versions.
Bruce Momjian [Tue, 1 Feb 2011 18:57:43 +0000 (13:57 -0500)]
Clarify pg_upgrade install instructions, per suggestion from Robert Haas.
Bruce Momjian [Tue, 1 Feb 2011 18:53:04 +0000 (13:53 -0500)]
Add missing period "." in pg_upgrade documentation.
Bruce Momjian [Tue, 1 Feb 2011 17:22:34 +0000 (12:22 -0500)]
Add pg_upgrade comment for why we can't use template1 inheritance for
the support functions.
Andrew Dunstan [Tue, 1 Feb 2011 14:43:25 +0000 (09:43 -0500)]
Set up PLPerl trigger data using C code instead of Perl code.
This is an efficiency change, and means we now no longer have to run
"out $_TD; local $_TD = shift;", which was especially pointless in the case of
non-trigger functions where the passed value was always undef anyway.
A tiny open issue is whether we should get rid of the $prolog argument of
mkfunc, and the corresponding pushed value, which is now just a constant "false".
Tim Bunce, reviewed by Alex Hunsaker.
Magnus Hagander [Tue, 1 Feb 2011 12:19:18 +0000 (13:19 +0100)]
Undefine setlocale() macro on Win32
New versions of libintl redefine setlocale() to a macro
which causes problems when the backend and libintl are
linked against different versions of the runtime, which
is often the case in msvc builds.
Hiroshi Inoue, slightly updated comment by me
Simon Riggs [Tue, 1 Feb 2011 08:44:01 +0000 (08:44 +0000)]
Re-classify ERRCODE_DATABASE_DROPPED to 57P04
Itagaki Takahiro [Tue, 1 Feb 2011 06:21:32 +0000 (15:21 +0900)]
Fix wrong error reports in 'number of array dimensions exceeds the
maximum allowed' messages, that have reported one-less dimensions.
Alexey Klyukin
Itagaki Takahiro [Tue, 1 Feb 2011 05:26:17 +0000 (14:26 +0900)]
Add a link from client_encoding parameter to the list of character sets
in documentation.
Thom Brown
Bruce Momjian [Tue, 1 Feb 2011 03:53:58 +0000 (22:53 -0500)]
Improve docs for pg_authid encryption description with better markup and
a mention of unencrypted passwords.
Bruce Momjian [Tue, 1 Feb 2011 03:28:42 +0000 (22:28 -0500)]
In pg_authid.rolpassword docs, make "md5" appear as a literal.
Tom Lane [Tue, 1 Feb 2011 02:33:55 +0000 (21:33 -0500)]
Support LIKE and ILIKE index searches via contrib/pg_trgm indexes.
Unlike Btree-based LIKE optimization, this works for non-left-anchored
search patterns. The effectiveness of the search depends on how many
trigrams can be extracted from the pattern. (The worst case, with no
trigrams, degrades to a full-table scan, so this isn't a panacea. But
it can be very useful.)
Alexander Korotkov, reviewed by Jan Urbanski
Bruce Momjian [Tue, 1 Feb 2011 01:15:43 +0000 (20:15 -0500)]
Fix pg_upgrade to create pg_authid restore functions in the 'postgres'
database, not in the os-user database, per report from Magnus.
Simon Riggs [Tue, 1 Feb 2011 00:20:53 +0000 (00:20 +0000)]
Create new errcode for recovery conflict caused by db drop on
Previously reported as ERRCODE_ADMIN_SHUTDOWN, this case is now
reported as ERRCODE_T_R_DATABASE_DROPPED. No message text change.
Unlikely to happen on most servers, so low impact change to allow
session poolers to correctly handle this situation.
Tatsuo Ishii, edits by me, review by Robert Haas
Heikki Linnakangas [Mon, 31 Jan 2011 20:51:51 +0000 (22:51 +0200)]
Remove spurious word, spotted by Thom Brown.
Bruce Momjian [Mon, 31 Jan 2011 20:21:51 +0000 (15:21 -0500)]
Update pg_upgrade docs to mention its use in a less risk-warning way,
and update the pg_upgrade docs to mention its reliance on no changes to
the storage format (the later based on Robert Haas's patch).
Bruce Momjian [Mon, 31 Jan 2011 19:58:49 +0000 (14:58 -0500)]
Fix SGML markup for upgrade doc addition.
Simon Riggs [Mon, 31 Jan 2011 19:20:23 +0000 (19:20 +0000)]
Fix error code for canceling statement due to conflict with recovery.
All retryable conflict errors now have an error code that indicates that
a retry is possible, correcting my incomplete fix of 2010/05/12
Tatsuo Ishii and Simon Riggs, input from Robert Haas and Florian Pflug
Andrew Dunstan [Mon, 31 Jan 2011 18:40:45 +0000 (13:40 -0500)]
Update docs on building for Windows to accomodate current reality.
Document how to build 64 bit Windows binaries using the MinGW64 tool set.
Remove recommendation against using Mingw as a build platform.
Be more specific about when Cygwin is useful and when it's not, in
particular note its usefulness for running psql, and
add a note about building on Cygwin in non-C locales.
Per recent discussions.
Bruce Momjian [Mon, 31 Jan 2011 17:32:03 +0000 (12:32 -0500)]
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.
Heikki Linnakangas [Mon, 31 Jan 2011 16:29:38 +0000 (18:29 +0200)]
Fix typo
Heikki Linnakangas [Mon, 31 Jan 2011 16:13:01 +0000 (18:13 +0200)]
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.
Andrew Dunstan [Mon, 31 Jan 2011 01:34:05 +0000 (20:34 -0500)]
Fix typo
Andrew Dunstan [Mon, 31 Jan 2011 00:56:46 +0000 (19:56 -0500)]
Enable building with the Mingw64 compiler.
This can be used to build 64 bit Windows binaries, not only on 64 bit
Windows but on supported cross-compiling hosts including 32 bit Windows,
Cygwin, Darwin and Linux.
Tom Lane [Sun, 30 Jan 2011 22:04:31 +0000 (17:04 -0500)]
Make reduce_outer_joins() smarter about semijoins.
reduce_outer_joins() mistakenly treated a semijoin like a left join for
purposes of deciding whether not-null constraints created by the join's
quals could be passed down into the join's left-hand side (possibly
resulting in outer-join simplification there). Actually, semijoin works
like inner join for this purpose, ie, we do not need to see any rows that
can't possibly satisfy the quals. Hence, two-line fix to treat semi and
inner joins alike. Per observation by Andres Freund about a performance
gripe from Yazan Suleiman.
Back-patch to 8.4, since this oversight has been there since the current
handling of semijoins was implemented.
Magnus Hagander [Sun, 30 Jan 2011 20:30:09 +0000 (21:30 +0100)]
Add option to include WAL in base backup
When included, this makes the base backup a complete working
"clone" of the initial database, ready to have a postmaster
started against it without the need to set up any log archiving
or similar.
Magnus Hagander, reviewed by Fujii Masao and Heikki Linnakangas
Bruce Momjian [Sat, 29 Jan 2011 18:00:18 +0000 (13:00 -0500)]
Properly capitalize documentation headings; some only had initial-word
capitalization.
Tom Lane [Sat, 29 Jan 2011 17:51:44 +0000 (12:51 -0500)]
Make installation.sgml build standalone again.
We must not try to link to sections that aren't part of the standalone
"make INSTALL" build. Corrects build failure introduced in commit
159e3d86292cfec2a2828f9f69ac7a6cb1be242d.
Magnus Hagander [Sat, 29 Jan 2011 16:06:55 +0000 (17:06 +0100)]
Use GSSAPI library for SSPI auth, when native SSPI is not available
This allows non-Windows clients to connect to a Windows
server with SSPI authentication.
Christian Ullrich, largely modified by me
Robert Haas [Sat, 29 Jan 2011 13:08:41 +0000 (08:08 -0500)]
Try to avoid running with a full fsync request queue.
When we need to insert a new entry and the queue is full, compact the
entire queue in the hopes of making room for the new entry. Doing this
on every insertion might worsen contention on BgWriterCommLock, but
when the queue it's full, it's far better than allowing the backend to
perform its own fsync, per testing by Greg Smith as reported in
http://archives.postgresql.org/pgsql-hackers/2011-01/msg02665.php
Original idea from Greg Smith. Patch by me. Review by Chris Browne
and Greg Smith
Tom Lane [Fri, 28 Jan 2011 19:34:42 +0000 (14:34 -0500)]
Copy-edit a paragraph in the contrib/seg documentation.
Although this improves the style, an ulterior motive is to keep the two
table links from breaking across lines in PDF output, per complaint from
Josh Kupershmidt.
Tom Lane [Thu, 27 Jan 2011 23:42:12 +0000 (18:42 -0500)]
Rephrase pg_conversion description to avoid splitting link across page.
The link to the CREATE CONVERSION manual page was split across a page
boundary in the PDF output, leading to "\pdfendlink ended up in different
nesting level than \pdfstartlink" error while building PDFs.
It wouldn't be worth changing text that's undergoing active editing to
avoid this, since other editing might result in moving the link away from
the page end anyway. But this paragraph has been static for a long time,
so might as well fix it to prevent it from being an issue in future.
Tom Lane [Thu, 27 Jan 2011 22:45:37 +0000 (17:45 -0500)]
Update release notes.
Security: CVE-2010-4015
Tom Lane [Thu, 27 Jan 2011 22:41:41 +0000 (17:41 -0500)]
Prevent buffer overrun while parsing an integer in a "query_int" value.
contrib/intarray's gettoken() uses a fixed-size buffer to collect an
integer's digits, and did not guard against overrunning the buffer.
This is at least a backend crash risk, and in principle might allow
arbitrary code execution. The code didn't check for overflow of the
integer value either, which while not presenting a crash risk was still
bad.
Thanks to Apple Inc's security team for reporting this issue and supplying
the fix.
Security: CVE-2010-4015
Tom Lane [Thu, 27 Jan 2011 21:27:27 +0000 (16:27 -0500)]
Don't include <asm/ia64regs.h> unnecessarily.
We only need that header when compiling with icc, since the gcc variant of
ia64_get_bsp() uses in-line assembly code. Per report from Frank Brendel,
the header doesn't exist on all IA64 platforms; so don't include it unless
we need it.
Tom Lane [Thu, 27 Jan 2011 21:09:39 +0000 (16:09 -0500)]
Update release notes for releases 9.0.3, 8.4.7, 8.3.14, and 8.2.20.
Heikki Linnakangas [Thu, 27 Jan 2011 18:20:08 +0000 (20:20 +0200)]
Update psql's \copyright to match the text we have in the COPYRIGHT file.
Tom Lane [Thu, 27 Jan 2011 17:48:57 +0000 (12:48 -0500)]
Improve grammar and spelling in durability discussion.
Bruce Momjian [Thu, 27 Jan 2011 17:06:26 +0000 (12:06 -0500)]
Update non-durable docs about non-synchronous-commit allowing
transaction loss for a _database_ crash.
Robert Haas [Thu, 27 Jan 2011 13:35:34 +0000 (08:35 -0500)]
Restore ALTER TABLE .. ADD COLUMN w/DEFAULT restriction.
This reverts commit
a06e41deebdf74b8b5109329dc75b2e9d9057962 of 2011-01-26.
Per discussion, this behavior is not wanted, as it would need to change if
we ever made composite types support DEFAULT.
Bruce Momjian [Thu, 27 Jan 2011 00:54:41 +0000 (19:54 -0500)]
Restructure streaming docs so streaming seems more integrated in the
paragraphs, per suggestion from Dan Birken.
Tom Lane [Thu, 27 Jan 2011 00:33:50 +0000 (19:33 -0500)]
Change inv_truncate() to not repeat its systable_getnext_ordered() scan.
In the case where the initial call of systable_getnext_ordered() returned
NULL, this function would nonetheless call it again. That's undefined
behavior that only by chance failed to not give visibly incorrect results.
Put an if-test around the final loop to prevent that, and in passing
improve some comments. No back-patch since there's no actual failure.
Per report from YAMAMOTO Takashi.
Peter Eisentraut [Wed, 26 Jan 2011 23:23:48 +0000 (01:23 +0200)]
Use -Wformat-security when available