aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Indent fix_path_separator() header properly.Andrew Dunstan2012-09-03
|
* Allow pg_upgrade "make check" to run on Windows/MSys.Andrew Dunstan2012-09-03
| | | | Backpatch to 9.2.
* In pg_upgrade, pull the port number from postmaster.pid, like we do forBruce Momjian2012-09-03
| | | | | | | | socket location. Also, prevent putting the socket in the current directory for pre-9.1 servers in live check and non-live check mode, because pre-9.1 pg_ctl -w can't handle it. Backpatch to 9.2.
* Use correct path separator for Windows builtin commands.Andrew Dunstan2012-09-03
| | | | | | | | | pg_upgrade produces a platform-specific script to remove the old directory, but on Windows it has not been making sure that the paths it writes as arguments for rmdir and del use the backslash path separator, which will cause these scripts to fail. The fix is backpatched to Release 9.0.
* Fix bugs in exec.c that prevented pg_upgrade working in Windows.Andrew Dunstan2012-09-03
| | | | | Backpatch to 9.2 - code before that is quite different and should not have these defects.
* Back-patch recent pg_upgrade fixes into 9.2.Tom Lane2012-09-03
| | | | | | | | | | | | | | | | | | | This syncs contrib/pg_upgrade in the 9.2 branch with HEAD, except for the HEAD changes related to converting XLogRecPtr to 64-bit int. It includes back-patching these commits: 666d494d19dbd5dc7a177709a2f7069913f8ab89 pg_upgrade: abstract out copying of files from old cluster to new 7afa8bed65ea925208f128048f3a528a64e1319a pg_upgrade: Run the created scripts in the test suite ab577e63faf792593ca728625a8ef0b1dfaf7500 Remove analyze_new_cluster.sh on make clean, too 34c02044ed7e7defde5a853b26dcd806c872d974 Fix thinko in comment 088c065ce8e405fafbfa966937184ece9defcf20 pg_upgrade: Fix exec_prog API to be less flaky f763b77193b04eba03a1f4ce46df34dc0348419e Fix pg_upgrade to cope with non-default unix_socket_directory scenarios.
* Make psql's \d+ show reloptions for all relkinds.Tom Lane2012-09-03
| | | | | | | | | | | | Formerly it would only show them for relkinds 'r' and 'f' (plain tables and foreign tables). However, as of 9.2, views can also have reloptions, namely security_barrier. The relkind restriction seems pointless and not at all future-proof, so just print reloptions whenever there are any. In passing, make some cosmetic improvements to the code that pulls the "tableinfo" fields out of the PGresult. Noted and patched by Dean Rasheed, with adjustment for all relkinds by me.
* Restore setting of _USE_32BIT_TIME_T to 32 bit MSVC builds.Andrew Dunstan2012-08-31
| | | | | | | | | | | This was removed in commit cd004067742ee16ee63e55abfb4acbd5f09fbaab, we're not quite sure why, but there have been reports of crashes due to AS Perl being built with it when we are not, and it certainly seems like the right thing to do. There is still some uncertainty as to why it sometimes fails and sometimes doesn't. Original patch from Owais Khani, substantially reworked and extended by Andrew Dunstan.
* Make configure probe for mbstowcs_l as well as wcstombs_l.Tom Lane2012-08-31
| | | | | | | | | | | We previously supposed that any given platform would supply both or neither of these functions, so that one configure test would be sufficient. It now appears that at least on AIX this is not the case ... which is likely an AIX bug, but nonetheless we need to cope with it. So use separate tests. Per bug #6758; thanks to Andrew Hastie for doing the followup testing needed to confirm what was happening. Backpatch to 9.1, where we began using these functions.
* Back-patch recent fixes for gistchoose and gistRelocateBuildBuffersOnSplit.Tom Lane2012-08-30
| | | | | | | | | | | | | | | | This back-ports commits c8ba697a4bdb934f0c51424c654e8db6133ea255 and e5db11c5582b469c04a11f217a0f32c827da5dd7, which fix one definite and one speculative bug in gistchoose, and make the code a lot more intelligible as well. In 9.2 only, this also affects the largely-copied-and-pasted logic in gistRelocateBuildBuffersOnSplit. The impact of the bugs was that the functions might make poor decisions as to which index tree branch to push a new entry down into, resulting in GiST index bloat and poor performance. The fixes rectify these decisions for future insertions, but a REINDEX would be needed to clean up any existing index bloat. Alexander Korotkov, Robert Haas, Tom Lane
* Fix checkpoint_timeout documentation to reflect current behavior.Robert Haas2012-08-30
| | | | Jeff Janes
* Document how to prevent PostgreSQL itself from exhausting memory.Robert Haas2012-08-30
| | | | | | | | The existing documentation in Linux Memory Overcommit seemed to assume that PostgreSQL itself could never be the problem, or at least it didn't tell you what to do about it. Per discussion with Craig Ringer and Kevin Grittner.
* Add missing period to detail message.Robert Haas2012-08-30
| | | | Per note from Peter Eisentraut.
* add #includes to plpy_subxactobject.h to make it compile standaloneAlvaro Herrera2012-08-28
|
* syncrep.h must include xlogdefs.hAlvaro Herrera2012-08-28
|
* Small punctuation fixesPeter Eisentraut2012-08-28
|
* Improve a couple of 9.2 release note entries.Tom Lane2012-08-27
| | | | | Clarify the compatibility notes about EXTRACT() and about statistics timing columns.
* Add section IDs to subsections of syntax.sgml that lacked them.Tom Lane2012-08-27
| | | | | | | This is so that these sections will have stable HTML tags that one can link to, rather than things like "AEN1902". Perhaps we should mount a campaign to do this everywhere, but I've found myself pointing at syntax.sgml subsections often enough to be sure it's useful here.
* Fix DROP INDEX CONCURRENTLY IF EXISTS.Tom Lane2012-08-27
| | | | | | | | This threw ERROR, not the expected NOTICE, if the index didn't exist. The bug was actually visible in not-as-expected regression test output, so somebody wasn't paying too close attention in commit 8cb53654dbdb4c386369eb988062d0bbb6de725e. Per report from Brendan Byrd.
* pg_basebackup: Correct error messagePeter Eisentraut2012-08-27
| | | | | It still thought that the --xlog-method option argument could be empty, as in a previous version of this feature.
* Some spelling adjustments in release notesPeter Eisentraut2012-08-24
|
* Normalize some British spellingsPeter Eisentraut2012-08-24
|
* Fix issues with checks for unsupported transaction states in Hot Standby.Tom Lane2012-08-24
| | | | | | | | | | | | | | | | | | | | | | | | | The GUC check hooks for transaction_read_only and transaction_isolation tried to check RecoveryInProgress(), so as to disallow setting read/write mode or serializable isolation level (respectively) in hot standby sessions. However, GUC check hooks can be called in many situations where we're not connected to shared memory at all, resulting in a crash in RecoveryInProgress(). Among other cases, this results in EXEC_BACKEND builds crashing during child process start if default_transaction_isolation is serializable, as reported by Heikki Linnakangas. Protect those calls by silently allowing any setting when not inside a transaction; which is okay anyway since these GUCs are always reset at start of transaction. Also, add a check to GetSerializableTransactionSnapshot() to complain if we are in hot standby. We need that check despite the one in check_XactIsoLevel() because default_transaction_isolation could be serializable. We don't want to complain any sooner than this in such cases, since that would prevent running transactions at all in such a state; but a transaction can be run, if SET TRANSACTION ISOLATION is done before setting a snapshot. Per report some months ago from Robert Haas. Back-patch to 9.1, since these problems were introduced by the SSI patch. Kevin Grittner and Tom Lane, with ideas from Heikki Linnakangas
* Put options on man page and in help output in slightly better orderPeter Eisentraut2012-08-24
|
* libpq: Fix memory leak in URI parserPeter Eisentraut2012-08-23
| | | | | | When an invalid query parameter is reported, some memory leaks. found by Coverity
* Translation updatesPeter Eisentraut2012-08-23
|
* Stamp 9.2rc1.REL9_2_RC1Tom Lane2012-08-23
|
* Fix cascading privilege revoke to notice when privileges are still held.Tom Lane2012-08-23
| | | | | | | | | | | | If we revoke a grant option from some role X, but X still holds the option via another grant, we should not recursively revoke the privilege from role(s) Y that X had granted it to. This was supposedly fixed as one aspect of commit 4b2dafcc0b1a579ef5daaa2728223006d1ff98e9, but I must not have tested it, because in fact that code never worked: it forgot to shift the grant-option bits back over when masking the bits being revoked. Per bug #6728 from Daniel German. Back-patch to all active branches, since this has been wrong since 8.0.
* Fix typo in example.Heikki Linnakangas2012-08-23
|
* Remove overly-pessimistic statement about constraint exclusion.Tom Lane2012-08-22
| | | | | | | As of 9.2, constraint exclusion should work okay with prepared statements: the planner will try custom plans with actual values of the parameters, and observe that they are a lot cheaper than the generic plan, and thus never fall back to using the generic plan. Noted by Tatsuhito Kasahara.
* Make a cut at a major-features list for 9.2.Tom Lane2012-08-22
| | | | | This is open to debate of course, but it's past time we had *something* here.
* Make an editorial pass over the 9.2 release notes.Tom Lane2012-08-22
| | | | A very large number of small improvements ...
* Fix erroneous documentation of synchronous_commit = remote_write.Tom Lane2012-08-22
| | | | | | | The docs claimed that this mode only waits for the standby to receive WAL data, but actually it waits for the data to be written out to the standby's OS; which is a pretty significant difference because it removes the risk of crash of the walreceiver process.
* Update 9.2 release notes to reflect commits to date.Tom Lane2012-08-21
| | | | | I was unable to entirely resist the temptation to copy-edit related entries, but will save most of that for a separate pass.
* Fix dumping of security_barrier views with circular dependencies.Tom Lane2012-08-21
| | | | | | | | | If a view has circular dependencies, pg_dump splits it into a CREATE TABLE and a CREATE RULE command to break the dependency loop. However, if the view has reloptions, those options cannot be applied in the CREATE TABLE command, because views and tables have different allowed reloptions so CREATE TABLE would reject them. Instead apply the reloptions after the CREATE RULE, using ALTER VIEW SET.
* Fix bugs in contrib/pg_trgm's LIKE pattern analysis code.Tom Lane2012-08-20
| | | | | | | | Extraction of trigrams did not process LIKE escape sequences properly, leading to possible misidentification of trigrams near escapes, resulting in incorrect index search results. Fujii Masao
* Check LIBXML_VERSION instead of testing in configure script.Tom Lane2012-08-17
| | | | | | | | | | We had put a test for libxml2's xmlStructuredErrorContext variable in configure, but of course that doesn't work on Windows builds. The next best alternative seems to be to test the LIBXML_VERSION symbol provided by xmlversion.h. Per report from Talha Bin Rizwan, though this fixes it in a different way than his proposed patch.
* Allow create_index_paths() to consider multiple join bitmapscan paths.Tom Lane2012-08-16
| | | | | | | | | | | | | In the initial cut at the "parameterized paths" feature, I'd simplified create_index_paths() to the point where it would only generate a single parameterized bitmap path per relation. Experimentation with an example supplied by Josh Berkus convinces me that that's not good enough: we really need to consider a bitmap path for each possible outer relation. Otherwise we have regressions relative to pre-9.2 versions, in which the planner picks a plain indexscan where it should have used a bitmap scan in queries involving three or more tables. Indeed, after fixing this, several queries in the regression tests show improved plans as a result of using bitmap not plain indexscans.
* Fix GiST buffering build bug, which caused "failed to re-find parent" errors.Heikki Linnakangas2012-08-16
| | | | | | | | | | | | | | | We use a hash table to track the parents of inner pages, but when inserting to a leaf page, the caller of gistbufferinginserttuples() must pass a correct block number of the leaf's parent page. Before gistProcessItup() descends to a child page, it checks if the downlink needs to be adjusted to accommodate the new tuple, and updates the downlink if necessary. However, updating the downlink might require splitting the page, which might move the downlink to a page to the right. gistProcessItup() doesn't realize that, so when it descends to the leaf page, it might pass an out-of-date parent block number as a result. Fix that by returning the block a tuple was inserted to from gistbufferinginserttuples(). This fixes the bug reported by Zdeněk Jílovec.
* Fix rescan logic in nodeCtescan.Tom Lane2012-08-15
| | | | | | | | | | | | | | | | | | | | | | The previous coding essentially assumed that nodes would be rescanned in the same order they were initialized in; or at least that the "leader" of a group of CTEscans would be rescanned before any others were required to execute. Unfortunately, that isn't even a little bit true. It's possible to devise queries in which the leader isn't rescanned until other CTEscans on the same CTE have run to completion, or even in which the leader never gets a rescan call at all. The fix makes the leader specially responsible only for initial creation and final destruction of the tuplestore; rescan resets are now a symmetrically shared responsibility. This means that we might reset the tuplestore multiple times when restarting a plan subtree containing multiple CTEscans; but resetting an already-empty tuplestore is cheap enough that that doesn't seem like a problem. Per report from Adam Mackler; the new regression test cases are based on his example query. Back-patch to 8.4 where CTE scans were introduced.
* Disallow extensions from owning the schema they are assigned to.Tom Lane2012-08-15
| | | | | | | | | | | This situation creates a dependency loop that confuses pg_dump and probably other things. Moreover, since the mental model is that the extension "contains" schemas it owns, but "is contained in" its extschema (even though neither is strictly true), having both true at once is confusing for people too. So prevent the situation from being set up. Reported and patched by Thom Brown. Back-patch to 9.1 where extensions were added.
* Resurrect the "last ditch" code path in join_search_one_level().Tom Lane2012-08-15
| | | | | | | | | | | | | | | | | | | | This essentially reverts commit e54b10a62db2991235fe800c629baef4531a6d67, in which I'd decided that the "last ditch" join logic was useless. The folly of that is now exposed by a report from Pavel Stehule: although the function should always find at least one join in a self-contained join problem, it can still fail to do so in a sub-problem created by artificial from_collapse_limit or join_collapse_limit constraints. Adjust the comments to describe this, and simplify the code a bit to match the new coding of the earlier loop in the function. I'm not terribly happy about this: I still subscribe to the opinion stated in the previous commit message that the "last ditch" code can obscure logic bugs elsewhere. But the alternative seems to be to complicate the earlier tests for does-this-relation-have-a-join-clause to the point where they can tell whether the join clauses link outside the current join sub-problem. And that looks messy, slow, and possibly a source of bugs in itself. In any case, now is not the time to be inserting experimental code into 9.2, so let's just go back to the time-tested solution.
* Stamp 9.2beta4.REL9_2_BETA4Tom Lane2012-08-14
|
* Update release notes for 9.1.5, 9.0.9, 8.4.13, 8.3.20.Tom Lane2012-08-14
|
* Prevent access to external files/URLs via contrib/xml2's xslt_process().Tom Lane2012-08-14
| | | | | | | | | | | | | | | | | | | | | | | libxslt offers the ability to read and write both files and URLs through stylesheet commands, thus allowing unprivileged database users to both read and write data with the privileges of the database server. Disable that through proper use of libxslt's security options. Also, remove xslt_process()'s ability to fetch documents and stylesheets from external files/URLs. While this was a documented "feature", it was long regarded as a terrible idea. The fix for CVE-2012-3489 broke that capability, and rather than expend effort on trying to fix it, we're just going to summarily remove it. While the ability to write as well as read makes this security hole considerably worse than CVE-2012-3489, the problem is mitigated by the fact that xslt_process() is not available unless contrib/xml2 is installed, and the longstanding warnings about security risks from that should have discouraged prudent DBAs from installing it in security-exposed databases. Reported and fixed by Peter Eisentraut. Security: CVE-2012-3488
* Prevent access to external files/URLs via XML entity references.Tom Lane2012-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | xml_parse() would attempt to fetch external files or URLs as needed to resolve DTD and entity references in an XML value, thus allowing unprivileged database users to attempt to fetch data with the privileges of the database server. While the external data wouldn't get returned directly to the user, portions of it could be exposed in error messages if the data didn't parse as valid XML; and in any case the mere ability to check existence of a file might be useful to an attacker. The ideal solution to this would still allow fetching of references that are listed in the host system's XML catalogs, so that documents can be validated according to installed DTDs. However, doing that with the available libxml2 APIs appears complex and error-prone, so we're not going to risk it in a security patch that necessarily hasn't gotten wide review. So this patch merely shuts off all access, causing any external fetch to silently expand to an empty string. A future patch may improve this. In HEAD and 9.2, also suppress warnings about undefined entities, which would otherwise occur as a result of not loading referenced DTDs. Previous branches don't show such warnings anyway, due to different error handling arrangements. Credit to Noah Misch for first reporting the problem, and for much work towards a solution, though this simplistic approach was not his preference. Also thanks to Daniel Veillard for consultation. Security: CVE-2012-3489
* Translation updatesPeter Eisentraut2012-08-14
|
* In documentation, change "recommendable" to "recommended", perBruce Momjian2012-08-14
| | | | | | consultation with word definitions. Backpatch to 9.2.
* Update time zone data files to tzdata release 2012e.Tom Lane2012-08-14
| | | | | | | | | | DST law changes in Morocco; Tokelau has relocated to the other side of the International Date Line; and apparently Olson had Tokelau's GMT offset wrong by an hour even before that. There are also a large number of non-significant changes in this update. Upstream took the opportunity to remove trailing whitespace, and the SCCS-style version numbers on the individual files are gone too.
* Add link from COPY ref page to psql \copy.Tom Lane2012-08-11
| | | | Jeff Janes