Bruce Momjian [Tue, 25 May 2010 14:50:56 +0000 (14:50 +0000)]
Add pg_upgrade docs about binary compatibility, per Robert Haas.
Michael Meskes [Tue, 25 May 2010 14:32:55 +0000 (14:32 +0000)]
Added a configure test for "long long" datatypes. So far this is only used in ecpg and replaces the old test that was kind of hackish.
Bruce Momjian [Tue, 25 May 2010 02:56:36 +0000 (02:56 +0000)]
Add Japanese Implementation file to CVS.
Bruce Momjian [Tue, 25 May 2010 02:55:58 +0000 (02:55 +0000)]
Re-order pg_upgrade 'help' options to be alphabetical.
Bruce Momjian [Mon, 24 May 2010 19:52:33 +0000 (19:52 +0000)]
In pg_upgrade, test for datallowconn instead of hardcoding template0.
Bruce Momjian [Mon, 24 May 2010 17:43:39 +0000 (17:43 +0000)]
Update pg_upgrade docs to show options in alphabetical order, and
improve 8.3 doc limitations paragraph.
Bruce Momjian [Mon, 24 May 2010 16:34:35 +0000 (16:34 +0000)]
Split apart pg_upgrade user lookup and root check so '--help' shows
proper default username.
Tom Lane [Sun, 23 May 2010 16:54:13 +0000 (16:54 +0000)]
issue_warnings() has no business freeing its parameter, especially not when
its sole caller does that too. Jan Matousek, via Pavel Stehule
Tom Lane [Sun, 23 May 2010 16:34:38 +0000 (16:34 +0000)]
Fix oversight in join removal patch: we have to delete the removed relation
from SpecialJoinInfo relid sets as well. Per example from Vaclav Novotny.
Robert Haas [Fri, 21 May 2010 17:37:44 +0000 (17:37 +0000)]
Unbreak \h; can't do strlen(NULL).
This was broken by the following commmit. Although the original commit was
backpatched all the way to 7.4, this particular bug exists only in the version
applied to HEAD.
http://archives.postgresql.org/pgsql-committers/2010-05/msg00058.php
Michael Meskes [Thu, 20 May 2010 22:10:46 +0000 (22:10 +0000)]
Ecpg now accepts "long long" datatypes even if "long" is 64bit wide. This used to cover the equally long "long long" type. This patch closes bug #5464.
Tom Lane [Thu, 20 May 2010 20:32:27 +0000 (20:32 +0000)]
Fix index entry for lo_compat_privileges, per bug #5467 from KOIZUMI Satoru.
Magnus Hagander [Thu, 20 May 2010 14:13:11 +0000 (14:13 +0000)]
Change the "N. Central Asia Standard Time" timezone to map to
Asia/Novosibirsk on Windows.
Microsoft changed the behaviour of this zone in the timezone update
from KB976098. The zones differ in handling of DST, and the old
zone was just removed.
Noted by Dmitry Funk
Bruce Momjian [Thu, 20 May 2010 03:45:38 +0000 (03:45 +0000)]
Show oid2name command-line arguments in documentation like we do for
non-contrib command-line tools (no longer in a single table display).
Bruce Momjian [Wed, 19 May 2010 20:47:18 +0000 (20:47 +0000)]
SGML markup cleanup for pg_upgrade.
Bruce Momjian [Wed, 19 May 2010 20:40:33 +0000 (20:40 +0000)]
Doc change: Rename of directory no longer required for pg_migrator 9.0.
Alvaro
Bruce Momjian [Wed, 19 May 2010 20:37:03 +0000 (20:37 +0000)]
pg_upgrade doc cleanup
Stefan Kaltenbrunner
Bruce Momjian [Wed, 19 May 2010 20:22:05 +0000 (20:22 +0000)]
Restore oid2name doc change.
Bruce Momjian [Wed, 19 May 2010 20:20:38 +0000 (20:20 +0000)]
Add command-line documentation for pg_upgrade.
Bruce Momjian [Wed, 19 May 2010 18:56:47 +0000 (18:56 +0000)]
Simplify pg_upgrade queries by using IN instead of multiple OR clauses
comparing the same column to multiple values.
Bruce Momjian [Wed, 19 May 2010 18:27:43 +0000 (18:27 +0000)]
For pg_upgrade, update template0's datfrozenxid and its relfrozenxids to
match the behavior of autovacuum, which does this as the xid advances
even if autovacuum is turned off.
Magnus Hagander [Tue, 18 May 2010 19:05:17 +0000 (19:05 +0000)]
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
Bruce Momjian [Tue, 18 May 2010 18:40:51 +0000 (18:40 +0000)]
Use a 'datallowconn' check for avoiding 'template0', rather than
hardcoding a 'template0' check, per suggestion from Alvaro.
This might fix a problem where someone has allowed 'template0'
connections, but it is a cleaner approach even if doesn't fix the
bug.
Magnus Hagander [Tue, 18 May 2010 15:41:36 +0000 (15:41 +0000)]
Make pg_upgrade documentation refer to 9.0 instead of 8.4.
Fujii Masao
Andrew Dunstan [Tue, 18 May 2010 03:35:34 +0000 (03:35 +0000)]
Fix regression tests to match error message change
Bruce Momjian [Tue, 18 May 2010 03:26:12 +0000 (03:26 +0000)]
Add pg_upgrade TESTING files explaining a testing method.
Robert Haas [Tue, 18 May 2010 02:28:53 +0000 (02:28 +0000)]
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
Alvaro Herrera [Mon, 17 May 2010 20:50:44 +0000 (20:50 +0000)]
Make table in example less wide.
Andrew Dunstan [Mon, 17 May 2010 19:43:04 +0000 (19:43 +0000)]
Follow up a visit from the style police.
Andrew Dunstan [Mon, 17 May 2010 17:46:13 +0000 (17:46 +0000)]
Clarify plperl subroutine name release notes item, remove now redundant Safe.pm item.
Robert Haas [Sun, 16 May 2010 04:35:04 +0000 (04:35 +0000)]
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
Robert Haas [Sun, 16 May 2010 03:55:41 +0000 (03:55 +0000)]
Fix longstanding typo in V1 calling conventions documentation.
Erik Rijkers
Tom Lane [Sat, 15 May 2010 21:41:16 +0000 (21:41 +0000)]
Ensure that pg_restore -l will output DATABASE entries whether or not -C
is specified. Per bug report from Russell Smith and ensuing discussion.
Since this is a corner case behavioral change, I'm going to be conservative
and not back-patch it.
In passing, also rename the RestoreOptions field for the -C switch to
something less generic than "create".
Robert Haas [Sat, 15 May 2010 20:01:32 +0000 (20:01 +0000)]
Rename PM_RECOVERY_CONSISTENT and PMSIGNAL_RECOVERY_CONSISTENT.
The new names PM_HOT_STANDBY and PMSIGNAL_BEGIN_HOT_STANDBY more accurately
reflect their actual function.
Tom Lane [Sat, 15 May 2010 18:11:07 +0000 (18:11 +0000)]
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.
Tom Lane [Sat, 15 May 2010 14:44:13 +0000 (14:44 +0000)]
Spell __NetBSD__ the same way everywhere. Per Giles Lean.
Bruce Momjian [Sat, 15 May 2010 10:21:54 +0000 (10:21 +0000)]
Adjust pg_upgrade BSD defines for scandir(), per report from Giles Lean
Bruce Momjian [Sat, 15 May 2010 10:14:20 +0000 (10:14 +0000)]
Use __bsdi__ consistently.
Bruce Momjian [Sat, 15 May 2010 10:08:28 +0000 (10:08 +0000)]
Change bsdi define to __bsdi__
Heikki Linnakangas [Sat, 15 May 2010 09:31:57 +0000 (09:31 +0000)]
Fix typos in comments, spotted by Josh Kupershmidt.
Simon Riggs [Sat, 15 May 2010 07:14:43 +0000 (07:14 +0000)]
Fix bug in processing of checkpoint time for max_standby_delay. Latest
log time was incorrectly set, typically leading to dates in the past,
which would cause more cancellations in Hot Standby on a quiet server.
Robert Haas [Fri, 14 May 2010 18:08:33 +0000 (18:08 +0000)]
We now accept read-only connections in state PM_RECOVERY_CONSISTENT.
Itagaki Takahiro [Fri, 14 May 2010 10:37:02 +0000 (10:37 +0000)]
Remove CRs.
Simon Riggs [Fri, 14 May 2010 07:11:49 +0000 (07:11 +0000)]
Add many new Asserts in code and fix simple bug that slipped through
without them, related to previous commit. Report by Bruce Momjian.
Tom Lane [Fri, 14 May 2010 00:43:42 +0000 (00:43 +0000)]
Fix another obvious bug pointed out by a compiler warning.
Tom Lane [Fri, 14 May 2010 00:39:51 +0000 (00:39 +0000)]
Remove another unsafe use of random data as a format string.
Tom Lane [Fri, 14 May 2010 00:32:21 +0000 (00:32 +0000)]
Get rid of unsafe sprintf and snprintf usages. Per compiler warnings.
Tom Lane [Fri, 14 May 2010 00:19:46 +0000 (00:19 +0000)]
Spell __darwin__ correctly, to suppress compiler warning on OSX.
Bruce Momjian [Fri, 14 May 2010 00:13:38 +0000 (00:13 +0000)]
Use NAMEDATALEN instead of local define.
Modify path separators for Win32.
Per ideas from Takahiro Itagaki
Bruce Momjian [Thu, 13 May 2010 22:51:00 +0000 (22:51 +0000)]
Remove all mentions of EnterpriseDB Advanced Server from pg_upgrade;
EDB must maintain their own patch set for this.
Tom Lane [Thu, 13 May 2010 22:07:43 +0000 (22:07 +0000)]
Fix up lame idea of not using autoconf to determine if platform has scandir().
Should fix buildfarm failures.
Andrew Dunstan [Thu, 13 May 2010 21:33:00 +0000 (21:33 +0000)]
Fix MSVC builds for recent plperl changes. Go back to version 8.2, which is
where we started supporting MSVC builds.
Security: CVE-2010-1169
Tom Lane [Thu, 13 May 2010 21:26:59 +0000 (21:26 +0000)]
Update release notes with security issues.
Security: CVE-2010-1169, CVE-2010-1170
Tom Lane [Thu, 13 May 2010 19:16:14 +0000 (19:16 +0000)]
Use an entity instead of non-ASCII letter. Thom Brown
Tom Lane [Thu, 13 May 2010 18:54:18 +0000 (18:54 +0000)]
Use "TOAST table" in place of the vague, not-used-elsewhere phrase
"supplementary storage table".
Tom Lane [Thu, 13 May 2010 18:29:12 +0000 (18:29 +0000)]
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
Andrew Dunstan [Thu, 13 May 2010 16:39:43 +0000 (16:39 +0000)]
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
Magnus Hagander [Thu, 13 May 2010 15:58:15 +0000 (15:58 +0000)]
Assorted fixes to make pg_upgrade build on MSVC.
* There is no chmod() on Windows.
* Must always use the 3-parameter version of open()
* There is no dynloader.h - but it also appears unnecessary on all platforms
* Don't include shlobj.h because it causes compile errors, and from what I can
see it's not actually used. This may need to be added back for mingw
and/or cygwin in the worst case.
Peter Eisentraut [Thu, 13 May 2010 15:56:43 +0000 (15:56 +0000)]
Translation update
Magnus Hagander [Thu, 13 May 2010 15:56:22 +0000 (15:56 +0000)]
Properly support multi-line entires (such as OBJS=) when building
PROGRAM, not just MODULE, in contrib.
Bruce Momjian [Thu, 13 May 2010 15:03:24 +0000 (15:03 +0000)]
Comment out EnterpriseDB Advanced Server mention in SGML docs.
Peter Eisentraut [Thu, 13 May 2010 14:35:28 +0000 (14:35 +0000)]
Avoid error from mkdir if no languages are to be installed
mkinstalldirs used to handle no arguments, but mkdir doesn't.
Also remove the .SILENT setting, that was previously removed from
Makefile.global as well.
Magnus Hagander [Thu, 13 May 2010 14:16:41 +0000 (14:16 +0000)]
Fix some spelling errors.
Thom Brown
Andrew Dunstan [Thu, 13 May 2010 13:40:03 +0000 (13:40 +0000)]
Add missing library and include support for pg_upgrade to MSVC build system.
Bruce Momjian [Thu, 13 May 2010 12:47:50 +0000 (12:47 +0000)]
Fix HISTORY.html build using </link>, not </>.
Peter Eisentraut [Thu, 13 May 2010 11:49:48 +0000 (11:49 +0000)]
Fix vpath installation from distribution tarball (bug #5447)
Simon Riggs [Thu, 13 May 2010 11:39:30 +0000 (11:39 +0000)]
Ensure that top level aborts call XLogSetAsyncCommit(). Not doing
so simply leads to data waiting in wal_buffers which then causes
later commits to potentially do emergency writes and for all forms
of replication to be potentially delayed without need or benefit.
Issue pointed out exactly by Fujii Masao, following bug report
by Robert Haas on a separate though related topic.
Simon Riggs [Thu, 13 May 2010 11:15:38 +0000 (11:15 +0000)]
Cleanup initialization of Hot Standby. Clarify working with reanalysis
of requirements and documentation on LogStandbySnapshot(). Fixes
two minor bugs reported by Tom Lane that would lead to an incorrect
snapshot after transaction wraparound. Also fix two other problems
discovered that would give incorrect snapshots in certain cases.
ProcArrayApplyRecoveryInfo() substantially rewritten. Some minor
refactoring of xact_redo_apply() and ExpireTreeKnownAssignedTransactionIds().
Tom Lane [Thu, 13 May 2010 05:17:16 +0000 (05:17 +0000)]
Fix wrong subdir. Per buildfarm.
Bruce Momjian [Thu, 13 May 2010 01:57:01 +0000 (01:57 +0000)]
Update release notes to current.
Bruce Momjian [Thu, 13 May 2010 01:03:01 +0000 (01:03 +0000)]
Move pg_upgrade shared library out into its own /contrib directory
(pg_upgrade_support).
Bruce Momjian [Wed, 12 May 2010 23:48:36 +0000 (23:48 +0000)]
Update comment about why postmaster doesn't get an icon.
Tom Lane [Wed, 12 May 2010 23:20:49 +0000 (23:20 +0000)]
Preliminary release notes for releases 8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25,
7.4.29.
Bruce Momjian [Wed, 12 May 2010 21:42:21 +0000 (21:42 +0000)]
Remove Makefile PGFILEDESC tag that the postmaster is an executable.
Simon Riggs [Wed, 12 May 2010 19:45:02 +0000 (19:45 +0000)]
Give most recovery conflict errors a retryable error code. From recent
requests and discussions with Yeb Havinga and Kevin Grittner.
Tom Lane [Wed, 12 May 2010 16:50:58 +0000 (16:50 +0000)]
Hook pg_upgrade into the contrib makefile structure so it gets built
on the buildfarm.
Peter Eisentraut [Wed, 12 May 2010 16:50:57 +0000 (16:50 +0000)]
Update config.guess and config.sub
Tom Lane [Wed, 12 May 2010 16:50:00 +0000 (16:50 +0000)]
Clean up unnecessary unportability and compiler warnings by removing the
cmp parameter for pg_scandir(). The code failed to support this anyway
for Sun/Windows, so pretending we could accept a parameter other than
NULL was just asking for trouble.
Bruce Momjian [Wed, 12 May 2010 13:59:21 +0000 (13:59 +0000)]
Move pg_upgrade TODO to TODO wiki.
Bruce Momjian [Wed, 12 May 2010 11:33:10 +0000 (11:33 +0000)]
Add PGFILEDESC description to Makefiles for all /contrib executables.
Add PGAPPICON to all executable makefiles.
Bruce Momjian [Wed, 12 May 2010 11:07:24 +0000 (11:07 +0000)]
Small formatting adjustment.
Bruce Momjian [Wed, 12 May 2010 02:24:43 +0000 (02:24 +0000)]
Add pg_upgrade IMPLEMENTATION file to CVS.
Bruce Momjian [Wed, 12 May 2010 02:23:56 +0000 (02:23 +0000)]
Add TODO file to CVS.
Bruce Momjian [Wed, 12 May 2010 02:19:11 +0000 (02:19 +0000)]
Add pg_upgrade to /contrib; will be in 9.0 beta2.
Add documentation.
Supports migration from PG 8.3 and 8.4.
Tom Lane [Tue, 11 May 2010 23:01:27 +0000 (23:01 +0000)]
Update time zone data files to tzdata release 2010j: DST law changes in
Argentina, Australian Antarctic, Bangladesh, Mexico, Morocco, Pakistan,
Palestine, Russia, Syria, Tunisia. Historical corrections for Taiwan.
Tom Lane [Tue, 11 May 2010 22:36:52 +0000 (22:36 +0000)]
Add PKST to the default set of timezone abbreviations.
Per discussion, if we have PKT in there then PKST should be too.
Also, fix mistaken claim that these abbrevs are not known to zic.
Robert Haas [Tue, 11 May 2010 18:14:01 +0000 (18:14 +0000)]
Change typedef for rb_appendator to avoid conflict with C++ reserved words.
Fixes a complaint from src/tools/pginclude/cpluspluscheck reported by
Peter Eisentraut.
Tom Lane [Tue, 11 May 2010 16:42:28 +0000 (16:42 +0000)]
Cause the archiver process to adopt new postgresql.conf settings (particularly
archive_command) as soon as possible, namely just before issuing a new call
of archive_command, even when there is a backlog of files to be archived.
The original coding would only absorb new settings after clearing the backlog
and returning to the outer loop. Per discussion.
Back-patch to 8.3. The logic in prior versions is a bit different and it
doesn't seem worth taking any risks of breaking it.
Robert Haas [Tue, 11 May 2010 16:07:42 +0000 (16:07 +0000)]
Mention related ALTER TABLE variants in documentation for CLUSTER.
As suggested by Andy Lester.
Tom Lane [Tue, 11 May 2010 15:31:37 +0000 (15:31 +0000)]
Fix incorrect patch that removed permission checks on inheritance child
tables --- the parent table no longer got checked, either. Per bug #5458
from Takahiro Itagaki.
Itagaki Takahiro [Tue, 11 May 2010 04:52:28 +0000 (04:52 +0000)]
Set per-function GUC settings during validating the function.
Now validators work properly even when the settings contain
parameters that affect behavior of the function, like search_path.
Reported by Erwin Brandstetter.
Tom Lane [Mon, 10 May 2010 16:25:46 +0000 (16:25 +0000)]
When adding a "target IS NOT NULL" indexqual to the plan for an index-optimized
MIN or MAX, we must take care to insert the added qual in a legal place among
the existing indexquals, if any. The btree index AM requires the quals to
appear in index-column order. We didn't have to worry about this before
because "target IS NOT NULL" was just treated as a plain scan filter condition;
but as of 9.0 it can be an index qual and then it has to follow the rule.
Per report from Ian Barwick.
Tom Lane [Sun, 9 May 2010 18:17:47 +0000 (18:17 +0000)]
Suppress signed-vs-unsigned-char warning.
Tom Lane [Sun, 9 May 2010 18:11:55 +0000 (18:11 +0000)]
Fix missing static declaration for XLogRead().
Tom Lane [Sun, 9 May 2010 16:30:31 +0000 (16:30 +0000)]
Fix typo: PGTYPES_NUM_OVERFLOW should be PGTYPES_NUM_UNDERFLOW.
Noted by KOIZUMI Satoru.
Tom Lane [Sun, 9 May 2010 02:16:00 +0000 (02:16 +0000)]
Adjust comments about avoiding use of printf's %.*s.
My initial impression that glibc was measuring the precision in characters
(which is what the Linux man page says it does) was incorrect. It does take
the precision to be in bytes, but it also tries to truncate the string at a
character boundary. The bottom line remains the same: it will mess up
if the string is not in the encoding it expects, so we need to avoid %.*s
anytime there's a significant risk of that. Previous code changes are still
good, but adjust the comments to reflect this knowledge. Per research by
Hernan Gonzalez.
Tom Lane [Sat, 8 May 2010 16:39:53 +0000 (16:39 +0000)]
Work around a subtle portability problem in use of printf %s format.
Depending on which spec you read, field widths and precisions in %s may be
counted either in bytes or characters. Our code was assuming bytes, which
is wrong at least for glibc's implementation, and in any case libc might
have a different idea of the prevailing encoding than we do. Hence, for
portable results we must avoid using anything more complex than just "%s"
unless the string to be printed is known to be all-ASCII.
This patch fixes the cases I could find, including the psql formatting
failure reported by Hernan Gonzalez. In HEAD only, I also added comments
to some places where it appears safe to continue using "%.*s".
Michael Meskes [Fri, 7 May 2010 19:35:03 +0000 (19:35 +0000)]
ECPG connect routine only checked for NULL to find empty parameters, but user and password can also be "".
Tom Lane [Thu, 6 May 2010 19:28:25 +0000 (19:28 +0000)]
On Linux, use --enable-new-dtags when specifying -rpath to linker.
This should allow LD_LIBRARY_PATH to work as desired. Per trouble
report from Andy Colson.
Itagaki Takahiro [Thu, 6 May 2010 02:12:38 +0000 (02:12 +0000)]
Code page for EUC-KR is surely 51949.