summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2014-11-13Tweak row-level locking documentationAlvaro Herrera
Move the meat of locking levels to mvcc.sgml, leaving only a link to it in the SELECT reference page. Michael Paquier, with some tweaks by Álvaro
2014-11-13doc: Add index entry for "hypothetical-set aggregate"Peter Eisentraut
2014-11-13Rename pending_list_cleanup_size to gin_pending_list_limit.Fujii Masao
Since this parameter is only for GIN index, it's better to add "gin" to the parameter name for easier understanding.
2014-11-11Add generate_series(numeric, numeric).Fujii Masao
Платон Малюгин Reviewed by Michael Paquier, Ali Akbar and Marti Raudsepp
2014-11-11Add GUC and storage parameter to set the maximum size of GIN pending list.Fujii Masao
Previously the maximum size of GIN pending list was controlled only by work_mem. But the reasonable value of work_mem and the reasonable size of the list are basically not the same, so it was not appropriate to control both of them by only one GUC, i.e., work_mem. This commit separates new GUC, pending_list_cleanup_size, from work_mem to allow users to control only the size of the list. Also this commit adds pending_list_cleanup_size as new storage parameter to allow users to specify the size of the list per index. This is useful, for example, when users want to increase the size of the list only for the GIN index which can be updated heavily, and decrease it otherwise. Reviewed by Etsuro Fujita.
2014-11-10Further code and wording tweaks in BRINAlvaro Herrera
Besides a couple of typo fixes, per David Rowley, Thom Brown, and Amit Langote, and mentions of BRIN in the general CREATE INDEX page again per David, this includes silencing MSVC compiler warnings (thanks Microsoft) and an additional variable initialization per Coverity scanner.
2014-11-07doc: Update pg_receivexlog notePeter Eisentraut
The old note about how to use pg_receivexlog as an alternative to archive_command was obsoleted by replication slots.
2014-11-07BRIN: Block Range IndexesAlvaro Herrera
BRIN is a new index access method intended to accelerate scans of very large tables, without the maintenance overhead of btrees or other traditional indexes. They work by maintaining "summary" data about block ranges. Bitmap index scans work by reading each summary tuple and comparing them with the query quals; all pages in the range are returned in a lossy TID bitmap if the quals are consistent with the values in the summary tuple, otherwise not. Normal index scans are not supported because these indexes do not store TIDs. As new tuples are added into the index, the summary information is updated (if the block range in which the tuple is added is already summarized) or not; in the latter case, a subsequent pass of VACUUM or the brin_summarize_new_values() function will create the summary information. For data types with natural 1-D sort orders, the summary info consists of the maximum and the minimum values of each indexed column within each page range. This type of operator class we call "Minmax", and we supply a bunch of them for most data types with B-tree opclasses. Since the BRIN code is generalized, other approaches are possible for things such as arrays, geometric types, ranges, etc; even for things such as enum types we could do something different than minmax with better results. In this commit I only include minmax. Catalog version bumped due to new builtin catalog entries. There's more that could be done here, but this is a good step forwards. Loosely based on ideas from Simon Riggs; code mostly by Álvaro Herrera, with contribution by Heikki Linnakangas. Patch reviewed by: Amit Kapila, Heikki Linnakangas, Robert Haas. Testing help from Jeff Janes, Erik Rijkers, Emanuel Calvo. PS: The research leading to these results has received funding from the European Union's Seventh Framework Programme (FP7/2007-2013) under grant agreement n° 318633.
2014-11-06Move the backup-block logic from XLogInsert to a new file, xloginsert.c.Heikki Linnakangas
xlog.c is huge, this makes it a little bit smaller, which is nice. Functions related to putting together the WAL record are in xloginsert.c, and the lower level stuff for managing WAL buffers and such are in xlog.c. Also move the definition of XLogRecord to a separate header file. This causes churn in the #includes of all the files that write WAL records, and redo routines, but it avoids pulling in xlog.h into most places. Reviewed by Michael Paquier, Alvaro Herrera, Andres Freund and Amit Kapila.
2014-11-06Implement IF NOT EXIST for CREATE INDEX.Fujii Masao
Fabrízio de Royes Mello, reviewed by Marti Raudsepp, Adam Brightwell and me.
2014-11-05Remove the last vestige of server-side autocommit.Tom Lane
Long ago we briefly had an "autocommit" GUC that turned server-side autocommit on and off. That behavior was removed in 7.4 after concluding that it broke far too much client-side logic, and making clients cope with both behaviors was impractical. But the GUC variable was left behind, so as not to break any client code that might be trying to read its value. Enough time has now passed that we should remove the GUC completely. Whatever vestigial backwards-compatibility benefit it had is outweighed by the risk of confusion for newbies who assume it ought to do something, as per a recent complaint from Wolfgang Wilhelm. In passing, adjust what seemed to me a rather confusing documentation reference to libpq's autocommit behavior. libpq as such knows nothing about autocommit, so psql is probably what was meant.
2014-11-04doc: Move misplaced paragraphPeter Eisentraut
2014-11-03Docs: fix incorrect spelling of contrib/pgcrypto option.Tom Lane
pgp_sym_encrypt's option is spelled "sess-key", not "enable-session-key". Spotted by Jeff Janes. In passing, improve a comment in pgp-pgsql.c to make it clearer that the debugging options are intentionally undocumented.
2014-11-02Fix generation of INSTALL file by removing linkPeter Eisentraut
2014-11-02Add configure --enable-tap-tests optionPeter Eisentraut
Don't skip the TAP tests anymore when IPC::Run is not found. This will fail normally now.
2014-11-01PL/Python: Fix examplePeter Eisentraut
Revert "6f6b46c9c0ca3d96acbebc5499c32ee6369e1eec", which was broken. Reported-by: Jonathan Rogers <jrogers@socialserve.com>
2014-10-31doc: Fix typosPeter Eisentraut
per Andres Freund
2014-10-30doc: Wording and formatting improvements in new logical decoding docsPeter Eisentraut
2014-10-30doc: Improve CREATE VIEW / WITH documentationPeter Eisentraut
Similar to 590eb0c14eebe834f716721a9659b77899cf3084, remove the options list from the synopsis and elaborate in the main description.
2014-10-27Add missing equals signs to pg_recvlogical documentation.Robert Haas
Michael Paquier
2014-10-21Allow input format xxxx-xxxx-xxxx for macaddr typePeter Eisentraut
Author: Herwin Weststrate <herwin@quarantainenet.nl> Reviewed-by: Ali Akbar <the.apaan@gmail.com>
2014-10-21doc: Check DocBook XML validity during the buildPeter Eisentraut
Building the documentation with XSLT does not check the DTD, like a DSSSL build would. One can often get away with having invalid XML, but the stylesheets might then create incorrect output, as they are not designed to handle that. Therefore, check the validity of the XML against the DTD, using xmllint, during the build. Add xmllint detection to configure, and add some documentation. xmllint comes with libxml2, which is already in use, but it might be in a separate package, such as libxml2-utils on Debian. Reviewed-by: Fabien COELHO <coelho@cri.ensmp.fr>
2014-10-21doc: Update Red Hat documentation tools informationPeter Eisentraut
The old text was written in ancient times when RPM packages could be shared more or less freely across a plethora of RPM-based Linux distributions. This isn't really the case anymore, so just make this information more concrete for the Red Hat family.
2014-10-21doc: Update FreeBSD documentation tools informationPeter Eisentraut
based on patch from Dag-Erling Smørgrav <des@des.no>
2014-10-18Allow setting effective_io_concurrency even on unsupported systemsPeter Eisentraut
This matches the behavior of other parameters that are unsupported on some systems (e.g., ssl). Also document the default value.
2014-10-18Shorten warning about hash creationBruce Momjian
Also document that PITR is also affected.
2014-10-18doc: restrictions on alter database moving default tablespaceBruce Momjian
Mention tablespace must be empty and no one connected to the database. Report by Josh Berkus
2014-10-18doc: Clean up pg_recvlogical reference pagePeter Eisentraut
This needed a general cleanup of wording, typos, outdated terminology, formatting, and hard-to-understand and borderline incorrect information. Also tweak the pg_receivexlog page a bit to make the two more consistent.
2014-10-16Support timezone abbreviations that sometimes change.Tom Lane
Up to now, PG has assumed that any given timezone abbreviation (such as "EDT") represents a constant GMT offset in the usage of any particular region; we had a way to configure what that offset was, but not for it to be changeable over time. But, as with most things horological, this view of the world is too simplistic: there are numerous regions that have at one time or another switched to a different GMT offset but kept using the same timezone abbreviation. Almost the entire Russian Federation did that a few years ago, and later this month they're going to do it again. And there are similar examples all over the world. To cope with this, invent the notion of a "dynamic timezone abbreviation", which is one that is referenced to a particular underlying timezone (as defined in the IANA timezone database) and means whatever it currently means in that zone. For zones that use or have used daylight-savings time, the standard and DST abbreviations continue to have the property that you can specify standard or DST time and get that time offset whether or not DST was theoretically in effect at the time. However, the abbreviations mean what they meant at the time in question (or most recently before that time) rather than being absolutely fixed. The standard abbreviation-list files have been changed to use this behavior for abbreviations that have actually varied in meaning since 1970. The old simple-numeric definitions are kept for abbreviations that have not changed, since they are a bit faster to resolve. While this is clearly a new feature, it seems necessary to back-patch it into all active branches, because otherwise use of Russian zone abbreviations is going to become even more problematic than it already was. This change supersedes the changes in commit 513d06ded et al to modify the fixed meanings of the Russian abbreviations; since we've not shipped that yet, this will avoid an undesirably incompatible (not to mention incorrect) change in behavior for timestamps between 2011 and 2014. This patch makes some cosmetic changes in ecpglib to keep its usage of datetime lookup tables as similar as possible to the backend code, but doesn't do anything about the increasingly obsolete set of timezone abbreviation definitions that are hard-wired into ecpglib. Whatever we do about that will likely not be appropriate material for back-patching. Also, a potential free() of a garbage pointer after an out-of-memory failure in ecpglib has been fixed. This patch also fixes pre-existing bugs in DetermineTimeZoneOffset() that caused it to produce unexpected results near a timezone transition, if both the "before" and "after" states are marked as standard time. We'd only ever thought about or tested transitions between standard and DST time, but that's not what's happening when a zone simply redefines their base GMT offset. In passing, update the SGML documentation to refer to the Olson/zoneinfo/ zic timezone database as the "IANA" database, since it's now being maintained under the auspices of IANA.
2014-10-15Print planning time only in EXPLAIN ANALYZE, not plain EXPLAIN.Tom Lane
We've gotten enough push-back on that change to make it clear that it wasn't an especially good idea to do it like that. Revert plain EXPLAIN to its previous behavior, but keep the extra output in EXPLAIN ANALYZE. Per discussion. Internally, I set this up as a separate flag ExplainState.summary that controls printing of planning time and execution time. For now it's just copied from the ANALYZE option, but we could consider exposing it to users.
2014-10-14Fix typo in docs.Heikki Linnakangas
Shigeru Hanada
2014-10-13doc: Improve ALTER VIEW / SET documentationPeter Eisentraut
The way the ALTER VIEW / SET options were listed in the synopsis was very confusing. Move the list to the main description, similar to how the ALTER TABLE reference page does it.
2014-10-13doc: Fix copy-and-paste mistakesPeter Eisentraut
2014-10-13doc: mention TM is ignored for to_date/to_timestamp()Bruce Momjian
Report by Goulven Guillard
2014-10-13doc: mention more changes needed to use huge pagesBruce Momjian
Report by Laurence Parry
2014-10-13docs: error for adding _validated_ domains for existing usesBruce Momjian
Report by David G Johnston
2014-10-13doc: improve USING and NATURAL JOIN descriptionsBruce Momjian
Patch by David G Johnston
2014-10-13Add --latency-limit option to pgbench.Heikki Linnakangas
This allows transactions that take longer than specified limit to be counted separately. With --rate, transactions that are already late by the time we get to execute them are skipped altogether. Using --latency-limit with --rate allows you to "catch up" more quickly, if there's a hickup in the server causing a lot of transactions to stall momentarily. Fabien COELHO, reviewed by Rukh Meski and heavily refactored by me.
2014-10-11docs: remove mention that attnotnull should be changedBruce Momjian
Report by Andres Freund
2014-10-11Improve documentation about JSONB array containment behavior.Tom Lane
Per gripe from Josh Berkus.
2014-10-10Fix broken example in PL/pgSQL document.Fujii Masao
Back-patch to all supported branches. Marti Raudsepp, per a report from Marko Tiikkaja
2014-10-07Implement SKIP LOCKED for row-level locksAlvaro Herrera
This clause changes the behavior of SELECT locking clauses in the presence of locked rows: instead of causing a process to block waiting for the locks held by other processes (or raise an error, with NOWAIT), SKIP LOCKED makes the new reader skip over such rows. While this is not appropriate behavior for general purposes, there are some cases in which it is useful, such as queue-like tables. Catalog version bumped because this patch changes the representation of stored rules. Reviewed by Craig Ringer (based on a previous attempt at an implementation by Simon Riggs, who also provided input on the syntax used in the current patch), David Rowley, and Álvaro Herrera. Author: Thomas Munro
2014-10-06Add support for managing physical replication slots to pg_receivexlog.Andres Freund
pg_receivexlog already has the capability to use a replication slot to reserve WAL on the upstream node. But the used slot currently has to be created via SQL. To allow using slots directly, without involving SQL, add --create-slot and --drop-slot actions, analogous to the logical slot manipulation support in pg_recvlogical. Author: Michael Paquier Discussion: CABUevEx+zrOHZOQg+dPapNPFRJdsk59b=TSVf30Z71GnFXhQaw@mail.gmail.com
2014-10-06Rename pg_recvlogical's --create/--drop to --create-slot/--drop-slot.Andres Freund
A future patch (9.5 only) adds slot management to pg_receivexlog. The verbs create/drop don't seem descriptive enough there. It seems better to rename pg_recvlogical's commands now, in beta, than live with the inconsistency forever. The old form (e.g. --drop) will still be accepted by virtue of most getopt_long() options accepting abbreviations for long commands. Backpatch to 9.4 where pg_recvlogical was introduced. Author: Michael Paquier and Andres Freund Discussion: CAB7nPqQtt79U6FmhwvgqJmNyWcVCbbV-nS72j_jyPEopERg9rg@mail.gmail.com
2014-10-05Update 9.4 release notes for commits through today.Tom Lane
Add entries for recent changes, including noting the JSONB format change and the recent timezone data changes. We should remove those two items before 9.4 final: the JSONB change will be of no interest in the long run, and it's not normally our habit to mention timezone updates in major-release notes. But it seems important to document them temporarily for beta testers. I failed to resist the temptation to wordsmith a couple of existing entries, too.
2014-10-03Fix CreatePolicy, pg_dump -v; psql and doc updatesStephen Frost
Peter G pointed out that valgrind was, rightfully, complaining about CreatePolicy() ending up copying beyond the end of the parsed policy name. Name is a fixed-size type and we need to use namein (through DirectFunctionCall1()) to flush out the entire array before we pass it down to heap_form_tuple. Michael Paquier pointed out that pg_dump --verbose was missing a newline and Fabrízio de Royes Mello further pointed out that the schema was also missing from the messages, so fix those also. Also, based on an off-list comment from Kevin, rework the psql \d output to facilitate copy/pasting into a new CREATE or ALTER POLICY command. Lastly, improve the pg_policies view and update the documentation for it, along with a few other minor doc corrections based on an off-list discussion with Adam Brightwell.
2014-10-03Don't balance vacuum cost delay when per-table settings are in effectAlvaro Herrera
When there are cost-delay-related storage options set for a table, trying to make that table participate in the autovacuum cost-limit balancing algorithm produces undesirable results: instead of using the configured values, the global values are always used, as illustrated by Mark Kirkwood in http://www.postgresql.org/message-id/52FACF15.8020507@catalyst.net.nz Since the mechanism is already complicated, just disable it for those cases rather than trying to make it cope. There are undesirable side-effects from this too, namely that the total I/O impact on the system will be higher whenever such tables are vacuumed. However, this is seen as less harmful than slowing down vacuum, because that would cause bloat to accumulate. Anyway, in the new system it is possible to tweak options to get the precise behavior one wants, whereas with the previous system one was simply hosed. This has been broken forever, so backpatch to all supported branches. This might affect systems where cost_limit and cost_delay have been set for individual tables.
2014-10-03Fix documentation for CREATE SEQUENCE IF NOT EXISTS.Heikki Linnakangas
The [ IF NOT EXISTS ] was put in wrong place in the syntax. Pointed out by Marti Raudsepp.
2014-10-01Add functions for dealing with PGP armor header lines to pgcrypto.Heikki Linnakangas
This add a new pgp_armor_headers function to extract armor headers from an ASCII-armored blob, and a new overloaded variant of the armor function, for constructing an ASCII-armor with extra headers. Marko Tiikkaja and me.
2014-10-01Improve documentation about binary/textual output mode for output plugins.Andres Freund
Also improve related error message as it contributed to the confusion. Discussion: CAB7nPqQrqFzjqCjxu4GZzTrD9kpj6HMn9G5aOOMwt1WZ8NfqeA@mail.gmail.com, CAB7nPqQXc_+g95zWnqaa=mVQ4d3BVRs6T41frcEYi2ocUrR3+A@mail.gmail.com Per discussion between Michael Paquier, Robert Haas and Andres Freund Backpatch to 9.4 where logical decoding was introduced.