summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2014-12-17Add missing documentation for some vcregress modesMagnus Hagander
Michael Paquier
2014-12-17Remove redundant sentenceMagnus Hagander
Spotted by David Johnston
2014-12-14doc: Add link to how to specify time zone names to initdb man pagePeter Eisentraut
2014-12-14Improve documentation around parameter-setting and ALTER SYSTEM.Tom Lane
The ALTER SYSTEM ref page hadn't been held to a very high standard, nor was the feature well integrated into section 18.1 (parameter setting). Also, though commit 4c4654afe had improved the structure of 18.1, it also introduced a lot of poor wording, imprecision, and outright falsehoods. Try to clean that up.
2014-12-14Update 9.4 release notes.Tom Lane
Set release date, do a final pass of wordsmithing, improve some other new-in-9.4 documentation.
2014-12-13Improve recovery target settings documentation.Tom Lane
Commit 815d71dee hadn't bothered to update the documentation to match the behavioral change, and a lot of other text in this section was badly in need of copy-editing.
2014-12-04Remove USE_VPATH make variable from PGXSPeter Eisentraut
The user can just set VPATH directly. There is no need to invent another variable.
2014-12-01Fix missing space in documentationMagnus Hagander
Ian Barwick
2014-11-29Remove PQhostaddr() from 9.4 release notes.Noah Misch
Back-patch to 9.4, like the feature's removal.
2014-11-29Revert "Add libpq function PQhostaddr()."Noah Misch
This reverts commit 9f80f4835a55a1cbffcda5d23a617917f3286c14. The function returned the raw value of a connection parameter, a task served by PQconninfo(). The next commit will reimplement the psql \conninfo change that way. Back-patch to 9.4, where that commit first appeared.
2014-11-25Allow "dbname" from connection string to be overridden in PQconnectDBParamsHeikki Linnakangas
If the "dbname" attribute in PQconnectDBParams contained a connection string or URI (and expand_dbname = TRUE), the database name from the connection string could not be overridden by a subsequent "dbname" keyword in the array. That was not intentional; all other options can be overridden. Furthermore, any subsequent "dbname" caused the connection string from the first dbname value to be processed again, overriding any values for the same options that were given between the connection string and the second dbname option. In the passing, clarify in the docs that only the first dbname option in the array is parsed as a connection string. Alex Shulgin. Backpatch to all supported versions.
2014-11-19Improve documentation's description of JOIN clauses.Tom Lane
In bug #12000, Andreas Kunert complained that the documentation was misleading in saying "FROM T1 CROSS JOIN T2 is equivalent to FROM T1, T2". That's correct as far as it goes, but the equivalence doesn't hold when you consider three or more tables, since JOIN binds more tightly than comma. I added a <note> to explain this, and ended up rearranging some of the existing text so that the note would make sense in context. In passing, rewrite the description of JOIN USING, which was unnecessarily vague, and hadn't been helped any by somebody's reliance on markup as a substitute for clear writing. (Mostly this involved reintroducing a concrete example that was unaccountably removed by commit 032f3b7e166cfa28.) Back-patch to all supported branches.
2014-11-17Update 9.4 release notes for commits through today.Tom Lane
2014-11-16Mention the TZ environment variable for initdbMagnus Hagander
Daniel Gustafsson
2014-11-16Fix duplicated platforms due to copy/paste errorMagnus Hagander
Patch from Michael Paquier, mistake spotted by KOIZUMI Satoru
2014-11-14Document evaluation-order considerations for aggregate functions.Tom Lane
The SELECT reference page didn't really address the question of when aggregate function evaluation occurs, nor did the "expression evaluation rules" documentation mention that CASE can't be used to control whether an aggregate gets evaluated or not. Improve that. Per discussion of bug #11661. Original text by Marti Raudsepp and Michael Paquier, rewritten significantly by me.
2014-11-14Revert change to ALTER TABLESPACE summary.Stephen Frost
When ALTER TABLESPACE MOVE ALL was changed to be ALTER TABLE ALL IN TABLESPACE, the ALTER TABLESPACE summary should have been adjusted back to its original definition. Patch by Thom Brown (thanks!).
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-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-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-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-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-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-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-01Improve documentation about binary/textual output mode for output plugins.Andres Freund
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.
2014-09-30Correct stdin/stdout usage in COPY .. PROGRAMStephen Frost
The COPY documentation incorrectly stated, for the PROGRAM case, that we read from stdin and wrote to stdout. Fix that, and improve consistency by referring to the 'PostgreSQL' user instead of the 'postgres' user, as is done in the rest of the COPY documentation. Pointed out by Peter van Dijk. Back-patch to 9.3 where COPY .. PROGRAM was introduced.
2014-09-19Fix failure of contrib/auto_explain to print per-node timing information.Tom Lane
This has been broken since commit af7914c6627bcf0b0ca614e9ce95d3f8056602bf, which added the EXPLAIN (TIMING) option. Although that commit included updates to auto_explain, they evidently weren't tested very carefully, because the code failed to print node timings even when it should, due to failure to set es.timing in the ExplainState struct. Reported off-list by Neelakanth Nadgir of Salesforce. In passing, clean up the documentation for auto_explain's options a little bit, including re-ordering them into what seems to me a more logical order.
2014-09-16Fix the return type of GIN triConsistent support functions to "char".Heikki Linnakangas
They were marked to return a boolean, but they actually return a GinTernaryValue, which is more like a "char". It makes no practical difference, as the triConsistent functions cannot be called directly from SQL because they have "internal" arguments, but this nevertheless seems more correct. Also fix the GinTernaryValue name in the documentation. I renamed the enum earlier, but neglected the docs. Alexander Korotkov. This is new in 9.4, so backpatch there.
2014-09-12Support ALTER SYSTEM RESET command.Fujii Masao
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.
2014-09-11Change the way latency is calculated with pgbench --rate option.Heikki Linnakangas
The reported latency values now include the "schedule lag" time, that is, the time between the transaction's scheduled start time and the time it actually started. This relates better to a model where requests arrive at a certain rate, and we are interested in the response time to the end user or application, rather than the response time of the database itself. Also, when --rate is used, include the schedule lag time in the log output. The --rate option is new in 9.4, so backpatch to 9.4. It seems better to make this change in 9.4, while we're still in the beta period, than ship a 9.4 version that calculates the values differently than 9.5.
2014-09-10doc: improve configuration management sectionBruce Momjian
Patch by David Johnston Backpatch through 9.4
2014-09-09doc: Reflect renaming of Mac OS X to OS XPeter Eisentraut
bug #10528
2014-09-08Fix psql \s to work with recent libedit, and add pager support.Tom Lane
psql's \s (print command history) doesn't work at all with recent libedit versions when printing to the terminal, because libedit tries to do an fchmod() on the target file which will fail if the target is /dev/tty. (We'd already noted this in the context of the target being /dev/null.) Even before that, it didn't work pleasantly, because libedit likes to encode the command history file (to ensure successful reloading), which renders it nigh unreadable, not to mention significantly different-looking depending on exactly which libedit version you have. So let's forget using write_history() for this purpose, and instead print the data ourselves, using logic similar to that used to iterate over the history for newline encoding/decoding purposes. While we're at it, insert the ability to use the pager when \s is printing to the terminal. This has been an acknowledged shortcoming of \s for many years, so while you could argue it's not exactly a back-patchable bug fix it still seems like a good improvement. Anyone who's seriously annoyed at this can use "\s /dev/tty" or local equivalent to get the old behavior. Experimentation with this showed that the history iteration logic was actually rather broken when used with libedit. It turns out that with libedit you have to use previous_history() not next_history() to advance to more recent history entries. The easiest and most robust fix for this seems to be to make a run-time test to verify which function to call. We had not noticed this because libedit doesn't really need the newline encoding logic: its own encoding ensures that command entries containing newlines are reloaded correctly (unlike libreadline). So the effective behavior with recent libedits was that only the oldest history entry got newline-encoded or newline-decoded. However, because of yet other bugs in history_set_pos(), some old versions of libedit allowed the existing loop logic to reach entries besides the oldest, which means there may be libedit ~/.psql_history files out there containing encoded newlines in more than just the oldest entry. To ensure we can reload such files, it seems appropriate to back-patch this fix, even though that will result in some incompatibility with older psql versions (ie, multiline history entries written by a psql with this fix will look corrupted to a psql without it, if its libedit is reasonably up to date). Stepan Rutz and Tom Lane
2014-09-07Documentation fix: sum(float4) returns float4, not float8.Tom Lane
The old claim is from my commit d06ebdb8d3425185d7e641d15e45908658a0177d of 2000-07-17, but it seems to have been a plain old thinko; sum(float4) has been distinct from sum(float8) since Berkeley days. Noted by KaiGai Kohei. While at it, mention the existence of sum(money), which is also of embarrassingly ancient vintage.