summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2013-03-19Clarify assumption of filesystem metadata integrity.Simon Riggs
Jeff Davis
2013-03-19Correction that 2pc state files use CRC-32.Simon Riggs
Jeff Davis
2013-03-18Add reliability docs about storage/memory corruptions.Simon Riggs
Add section to the Reliability section about what is and is not protected for various file types. Further edits welcome. Designed to allow 1-2 line change when/if checksums are committed. Inspired by docs written by Jeff Davis, though completely different from his patch.
2013-03-18Improve documentation of EXTRACT(WEEK).Tom Lane
The docs showed that early-January dates can be considered part of the previous year for week-counting purposes, but failed to say explicitly that late-December dates can also be considered part of the next year. Fix that, and add a cross-reference to the "isoyear" field. Per bug #7967 from Pawel Kobylak.
2013-03-18Remove PageSetTLI and rename pd_tli to pd_checksumSimon Riggs
Remove use of PageSetTLI() from all page manipulation functions and adjust README to indicate change in the way we make changes to pages. Repurpose those bytes into the pd_checksum field and explain how that works in comments about page header. Refactoring ahead of actual feature patch which would make use of the checksum field, arriving later. Jeff Davis, with comments and doc changes by Simon Riggs Direction suggested by Robert Haas; many others providing review comments.
2013-03-16Add lock_timeout configuration parameter.Tom Lane
This GUC allows limiting the time spent waiting to acquire any one heavyweight lock. In support of this, improve the recently-added timeout infrastructure to permit efficiently enabling or disabling multiple timeouts at once. That reduces the performance hit from turning on lock_timeout, though it's still not zero. Zoltán Böszörményi, reviewed by Tom Lane, Stephen Frost, and Hari Babu
2013-03-15Improve the documentation about commit_delay.Tom Lane
Clarify the docs explaining what commit_delay does, and add a recommendation about a useful value for it, namely half of the single-page fsync time reported by pg_test_fsync. This is informed by testing of the new-in-9.3 implementation of commit_delay; in prior versions it was far harder to arrive at a useful setting. In passing, do some wordsmithing and markup-fixing in the same general area. Also, change pg_test_fsync's default time-per-test from 2 seconds to 5. The old value was about the minimum at which the results could be taken seriously at all, and so seems a tad optimistic as a default. Peter Geoghegan, reviewed by Noah Misch; some additional editing by me
2013-03-14Extend format() to handle field width and left/right alignment.Tom Lane
This change adds some more standard sprintf() functionality to format(). Pavel Stehule, reviewed by Dean Rasheed and Kyotaro Horiguchi
2013-03-12Fix documentation oversight.Tom Lane
Mention that PlanForeignModify's result must be copiable by copyObject.
2013-03-12Allow default expressions to be attached to columns of foreign tables.Tom Lane
There's still some discussion about exactly how postgres_fdw ought to handle this case, but there seems no debate that we want to allow defaults to be used for inserts into foreign tables. So remove the core-code restrictions that prevented it. While at it, get rid of the special grammar productions for CREATE FOREIGN TABLE, and instead add explicit FEATURE_NOT_SUPPORTED error checks for the disallowed cases. This makes the grammar a shade smaller, and more importantly results in much more intelligible error messages for unsupported cases. It's also one less thing to fix if we ever start supporting constraints on foreign tables.
2013-03-12Fix orthotypographical mistakeAlvaro Herrera
Apparently I lost some of the edits I had done on this page for commit 0ac5ad5134. Per note from Etsuro Fujita, although I didn't use his patch. Make some of the wording in the affected section a bit more complete, too.
2013-03-10JSON generation improvements.Andrew Dunstan
This adds the following: json_agg(anyrecord) -> json to_json(any) -> json hstore_to_json(hstore) -> json (also used as a cast) hstore_to_json_loose(hstore) -> json The last provides heuristic treatment of numbers and booleans. Also, in json generation, if any non-builtin type has a cast to json, that function is used instead of the type's output function. Andrew Dunstan, reviewed by Steve Singer. Catalog version bumped.
2013-03-10doc: Add note about checkpoint_warning vs checkpoint_timeoutPeter Eisentraut
suggested by Tianyin Xu
2013-03-10Support writable foreign tables.Tom Lane
This patch adds the core-system infrastructure needed to support updates on foreign tables, and extends contrib/postgres_fdw to allow updates against remote Postgres servers. There's still a great deal of room for improvement in optimization of remote updates, but at least there's basic functionality there now. KaiGai Kohei, reviewed by Alexander Korotkov and Laurenz Albe, and rather heavily revised by Tom Lane.
2013-03-07Fix typo in docs for ALTER MATERIALIZED VIEW.Kevin Grittner
Fujii Masao
2013-03-06Add docs for pg_matviews, which were missed in the initial MV commit.Kevin Grittner
2013-03-04psql: Let \l accept a patternPeter Eisentraut
reviewed by Satoshi Nagayasu
2013-03-03Add a materialized view relations.Kevin Grittner
A materialized view has a rule just like a view and a heap and other physical properties like a table. The rule is only used to populate the table, references in queries refer to the materialized data. This is a minimal implementation, but should still be useful in many cases. Currently data is only populated "on demand" by the CREATE MATERIALIZED VIEW and REFRESH MATERIALIZED VIEW statements. It is expected that future releases will add incremental updates with various timings, and that a more refined concept of defining what is "fresh" data will be developed. At some point it may even be possible to have queries use a materialized in place of references to underlying tables, but that requires the other above-mentioned features to be working first. Much of the documentation work by Robert Haas. Review by Noah Misch, Thom Brown, Robert Haas, Marko Tiikkaja Security review by KaiGai Kohei, with a decision on how best to implement sepgsql still pending.
2013-03-03doc: Small tweak for consistencyPeter Eisentraut
submitted by "Lyle"
2013-03-03doc: A few awkward phrasing fixesPeter Eisentraut
Josh Kupershmidt
2013-02-27Remove spurious "the", and add a missing one.Heikki Linnakangas
Thom Brown and me.
2013-02-27Add support for piping COPY to/from an external program.Heikki Linnakangas
This includes backend "COPY TO/FROM PROGRAM '...'" syntax, and corresponding psql \copy syntax. Like with reading/writing files, the backend version is superuser-only, and in the psql version, the program is run in the client. In the passing, the psql \copy STDIN/STDOUT syntax is subtly changed: if you the stdin/stdout is quoted, it's now interpreted as a filename. For example, "\copy foo from 'stdin'" now reads from a file called 'stdin', not from standard input. Before this, there was no way to specify a filename called stdin, stdout, pstdin or pstdout. This creates a new function in pgport, wait_result_to_str(), which can be used to convert the exit status of a process, as returned by wait(3), to a human-readable string. Etsuro Fujita, reviewed by Amit Kapila.
2013-02-25doc: Fix markup typoPeter Eisentraut
2013-02-25Add -d option to pg_dumpall, for specifying a connection string.Heikki Linnakangas
Like with pg_basebackup and pg_receivexlog, it's a bit strange to call the option -d/--dbname, when in fact you cannot pass a database name in it. Original patch by Amit Kapila, heavily modified by me.
2013-02-25Add -d/--dbname option to pg_dump.Heikki Linnakangas
You could already pass a database name just by passing it as the last option, without -d. This is an alias for that, like the -d/--dbname option in psql and many other client applications. For consistency.
2013-02-25Add -d option to pg_basebackup and pg_receivexlog, for connection string.Heikki Linnakangas
Without this, there's no way to pass arbitrary libpq connection parameters to these applications. It's a bit strange that the option is called -d/--dbname, when in fact you can *not* pass a database name in it, but it's consistent with other client applications where a connection string is also passed using -d. Original patch by Amit Kapila, heavily modified by me.
2013-02-24doc: Remove PostgreSQL version number from xml2 deprecation noticePeter Eisentraut
It is obviously no longer true.
2013-02-23doc: Add more compatibility information for triggersPeter Eisentraut
Louis-Claude Canon and Josh Kupershmidt
2013-02-22Fix some typos and grammatical mistakesAlvaro Herrera
... as well a update copyrights statements to 2013. Noted by Thom Brown and Peter Geoghegan
2013-02-22Add pg_xlogdump contrib programAlvaro Herrera
This program relies on rm_desc backend routines and the xlogreader infrastructure to emit human-readable rendering of WAL records. Author: Andres Freund, with many reworks by Álvaro Reviewed (in a much earlier version) by Peter Eisentraut
2013-02-21Add postgres_fdw contrib module.Tom Lane
There's still a lot of room for improvement, but it basically works, and we need this to be present before we can do anything much with the writable-foreign-tables patch. So let's commit it and get on with testing. Shigeru Hanada, reviewed by KaiGai Kohei and Tom Lane
2013-02-17Add ALTER ROLE ALL SET commandPeter Eisentraut
This generalizes the existing ALTER ROLE ... SET and ALTER DATABASE ... SET functionality to allow creating settings that apply to all users in all databases. reviewed by Pavel Stehule
2013-02-13doc: Add make target to produce EPUB from DocBookPeter Eisentraut
2013-02-11Support unlogged GiST index.Heikki Linnakangas
The reason this wasn't supported before was that GiST indexes need an increasing sequence to detect concurrent page-splits. In a regular WAL- logged GiST index, the LSN of the page-split record is used for that purpose, and in a temporary index, we can get away with a backend-local counter. Neither of those methods works for an unlogged relation. To provide such an increasing sequence of numbers, create a "fake LSN" counter that is saved and restored across shutdowns. On recovery, unlogged relations are blown away, so the counter doesn't need to survive that either. Jeevan Chalke, based on discussions with Robert Haas, Tom Lane and me.
2013-02-09Add an example of attaching a default value to an updatable view.Tom Lane
This is probably the single most useful thing that ALTER VIEW can do, particularly now that we have auto-updatable views. So show an explicit example.
2013-02-08Add support for ALTER RULE ... RENAME TO.Tom Lane
Ali Dar, reviewed by Dean Rasheed.
2013-02-08doc: Fix mistakes in the most recent set of release notes.Tom Lane
Improve description of the vacuum_freeze_table_age bug (it's much more serious than we realized at the time the fix was committed), and correct attribution of pg_upgrade -O/-o fix (Marti Raudsepp contributed that, but Bruce forgot to credit him in the commit log). No need to back-patch right now, it'll happen when the next set of release notes are prepared.
2013-02-07doc: Rewrite how to get the source codePeter Eisentraut
Instead of hardcoding a specific link, give a general link to the download section of the web site. This gives the user more download options and the sysadmins more flexibility. Also, the previously presented link didn't work for devel versions.
2013-02-06Enable building with Microsoft Visual Studio 2012.Andrew Dunstan
Backpatch to release 9.2 Brar Piening and Noah Misch, reviewed by Craig Ringer.
2013-02-04Prevent execution of enum_recv() from SQL.Tom Lane
This function was misdeclared to take cstring when it should take internal. This at least allows crashing the server, and in principle an attacker might be able to use the function to examine the contents of server memory. The correct fix is to adjust the system catalog contents (and fix the regression tests that should have caught this but failed to). However, asking users to correct the catalog contents in existing installations is a pain, so as a band-aid fix for the back branches, install a check in enum_recv() to make it throw error if called with a cstring argument. We will later revert this in HEAD in favor of correcting the catalogs. Our thanks to Sumit Soni (via Secunia SVCRP) for reporting this issue. Security: CVE-2013-0255
2013-02-04Update release notes for 9.2.3, 9.1.8, 9.0.12, 8.4.16, 8.3.23.Tom Lane
2013-02-04Reset vacuum_defer_cleanup_age to PGC_SIGHUP.Simon Riggs
Revert commit 84725aa5efe11688633b553e58113efce4181f2e
2013-02-04Reset master xmin when hot_standby_feedback disabled.Simon Riggs
If walsender has xmin of standby then ensure we reset the value to 0 when we change from hot_standby_feedback=on to hot_standby_feedback=off.
2013-02-03Perform line wrapping and indenting by default in ruleutils.c.Tom Lane
This patch changes pg_get_viewdef() and allied functions so that PRETTY_INDENT processing is always enabled. Per discussion, only the PRETTY_PAREN processing (that is, stripping of "unnecessary" parentheses) poses any real forward-compatibility risk, so we may as well make dump output look as nice as we safely can. Also, set the default wrap length to zero (i.e, wrap after each SELECT or FROM list item), since there's no very principled argument for the former default of 80-column wrapping, and most people seem to agree this way looks better. Marko Tiikkaja, reviewed by Jeevan Chalke, further hacking by Tom Lane
2013-02-03PL/Python: Add result object str handlerPeter Eisentraut
This is intended so that say plpy.debug(rv) prints something useful for debugging query execution results. reviewed by Steve Singer
2013-02-02Create a psql command \gset to store query results into psql variables.Tom Lane
This eases manipulation of query results in psql scripts. Pavel Stehule, reviewed by Piyush Newe, Shigeru Hanada, and Tom Lane
2013-02-02Prevent "\g filename" from affecting subsequent commands after an error.Tom Lane
In the previous coding, psql's state variable saying that output should go to a file was only reset after successful completion of a query returning tuples. Thus for example, regression=# select 1/0 regression-# \g somefile ERROR: division by zero regression=# select 1/2; regression=# ... huh, I wonder where that output went. Even more oddly, the state was not reset even if it's the file that's causing the failure: regression=# select 1/2 \g /foo /foo: Permission denied regression=# select 1/2; /foo: Permission denied regression=# select 1/2; /foo: Permission denied This seems to me not to satisfy the principle of least surprise. \g is certainly not documented in a way that suggests its effects are at all persistent. To fix, adjust the code so that the flag is reset at exit from SendQuery no matter what happened. Noted while reviewing the \gset patch, which had comparable issues. Arguably this is a bug fix, but I'll refrain from back-patching for now.
2013-02-02Mark vacuum_defer_cleanup_age as PGC_POSTMASTER.Simon Riggs
Following bug analysis of #7819 by Tom Lane
2013-02-01doc: Tiny whitespace fixPeter Eisentraut
2013-01-31Add CREATE RECURSIVE VIEW syntaxPeter Eisentraut
This is specified in the SQL standard. The CREATE RECURSIVE VIEW specification is transformed into a normal CREATE VIEW statement with a WITH RECURSIVE clause. reviewed by Abhijit Menon-Sen and Stephen Frost