summaryrefslogtreecommitdiff
path: root/doc/src
AgeCommit message (Collapse)Author
2011-01-02Implement remaining fields of information_schema.sequences viewPeter Eisentraut
Add new function pg_sequence_parameters that returns a sequence's start, minimum, maximum, increment, and cycle values, and use that in the view. (bug #5662; design suggestion by Tom Lane) Also slightly adjust the view's column order and permissions after review of SQL standard.
2011-01-01Basic foreign table support.Robert Haas
Foreign tables are a core component of SQL/MED. This commit does not provide a working SQL/MED infrastructure, because foreign tables cannot yet be queried. Support for foreign table scans will need to be added in a future patch. However, this patch creates the necessary system catalog structure, syntax support, and support for ancillary operations such as COMMENT and SECURITY LABEL. Shigeru Hanada, heavily revised by Robert Haas
2011-01-01Minor wordsmithing.Robert Haas
As suggested by Tom Lane, in response to a gripe from Leslie S Satenstein.
2011-01-01Stamp copyrights for year 2011.Bruce Momjian
2010-12-31Include the first valid listen address in pg_ctl to improve server startBruce Momjian
"wait" detection and add postmaster start time to help determine if the postmaster is actually using the specified data directory.
2010-12-30Remove tabs in SGMLPeter Eisentraut
2010-12-29Doc wording improvement: taken -> acceptedBruce Momjian
with time zone</type>.) <type>timestamptz</type> is accepted as an
2010-12-29Support unlogged tables.Robert Haas
The contents of an unlogged table are WAL-logged; thus, they are not available on standby servers and are truncated whenever the database system enters recovery. Indexes on unlogged tables are also unlogged. Unlogged GiST indexes are not currently supported.
2010-12-29Add REPLICATION privilege for ROLEsMagnus Hagander
This privilege is required to do Streaming Replication, instead of superuser, making it possible to set up a SR slave that doesn't have write permissions on the master. Superuser privileges do NOT override this check, so in order to use the default superuser account for replication it must be explicitly granted the REPLICATION permissions. This is backwards incompatible change, in the interest of higher default security.
2010-12-28Reclassify DEFAULT as a column_constraint item in the CREATE TABLE syntax.Tom Lane
This is how it was documented originally, but several years ago somebody decided that DEFAULT isn't a type of constraint. Well, the grammar thinks it is. The documentation was wrong in two ways: it alleged that DEFAULT had to appear before any other kind of constraint, and it alleged that you can't prefix a DEFAULT clause with a "CONSTRAINT name" clause, when in fact you can. (The latter behavior probably isn't SQL-standard, but our grammar has always allowed it.) This patch responds to Fujii Masao's observation that the ALTER TABLE documentation mistakenly implied that you couldn't include DEFAULT in ALTER TABLE ADD COLUMN; though this isn't the way he proposed fixing it.
2010-12-28No release notes update, just advance the dateREL9_1_ALPHA3Peter Eisentraut
2010-12-28Fix ill-advised placement of PGRES_COPY_BOTH enum value.Tom Lane
It must be added at the end of the ExecStatusType enum to avoid ABI breakage compared to previous libpq versions. Noted by Magnus.
2010-12-28Fix list of functions that are restricted to superusersMagnus Hagander
Move the list of what's restricted to superusers into the table itself, so it doesn't get missed again.
2010-12-27Update SGML docs describing the contents of the postmaster.pid file,Bruce Momjian
per change to the file for pg_ctl.
2010-12-27Break up long line, per Leslie S Satenstein.Alvaro Herrera
2010-12-26Corrections to patch adding SQL/MED error codes.Robert Haas
My previous commit, 85cff3ce7f360d139d87aee836d75a6202fee066 on 2010-12-25, failed to update errcodes.sgml or plerrcodes.h. This patch corrects that oversight, per a gripe from Tom Lane, and also corrects a typographical error.
2010-12-24Correct spelling: longjump() -> longjmp().Robert Haas
2010-12-24Fix grammarPeter Eisentraut
2010-12-24Improve "pg_ctl -w start" server detection by writing the postmasterBruce Momjian
port and socket directory into postmaster.pid, and have pg_ctl read from that file, for use by PQping().
2010-12-24Move the documentation of --no-security-label to a more sensible placePeter Eisentraut
The order on the pg_dump/pg_dumpall man pages is not very strict, but surely putting it under connection options was wrong.
2010-12-24Release notes for 9.1alpha3Peter Eisentraut
2010-12-23Document pg_dump(all) --no-security-label instead of --security-label.Robert Haas
The former is the option actually supported by these commands.
2010-12-23Rewrite the GiST insertion logic so that we don't need the post-recoveryHeikki Linnakangas
cleanup stage to finish incomplete inserts or splits anymore. There was two reasons for the cleanup step: 1. When a new tuple was inserted to a leaf page, the downlink in the parent needed to be updated to contain (ie. to be consistent with) the new key. Updating the parent in turn might require recursively updating the parent of the parent. We now handle that by updating the parent while traversing down the tree, so that when we insert the leaf tuple, all the parents are already consistent with the new key, and the tree is consistent at every step. 2. When a page is split, we need to insert the downlink for the new right page(s), and update the downlink for the original page to not include keys that moved to the right page(s). We now handle that by setting a new flag, F_FOLLOW_RIGHT, on the non-rightmost pages in the split. When that flag is set, scans always follow the rightlink, regardless of the NSN mechanism used to detect concurrent page splits. That way the tree is consistent right after split, even though the downlink is still missing. This is very similar to the way B-tree splits are handled. When the downlink is inserted in the parent, the flag is cleared. To keep the insertion algorithm simple, when an insertion sees an incomplete split, indicated by the F_FOLLOW_RIGHT flag, it finishes the split before doing anything else. These changes allow removing the whole "invalid tuple" mechanism, but I retained the scan code to still follow invalid tuples correctly. While we don't create any such tuples anymore, we want to handle them gracefully in case you pg_upgrade a GiST index that has them. If we encounter any on an insert, though, we just throw an error saying that you need to REINDEX. The issue that got me into doing this is that if you did a checkpoint while an insert or split was in progress, and the checkpoint finishes quickly so that there is no WAL record related to the insert between RedoRecPtr and the checkpoint record, recovery from that checkpoint would not know to finish the incomplete insert. IOW, we have the same issue we solved with the rm_safe_restartpoint mechanism during normal operation too. It's highly unlikely to happen in practice, and this fix is far too large to backpatch, so we're just going to live with in previous versions, but this refactoring fixes it going forward. With this patch, you don't get the annoying 'index "FOO" needs VACUUM or REINDEX to finish crash recovery' notices anymore if you crash at an unfortunate moment.
2010-12-22Document that BBU's do not allow partial page writes to be safely turnedBruce Momjian
off unless they guarantee that all writes to the BBU arrive in 8kB chunks. Per discussion with Greg Smith
2010-12-22Typo fix.Robert Haas
Noted by Thom Brown.
2010-12-22Wording improvements for pg_ctl manual page.Bruce Momjian
2010-12-22Add PQlibVersion() function to libpqMagnus Hagander
This function is like the PQserverVersion() function except it returns the version of libpq, making it possible for a client program or driver to determine which version of libpq is in use at runtime, and not just at link time. Suggested by Harald Armin Massa and several others.
2010-12-20Fix typoAlvaro Herrera
Jaime Casanova
2010-12-19Support for collecting crash dumps on WindowsMagnus Hagander
Add support for collecting "minidump" style crash dumps on Windows, by setting up an exception handling filter. Crash dumps will be generated in PGDATA/crashdumps if the directory is created (the existance of the directory is used as on/off switch for the generation of the dumps). Craig Ringer and Magnus Hagander
2010-12-16Waiting for complete startup is now a well-defined operation.Robert Haas
Per report from Fujii Masao, and subsequent discussion.
2010-12-15Some copy editing of pg_read_binary_file() patch.Robert Haas
2010-12-15Document timestamptz a little better.Robert Haas
2010-12-16Add pg_read_binary_file() and whole-file-at-once versions of pg_read_file().Itagaki Takahiro
One of the usages of the binary version is to read files in a different encoding from the server encoding. Dimitri Fontaine and Itagaki Takahiro.
2010-12-15Use "upgrade" in preference over "migrate" in pg_upgrade messages andBruce Momjian
documentation. (Many were left over from the old pg_migrator naming.)
2010-12-13Update release notes for releases 9.0.2, 8.4.6, 8.3.13, 8.2.19, and 8.1.23.Tom Lane
2010-12-13Remove recently reintroduced CVS keywordPeter Eisentraut
2010-12-13Document replacement of pg_class.relistemp with relpersistence.Robert Haas
Noted by Tom Lane.
2010-12-11Allow bidirectional copy messages in streaming replication mode.Robert Haas
Fujii Masao. Review by Alvaro Herrera, Tom Lane, and myself.
2010-12-10Minor documentation cleanup.Robert Haas
Fujii Masao
2010-12-08Force default wal_sync_method to be fdatasync on Linux.Tom Lane
Recent versions of the Linux system header files cause xlogdefs.h to believe that open_datasync should be the default sync method, whereas formerly fdatasync was the default on Linux. open_datasync is a bad choice, first because it doesn't actually outperform fdatasync (in fact the reverse), and second because we try to use O_DIRECT with it, causing failures on certain filesystems (e.g., ext4 with data=journal option). This part of the patch is largely per a proposal from Marti Raudsepp. More extensive changes are likely to follow in HEAD, but this is as much change as we want to back-patch. Also clean up confusing code and incorrect documentation surrounding the fsync_writethrough option. Those changes shouldn't result in any actual behavioral change, but I chose to back-patch them anyway to keep the branches looking similar in this area. In 9.0 and HEAD, also do some copy-editing on the WAL Reliability documentation section. Back-patch to all supported branches, since any of them might get used on modern Linux versions.
2010-12-08Optimize commit_siblings in two ways to improve group commit.Simon Riggs
First, avoid scanning the whole ProcArray once we know there are at least commit_siblings active; second, skip the check altogether if commit_siblings = 0. Greg Smith
2010-12-04Add KNNGIST support to contrib/pg_trgm.Tom Lane
Teodor Sigaev, with some revision by Tom
2010-12-03Add external documentation for KNNGIST.Tom Lane
2010-12-03Clarify that LOCK TABLE requires a table-level privilege.Robert Haas
2010-12-02Create core infrastructure for KNNGIST.Tom Lane
This is a heavily revised version of builtin_knngist_core-0.9. The ordering operators are no longer mixed in with actual quals, which would have confused not only humans but significant parts of the planner. Instead, ordering operators are carried separately throughout planning and execution. Since the API for ambeginscan and amrescan functions had to be changed anyway, this commit takes the opportunity to rationalize that a bit. RelationGetIndexScan no longer forces a premature index_rescan call; instead, callers of index_beginscan must call index_rescan too. Aside from making the AM-side initialization logic a bit less peculiar, this has the advantage that we do not make a useless extra am_rescan call when there are runtime key values. AMs formerly could not assume that the key values passed to amrescan were actually valid; now they can. Teodor Sigaev and Tom Lane
2010-11-29Be consistent about writing "[, ...]" instead "[,...]" in the docs.Heikki Linnakangas
Christoph Berg.
2010-11-27Point out in default_tablespace's description that CREATE DATABASE ignores it.Tom Lane
Per gripe from Andreas Scherbaum.
2010-11-27New contrib module, auth_delay.Robert Haas
KaiGai Kohei, with a few changes by me.
2010-11-27A bit more wordsmithing on the PQping documentation.Tom Lane
2010-11-27Rewrite PQping to be more like what we agreed to last week.Tom Lane
Basically, we want to distinguish all cases where the connection was not made from those where it was. A convenient proxy for this is to see if we got a message with a SQLSTATE code back from the postmaster. This presumes that the postmaster will always send us a SQLSTATE in a failure message, which is true for 7.4 and later postmasters in every case except fork failure. (We could possibly complicate the postmaster code to do something about that, but it seems not worth the trouble, especially since pg_ctl's response for that case should be to keep waiting anyway.) If we did get a SQLSTATE from the postmaster, there are basically only two cases, as per last week's discussion: ERRCODE_CANNOT_CONNECT_NOW and everything else. Any other error code implies that the postmaster is in principle willing to accept connections, it just didn't like or couldn't handle this particular request. We want to make a special case for ERRCODE_CANNOT_CONNECT_NOW so that "pg_ctl start -w" knows it should keep waiting. In passing, pick names for the enum constants that are a tad less likely to present collision hazards in future.