aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* pg_upgrade: preserve the timestamp epochBruce Momjian2014-09-05
| | | | | | This is useful for replication tools like Slony and Skytools. Report by Sergey Konoplev
* Clarify documentation about "peer" rows in window functionsBruce Momjian2014-09-05
| | | | | | Peer rows are matching rows when ORDER BY is specified. Report by arnaud.mouronval@gmail.com, David G Johnston
* Rename C variables in formatting.c, for clarityBruce Momjian2014-09-05
| | | | | Also add C comments. This should help future debugging of this notorious file.
* Assorted message fixes and improvementsPeter Eisentraut2014-09-05
|
* Add tab-completion for reloptions like user_catalog_table.Fujii Masao2014-09-05
| | | | | | Back-patch to 9.4 where user_catalog_table was added. Review by Michael Paquier
* doc: Remove dead linkPeter Eisentraut2014-09-04
| | | | | | | The link to the NIST web page about DES standards leads to nowhere, and according to archive.org has been forwarded to an unrelated page for many years. Therefore, just remove that link. More up to date information can be found via Wikipedia, for example.
* Fix segmentation fault that an empty prepared statement could cause.Fujii Masao2014-09-05
| | | | | | Back-patch to all supported branches. Per bug #11335 from Haruka Takatsuka
* Update comment to reflect commit 1d41739e5a04b0e93304d24d864b6bfa3efc45f2.Robert Haas2014-09-04
| | | | Peter Geoghegan
* Allow \watch to display query execution time if \timing is enabled.Fujii Masao2014-09-04
| | | | | | | | | | | | | | | | Previously \watch could not display the query execution time even when \timing was enabled because it used PSQLexec instead of SendQuery and that function didn't support \timing. This patch introduces PSQLexecWatch and changes \watch so as to use it, instead. PSQLexecWatch is the function to run the query, print its results and display how long it took (only when \timing is enabled). This patch also changes --echo-hidden so that it doesn't print the query that \watch executes. Since \watch cannot execute backslash command queries, they should not be printed even when --echo-hidden is set. Patch by me, review by Heikki Linnakangas and Michael Paquier
* Update URL reference material in /contrib/isn docsBruce Momjian2014-09-03
| | | | Report by Peter Eisentraut
* Document use of partial indexes for partial unique constraintsBruce Momjian2014-09-03
| | | | | | Report by Tomáš Greif Backpatch through 9.4
* Issue clearer notice when inherited merged columns are movedBruce Momjian2014-09-03
| | | | | | | CREATE TABLE INHERIT moves user-specified columns to the location of the inherited column. Report by Fatal Majid
* Check number of parameters in RAISE statement at compile time.Heikki Linnakangas2014-09-02
| | | | | | | | | The number of % parameter markers in RAISE statement should match the number of parameters given. We used to check that at execution time, but we have all the information needed at compile time, so let's check it at compile time instead. It's generally better to find mistakes earlier. Marko Tiikkaja, reviewed by Fabien Coelho
* Refactor per-page logic common to all redo routines to a new function.Heikki Linnakangas2014-09-02
| | | | | | | | | | | | Every redo routine uses the same idiom to determine what to do to a page: check if there's a backup block for it, and if not read, the buffer if the block exists, and check its LSN. Refactor that into a common function, XLogReadBufferForRedo, making all the redo routines shorter and more readable. This has no user-visible effect, and makes no changes to the WAL format. Reviewed by Andres Freund, Alvaro Herrera, Michael Paquier.
* Silence warning on new versions of clang.Heikki Linnakangas2014-09-02
| | | | Andres Freund
* Add psql PROMPT variable showing which line of a statement is being edited.Andres Freund2014-09-02
| | | | | | | | The new %l substitution shows the line number inside a (potentially multi-line) statement starting from one. Author: Sawada Masahiko, heavily editorialized by me. Reviewed-By: Jeevan Chalke, Alvaro Herrera
* Support ALTER SYSTEM RESET command.Fujii Masao2014-09-02
| | | | | | | This patch allows us to execute ALTER SYSTEM RESET command to remove the configuration entry from postgresql.auto.conf. Vik Fearing, reviewed by Amit Kapila and me.
* Fix unportable use of isspace().Tom Lane2014-09-01
| | | | Introduced in commit 11a020eb6.
* Add skip-empty-xacts option to test_decoding for use in the regression tests.Andres Freund2014-09-01
| | | | | | | | | | | | | | | | | | | The regression tests for contrib/test_decoding regularly failed on postgres instances that were very slow. Either because the hardware itself was slow or because very expensive debugging options like CLOBBER_CACHE_ALWAYS were used. The reason they failed was just that some additional transactions were decoded. Analyze and vacuum, triggered by autovac. To fix just add a option to test_decoding to only display transactions in which a change was actually displayed. That's not pretty because it removes information from the tests; but better than constantly failing tests in very likely harmless ways. Backpatch to 9.4 where logical decoding was introduced. Discussion: 20140629142511.GA26930@awork2.anarazel.de
* Add valgrind suppression for padding bytes in twophase records.Andres Freund2014-09-01
|
* Fix s/pluggins/plugins/ typo in two comments.Andres Freund2014-09-01
| | | | Michael Paquier
* Declare lwlock.c's LWLockAcquireCommon() as a static inline.Andres Freund2014-09-01
| | | | | | | | | | | | 68a2e52bbaf98f136 has introduced LWLockAcquireCommon() containing the previous contents of LWLockAcquire() plus added functionality. The latter then calls it, just like LWLockAcquireWithVar(). Because the majority of callers don't need the added functionality, declare the common code as inline. The compiler then can optimize away the unused code. Doing so is also useful when looking at profiles, to differentiate the users. Backpatch to 9.4, the first branch to contain LWLockAcquireCommon().
* Protect definition of SpinlockSemaArray, just like its declaration.Andres Freund2014-09-01
| | | | Found via clang's -Wmissing-variable-declarations.
* Declare two variables in snapbuild.c as static.Andres Freund2014-08-31
| | | | | Neither is accessed externally, I just seem to have missed the static when writing the code.
* doc: Various typo/grammar fixesKevin Grittner2014-08-30
| | | | | | | | | Errors detected using Topy (https://github.com/intgr/topy), all changes verified by hand and some manual tweaks added. Marti Raudsepp Individual changes backpatched, where applicable, as far as 9.0.
* Again update C comments for pg_attribute.attislocalBruce Momjian2014-08-30
|
* Make backend local tracking of buffer pins memory efficient.Andres Freund2014-08-30
| | | | | | | | | | | | | | | | | | | | | | | | Since the dawn of time (aka Postgres95) multiple pins of the same buffer by one backend have been optimized not to modify the shared refcount more than once. This optimization has always used a NBuffer sized array in each backend keeping track of a backend's pins. That array (PrivateRefCount) was one of the biggest per-backend memory allocations, depending on the shared_buffers setting. Besides the waste of memory it also has proven to be a performance bottleneck when assertions are enabled as we make sure that there's no remaining pins left at the end of transactions. Also, on servers with lots of memory and a correspondingly high shared_buffers setting the amount of random memory accesses can also lead to poor cpu cache efficiency. Because of these reasons a backend's buffers pins are now kept track of in a small statically sized array that overflows into a hash table when necessary. Benchmarks have shown neutral to positive performance results with considerably lower memory usage. Patch by me, review by Robert Haas. Discussion: 20140321182231.GA17111@alap3.anarazel.de
* Update C comment for pg_attribute.attislocalBruce Momjian2014-08-29
| | | | Indicates if column has ever been local/non-inherited
* pg_is_xlog_replay_paused(): remove super-user-only restrictionBruce Momjian2014-08-29
| | | | | | | | Also update docs to mention which function are super-user-only. Report by sys-milan@statpro.com Backpatch through 9.4
* Fix bug in compressed GIN data leaf page splitting code.Heikki Linnakangas2014-08-29
| | | | | | | | | The list of posting lists it's dealing with can contain placeholders for deleted posting lists. The placeholders are kept around so that they can be WAL-logged, but we must be careful to not try to access them. This fixes bug #11280, reported by Mårten Svantesson. Backpatch to 9.4, where the compressed data leaf page code was added.
* Assorted message improvementsPeter Eisentraut2014-08-29
|
* doc: Revert ALTER TABLESPACE summary linePeter Eisentraut2014-08-29
| | | | | It was changed when ALTER TABLESPACE / MOVE was added but then not updated when that was moved back out.
* Add min and max aggregates for inet/cidr data types.Tom Lane2014-08-28
| | | | Haribabu Kommi, reviewed by Muhammad Asif Naeem
* Always use our getaddrinfo.c on Windows.Noah Misch2014-08-28
| | | | | | | | Commit a16bac36eca8158cbf78987e95376f610095f792 let "configure" detect the system getaddrinfo() when building under 64-bit MinGW-w64. However, src/include/port/win32/sys/socket.h assumes all native Windows configurations use our replacement. This change placates buildfarm member jacana until we establish a plan for getaddrinfo() on Windows.
* Fix citext upgrade script for disallowance of oidvector element assignment.Tom Lane2014-08-28
| | | | | | | | | | | | | | | | | | | In commit 45e02e3232ac7cc5ffe36f7986159b5e0b1f6fdc, we intentionally disallowed updates on individual elements of oidvector columns. While that still seems like a sane idea in the abstract, we (I) forgot that citext's "upgrade from unpackaged" script did in fact perform exactly such updates, in order to fix the problem that citext indexes should have a collation but would not in databases dumped or upgraded from pre-9.1 installations. Even if we wanted to add casts to allow such updates, there's no practical way to do so in the back branches, so the only real alternative is to make citext's kluge even klugier. In this patch, I cast the oidvector to text, fix its contents with regexp_replace, and cast back to oidvector. (Ugh!) Since the aforementioned commit went into all active branches, we have to fix this in all branches that contain the now-broken update script. Per report from Eric Malm.
* Revert "Allow units to be specified in relation option setting value."Fujii Masao2014-08-29
| | | | | | | | | | | This reverts commit e23014f3d40f7d2c23bc97207fd28efbe5ba102b. As the side effect of the reverted commit, when the unit is specified, the reloption was stored in the catalog with the unit. This broke pg_dump (specifically, it prevented pg_dump from outputting restorable backup regarding the reloption) and turned the buildfarm red. Revert the commit until the fixed version is ready.
* Allow escaping of option values for options passed at connection start.Andres Freund2014-08-28
| | | | | | | | | | | | | | | This is useful to allow to set GUCs to values that include spaces; something that wasn't previously possible. The primary case motivating this is the desire to set default_transaction_isolation to 'repeatable read' on a per connection basis, but other usecases like seach_path do also exist. This introduces a slight backward incompatibility: Previously a \ in an option value would have been passed on literally, now it'll be taken as an escape. The relevant mailing list discussion starts with 20140204125823.GJ12016@awork2.anarazel.de.
* Allow units to be specified in relation option setting value.Fujii Masao2014-08-28
| | | | | | | | | This introduces an infrastructure which allows us to specify the units like ms (milliseconds) in integer relation option, like GUC parameter. Currently only autovacuum_vacuum_cost_delay reloption can accept the units. Reviewed by Michael Paquier
* Allow multibyte characters as escape in SIMILAR TO and SUBSTRING.Jeff Davis2014-08-27
| | | | | | | | Previously, only a single-byte character was allowed as an escape. This patch allows it to be a multi-byte character, though it still must be a single character. Reviewed by Heikki Linnakangas and Tom Lane.
* Fix FOR UPDATE NOWAIT on updated tuple chainsAlvaro Herrera2014-08-27
| | | | | | | | | | | | | | | | | | | | | If SELECT FOR UPDATE NOWAIT tries to lock a tuple that is concurrently being updated, it might fail to honor its NOWAIT specification and block instead of raising an error. Fix by adding a no-wait flag to EvalPlanQualFetch which it can pass down to heap_lock_tuple; also use it in EvalPlanQualFetch itself to avoid blocking while waiting for a concurrent transaction. Authors: Craig Ringer and Thomas Munro, tweaked by Álvaro http://www.postgresql.org/message-id/51FB6703.9090801@2ndquadrant.com Per Thomas Munro in the course of his SKIP LOCKED feature submission, who also provided one of the isolation test specs. Backpatch to 9.4, because that's as far back as it applies without conflicts (although the bug goes all the way back). To that branch also backpatch Thomas Munro's new NOWAIT test cases, committed in master by Heikki as commit 9ee16b49f0aac819bd4823d9b94485ef608b34e8 .
* Add header comments to receivelog.h and streamutil.h.Fujii Masao2014-08-27
| | | | | | This commit also adds the include guards to those header files. Michael Paquier
* Fix Var handling for security barrier viewsStephen Frost2014-08-26
| | | | | | | | | | | | | | | In some cases, not all Vars were being correctly marked as having been modified for updatable security barrier views, which resulted in invalid plans (eg: when security barrier views were created over top of inheiritance structures). In passing, be sure to update both varattno and varonattno, as _equalVar won't consider the Vars identical otherwise. This isn't known to cause any issues with updatable security barrier views, but was noticed as missing while working on RLS and makes sense to get fixed. Back-patch to 9.4 where updatable security barrier views were introduced.
* doc: Document valid checkpoint_timeout rangePeter Eisentraut2014-08-26
| | | | Author: Fabien COELHO <coelho@cri.ensmp.fr>
* Fix whitespacePeter Eisentraut2014-08-26
|
* Fix typo in b34e37bfefbed1bf9396dde18f308d8b96fd176c.Robert Haas2014-08-26
| | | | Spotted by Peter Geoghegan.
* Fix superuser concurrent refresh of matview owned by another.Kevin Grittner2014-08-26
| | | | | | | | | | | Use SECURITY_LOCAL_USERID_CHANGE while building temporary tables; only escalate to SECURITY_RESTRICTED_OPERATION while potentially running user-supplied code. The more secure mode was preventing temp table creation. Add regression tests to cover this problem. This fixes Bug #11208 reported by Bruno Emanuel de Andrade Silva. Backpatch to 9.4, where the bug was introduced.
* Mark IsBinaryUpgrade as PGDLLIMPORT to fix windows builds after a7ae1dc.Andres Freund2014-08-26
| | | | Author: David Rowley
* Implement IF NOT EXISTS for CREATE SEQUENCE.Heikki Linnakangas2014-08-26
| | | | Fabrízio de Royes Mello
* Specify the port in dblink and postgres_fdw tests.Andres Freund2014-08-26
| | | | | | | | | | That allows to run those tests against a postmaster listening on a nonstandard port without requiring to export PGPORT in postmaster's environment. This still doesn't support connecting to a nondefault host without configuring it in postmaster's environment. That's harder and less frequently used though. So this is a useful step.
* Don't hardcode contrib_regression dbname in postgres_fdw and dblink tests.Andres Freund2014-08-26
| | | | | | | | | | | That allows parallel installcheck to succeed inside contrib/. The output is not particularly pretty unless make's -O option to synchronize the output is used. There's other tests, outside contrib, that use a hardcoded, non-unique, database name. Those prohibit paralell installcheck to be used across more directories; but that's something for a separate patch.