summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-12-04Include isinf.o in libecpg if isinf() is not available on the system.Michael Meskes
Patch done by Jiang Guiqing <jianggq@cn.fujitsu.com>.
2012-12-04Downgrade a status message from LOG to DEBUG2.Heikki Linnakangas
I never intended this to be anything other than a debugging aid, but forgot to change the level before committing.
2012-12-04Write exact xlog position of timeline switch in the timeline history file.Heikki Linnakangas
This allows us to do some more rigorous sanity checking for various incorrect point-in-time recovery scenarios, and provides more information for debugging purposes. It will also come handy in the upcoming patch to allow timeline switches to be replicated by streaming replication.
2012-12-04In initdb.c, move auth warning code into main() from secondary function.Bruce Momjian
2012-12-04In pg_upgrade testing script, turn off command echo at the end so statusBruce Momjian
report is clearer.
2012-12-04Fix build of LDAP URL featurePeter Eisentraut
Some code was not ifdef'ed out for non-LDAP builds. patch from Bruce Momjian
2012-12-04Track the timeline associated with minRecoveryPoint, for more sanity checks.Heikki Linnakangas
This allows recovery to notice certain incorrect recovery scenarios. If a server has recovered to point X on timeline 5, and you restart recovery, it better be on timeline 5 when it reaches point X again, not on some timeline with a higher ID. This can happen e.g if you a standby server is shut down, a new timeline appears in the WAL archive, and the standby server is restarted. It will try to follow the new timeline, which is wrong because some WAL on the old timeline was already replayed before shutdown. Requires an initdb (or at least pg_resetxlog), because this adds a field to the control file.
2012-12-03Restore set -x in pg_upgrade/test.sh, so the user can see what is beingBruce Momjian
executed.
2012-12-03Add support for LDAP URLsPeter Eisentraut
Allow specifying LDAP authentication parameters as RFC 4516 LDAP URLs.
2012-12-03In initdb.c, rename some newly created functions, and move the directoryBruce Momjian
creation and xlog symlink creation to separate functions. Per suggestions from Andrew Dunstan.
2012-12-03Add initdb --sync-only option to sync the data directory to durableBruce Momjian
storage. Have pg_upgrade use it, and enable server options fsync=off and full_page_writes=off. Document that users turning fsync from off to on should run initdb --sync-only. [ Previous commit was incorrectly applied as a git merge. ]
2012-12-03Revert initdb --sync-only patch that had incorrect commit messages.Bruce Momjian
2012-12-03dummy commitBruce Momjian
2012-12-03dummy commitBruce Momjian
2012-12-03dummy commitBruce Momjian
2012-12-03dummy commitBruce Momjian
2012-12-03In pg_upgrade, fix bug where no users were dumped in pg_dumpallBruce Momjian
binary-upgrade mode; instead only skip dumping the current user. This bug was introduced in during the removal of split_old_dump(). Bug discovered during local testing.
2012-12-03Update release notes for 9.2.2, 9.1.7, 9.0.11, 8.4.15, 8.3.22.Tom Lane
2012-12-03Revert "Add mode where contrib installcheck runs each module in a separately ↵Andrew Dunstan
named database." This reverts commit e2b3c21b05c78c3a726b189242e41d4aa4422bf1.
2012-12-03Avoid holding vmbuffer pin after VACUUM.Simon Riggs
During VACUUM if we pause to perform a cycle of index cleanup we drop the vmbuffer pin, so we should do the same thing when heap scan completes. This avoids holding vmbuffer pin across the main index cleanup in VACUUM, which could be minutes or hours longer than necessary for correctness. Bug report and suggested fix from Pavan Deolasee
2012-12-03Fix documentation of path(polygon) function.Tom Lane
Obviously, this returns type "path", but somebody made a copy-and-pasteo long ago. Dagfinn Ilmari Mannsåker
2012-12-03Attempt to unbreak MSVC builds broken by ↵Andrew Dunstan
f21bb9cfb5646e1793dcc9c0ea697bab99afa523. We can't use type uint, so use uint32.
2012-12-03Refactor inCommit flag into generic delayChkpt flag.Simon Riggs
Rename PGXACT->inCommit flag into delayChkpt flag, and generalise comments to allow use in other situations, such as the forthcoming potential use in checksum patch. Replace wait loop to look for VXIDs with delayChkpt set. No user visible changes, not behaviour changes at present. Simon Riggs, reviewed and rebased by Jeff Davis
2012-12-03Clarify locking for PageGetLSN() in XLogCheckBuffer()Simon Riggs
2012-12-03Clarify when to use PageSetLSN/PageGetLSN().Simon Riggs
Update README to explain prerequisites for correct access to LSN fields of a page. Independent chunk removed from checksums patch to reduce size of patch.
2012-12-03Refactor the code implementing standby-mode logic.Heikki Linnakangas
It is now easier to see that it's a state machine, making the code easier to understand overall.
2012-12-02Add mode where contrib installcheck runs each module in a separately named ↵Andrew Dunstan
database. Normally each module is tested in aq database named contrib_regression, which is dropped and recreated at the beginhning of each pg_regress run. This mode, enabled by adding USE_MODULE_DB=1 to the make command line, runs most modules in a database with the module name embedded in it. This will make testing pg_upgrade on clusters with the contrib modules a lot easier. Still to be done: adapt to the MSVC build system. Backpatch to 9.0, which is the earliest version it is reasonably possible to test upgrading from.
2012-12-02Update time zone data files to tzdata release 2012j.Tom Lane
DST law changes in Cuba, Israel, Jordan, Libya, Palestine, Western Samoa, and portions of Brazil.
2012-12-02Recommend triggers, not rules, in the CREATE VIEW reference page.Tom Lane
We've generally recommended use of INSTEAD triggers over rules since that feature was added; but this old text in the CREATE VIEW reference page didn't get the memo. Noted by Thomas Kellerer.
2012-12-02Reduce scope of changes for COPY FREEZE.Simon Riggs
Allow support only for freezing tuples by explicit command. Previous coding mistakenly extended slightly beyond what was agreed as correct on -hackers. So essentially a partial revoke of earlier work, leaving just the COPY FREEZE command.
2012-12-02Don't advance checkPoint.nextXid near the end of a checkpoint sequence.Tom Lane
This reverts commit c11130690d6dca64267201a169cfb38c1adec5ef in favor of actually fixing the problem: namely, that we should never have been modifying the checkpoint record's nextXid at this point to begin with. The nextXid should match the state as of the checkpoint's logical WAL position (ie the redo point), not the state as of its physical position. It's especially bogus to advance it in some wal_levels and not others. In any case there is no need for the checkpoint record to carry the same nextXid shown in the XLOG_RUNNING_XACTS record just emitted by LogStandbySnapshot, as any replay operation will already have adopted that value as current. This fixes bug #7710 from Tarvi Pillessaar, and probably also explains bug #6291 from Daniel Farina, in that if a checkpoint were in progress at the instant of XID wraparound, the epoch bump would be lost as reported. (And, of course, these days there's at least a 50-50 chance of a checkpoint being in progress at any given instant.) Diagnosed by me and independently by Andres Freund. Back-patch to all branches supporting hot standby.
2012-12-02Rearrange storage of data in xl_running_xacts.Simon Riggs
Previously we stored all xids mixed together. Now we store top-level xids first, followed by all subxids. Also skip logging any subxids if the snapshot is suboverflowed, since there are potentially large numbers of them and they are not useful in that case anyway. Has value in the envisaged design for decoding of WAL. No planned effect on Hot Standby. Andres Freund, reviewed by me
2012-12-02XidEpoch++ if wraparound during checkpoint.Simon Riggs
If wal_level = hot_standby we update the checkpoint nextxid, though in the case where a wraparound occurred half-way through a checkpoint we would neglect updating the epoch also. Updating the nextxid is arguably the wrong thing to do, but changing that may introduce subtle bugs into hot standby startup, while updating the value doesn't cause any known bugs yet. Minimal fix now to HEAD and backbranches, wider fix later in HEAD. Bug reported in #6291 by Daniel Farina and slightly differently in Cause analysis and recommended fixes from Tom Lane and Andres Freund. Applied patch is minimal version of Andres Freund's work.
2012-12-02Clarify operation of online checkpoints.Simon Riggs
Previous comments left, but were too obscure for such an important aspect of the system.
2012-12-02Fix psql crash while parsing SQL file whose encoding is different fromTatsuo Ishii
client encoding and the client encoding is not *safe* one. Such an example is, file encoding is UTF-8 and client encoding SJIS. Patch contributed by Jiang Guiqing.
2012-12-01Prevent passing gmake's environment variables down through pg_regress.Tom Lane
When we do "make install" to create a temp installation, we don't want that instance of make to try to communicate with any instance of make that might be calling us. This is known to cause problems if the upper make has a -jN flag, and in principle could cause problems even without that. Unset the relevant environment variables to prevent such issues. Andres Freund
2012-12-01Make sure sharedir/extension/ directory is created when needed.Tom Lane
The previous coding worked as long as MODULEDIR wasn't set explicitly, because we create sharedir/$(datamoduledir) and the default value of that is "extension". But if some other value is specified for MODULEDIR then the installation directory needed for the control file wasn't made. Cédric Villemain
2012-12-01Allow adding values to an enum type created in the current transaction.Tom Lane
Normally it is unsafe to allow ALTER TYPE ADD VALUE in a transaction block, because instances of the value could be added to indexes later in the same transaction, and then they would still be accessible even if the transaction rolls back. However, we can allow this if the enum type itself was created in the current transaction, because then any such indexes would have to go away entirely on rollback. The reason for allowing this is to support pg_upgrade's new usage of pg_restore --single-transaction: in --binary-upgrade mode, pg_dump emits enum types as a succession of ALTER TYPE ADD VALUE commands so that it can preserve the values' OIDs. The support is a bit limited, so we'll leave it undocumented. Andres Freund
2012-12-01In pg_upgrade, remove 'set -x' from test script.Bruce Momjian
2012-12-01Revert:Bruce Momjian
In pg_upgrade, remove pg_restore's --single-transaction option, as it throws errors in certain cases.
2012-12-01Remove pg_restore's --single-transaction option, as it throws errors inBruce Momjian
certain cases.
2012-12-01Second tweak of COPY FREEZESimon Riggs
2012-12-01Tweak tests in COPY FREEZESimon Riggs
2012-12-01COPY FREEZE and mark committed on fresh tables.Simon Riggs
When a relfilenode is created in this subtransaction or a committed child transaction and it cannot otherwise be seen by our own process, mark tuples committed ahead of transaction commit for all COPY commands in same transaction. If FREEZE specified on COPY and pre-conditions met then rows will also be frozen. Both options designed to avoid revisiting rows after commit, increasing performance of subsequent commands after data load and upgrade. pg_restore changes later. Simon Riggs, review comments from Heikki Linnakangas, Noah Misch and design input from Tom Lane, Robert Haas and Kevin Grittner
2012-12-01doc: Fix broken links to DocBook wikiPeter Eisentraut
2012-11-30In pg_upgrade, improve status wording now that we have per-databaseBruce Momjian
status output for dump/restore.
2012-11-30Change test ExceptionalCondition to return voidAlvaro Herrera
Commit 81107282a changed it in assert.c, but overlooked this other file.
2012-11-30Take buffer lock while inspecting btree index pages in contrib/pageinspect.Tom Lane
It's not safe to examine a shared buffer without any lock.
2012-11-30Split initdb.c main() code into multiple functions, for easierBruce Momjian
maintenance.
2012-11-30In pg_upgrade, dump each database separately and useBruce Momjian
--single-transaction to restore each database schema. This yields performance improvements for databases with many tables. Also, remove split_old_dump() as it is no longer needed.