Commit Graph

11566 Commits

Author SHA1 Message Date
Tom Lane
05ec931add Stamp 9.3.2. 2013-12-02 15:57:48 -05:00
Tom Lane
9cb631d984 Update release notes for 9.3.2, 9.2.6, 9.1.11, 9.0.15, 8.4.19. 2013-12-02 15:53:58 -05:00
Peter Eisentraut
19ffa951e6 doc: Put data types in alphabetical order
From: Andreas Karlsson <andreas@proxel.se>
2013-11-27 21:51:56 -05:00
Michael Meskes
55c18bcfa2 Documentation fix for ecpg.
The latest fixes removed a limitation that was still in the docs, so Zoltan updated the docs, too.
2013-11-27 11:14:44 +01:00
Fujii Masao
d982881487 Fix typo in release note.
Backpatch to 9.1.

Josh Kupershmidt
2013-11-27 13:46:34 +09:00
Bruce Momjian
57282cdeda docs: update page format to specify page checksum field
Backpatch to 9.3

Per report from Steffen Hildebrandt
2013-11-19 16:54:42 -05:00
Robert Haas
8674f1fba9 doc: Restore proper alphabetical order.
Colin 't Hart
2013-11-15 08:55:45 -05:00
Tom Lane
a1c29c1fe1 Clarify CREATE FUNCTION documentation about handling of typmods.
The previous text was a bit misleading, as well as unnecessarily vague
about what information would be discarded.  Per gripe from Craig Skinner.
2013-11-13 13:26:40 -05:00
Tom Lane
66e6daa3e1 Support default arguments and named-argument notation for window functions.
These things didn't work because the planner omitted to do the necessary
preprocessing of a WindowFunc's argument list.  Add the few dozen lines
of code needed to handle that.

Although this sounds like a feature addition, it's really a bug fix because
the default-argument case was likely to crash previously, due to lack of
checking of the number of supplied arguments in the built-in window
functions.  It's not a security issue because there's no way for a
non-superuser to create a window function definition with defaults that
refers to a built-in C function, but nonetheless people might be annoyed
that it crashes rather than producing a useful error message.  So
back-patch as far as the patch applies easily, which turns out to be 9.2.
I'll put a band-aid in earlier versions as a separate patch.

(Note that these features still don't work for aggregates, and fixing that
case will be harder since we represent aggregate arg lists as target lists
not bare expression lists.  There's no crash risk though because CREATE
AGGREGATE doesn't accept defaults, and we reject named-argument notation
when parsing an aggregate call.)
2013-11-06 13:33:18 -05:00
Tom Lane
b474871385 Improve the error message given for modifying a window with frame clause.
For rather inscrutable reasons, SQL:2008 disallows copying-and-modifying a
window definition that has any explicit framing clause.  The error message
we gave for this only made sense if the referencing window definition
itself contains an explicit framing clause, which it might well not.
Moreover, in the context of an OVER clause it's not exactly obvious that
"OVER (windowname)" implies copy-and-modify while "OVER windowname" does
not.  This has led to multiple complaints, eg bug #5199 from Iliya
Krapchatov.  Change to a hopefully more intelligible error message, and
in the case where we have just "OVER (windowname)", add a HINT suggesting
that omitting the parentheses will fix it.  Also improve the related
documentation.  Back-patch to all supported branches.
2013-11-05 21:58:12 -05:00
Tom Lane
01c1b1aa25 Improve documentation about usage of FDW validator functions.
SGML documentation, as well as code comments, failed to note that an FDW's
validator will be applied to foreign-table options for foreign tables using
the FDW.

Etsuro Fujita
2013-10-28 10:30:10 -04:00
Bruce Momjian
41b46ed8a2 docs: correct 9.1 and 9.2 release note mention of timeline switch fix
Backpatch through 9.1.

KONDO Mitsumasa
2013-10-15 10:34:05 -04:00
Peter Eisentraut
d42d839e52 doc: Fix table column number declaration 2013-10-10 21:18:07 -04:00
Bruce Momjian
7453b8db75 doc: fix typo in release notes
Backpatch through 8.4

Per suggestion by Amit Langote
2013-10-09 08:44:52 -04:00
Bruce Momjian
ac9558c2fd docs: clarify references to md5 hash and md5 crypt in pgcrypto docs
Backpatch to 9.3.X.

Suggestion from Richard Neill
2013-10-08 12:25:18 -04:00
Peter Eisentraut
b7f59e6d3e Stamp 9.3.1. 2013-10-07 23:17:38 -04:00
Peter Eisentraut
4e80950042 Revert "Document support for VPATH builds of extensions."
This reverts commit 9598134e30.
2013-10-07 22:42:52 -04:00
Bruce Momjian
2589a5a59b docs: update release notes for 8.4.18, 9.0.14, 9.1.10, 9.2.5, 9.3.1 2013-10-07 21:35:02 -04:00
Andrew Dunstan
9598134e30 Document support for VPATH builds of extensions.
Cédric Villemain and me.
2013-10-06 23:03:57 -04:00
Bruce Momjian
6f85b317d6 pg_upgrade doc: link mode additions
Mention that link mode uses less disk space, and uses junction points on
Windows.

Backpatch to 9.3.
2013-10-05 10:18:17 -04:00
Peter Eisentraut
e632b6b594 doc: Correct psycopg URL 2013-10-02 21:34:06 -04:00
Magnus Hagander
513251832e Fix copy/paste error 2013-10-02 16:43:46 +02:00
Andrew Dunstan
32d8602852 Fix erroneous statements about multiply specified JSON columns.
The behaviour in json_populate_record() and json_populate_recordset()
was changed during development but the docs were not.
2013-09-26 17:46:07 -04:00
Robert Haas
faf2971578 doc: Clarify that file_fdw options require values.
Mike Blackwell and Robert Haas
2013-09-23 15:02:08 -04:00
Jeff Davis
fb843b2679 Improve Range Types and Exclusion Constraints example.
Make the examples self-contained to avoid confusion. Per bug report
8367 from KOIZUMI Satoru.
2013-09-05 07:26:26 -07:00
Tom Lane
69876085d6 Don't fail for bad GUCs in CREATE FUNCTION with check_function_bodies off.
The previous coding attempted to activate all the GUC settings specified
in SET clauses, so that the function validator could operate in the GUC
environment expected by the function body.  However, this is problematic
when restoring a dump, since the SET clauses might refer to database
objects that don't exist yet.  We already have the parameter
check_function_bodies that's meant to prevent forward references in
function definitions from breaking dumps, so let's change CREATE FUNCTION
to not install the SET values if check_function_bodies is off.

Authors of function validators were already advised not to make any
"context sensitive" checks when check_function_bodies is off, if indeed
they're checking anything at all in that mode.  But extend the
documentation to point out the GUC issue in particular.

(Note that we still check the SET clauses to some extent; the behavior
with !check_function_bodies is now approximately equivalent to what ALTER
DATABASE/ROLE have been doing for awhile with context-dependent GUCs.)

This problem can be demonstrated in all active branches, so back-patch
all the way.
2013-09-03 18:32:23 -04:00
Robert Haas
767de7dcd6 docs: Clarify that we also support Solaris versions greater than 10.
MauMau
2013-09-03 11:22:31 -04:00
Tom Lane
da645b3a73 Stamp 9.3.0. 2013-09-02 16:53:17 -04:00
Andrew Dunstan
4e1e5d3bad Fix relfrozenxid query in docs to include TOAST tables.
The original query ignored TOAST tables which could result in tables
needing a vacuum not being reported.

Backpatch to all live branches.
2013-09-02 14:37:53 -04:00
Tom Lane
b9a06c9329 Update "Using EXPLAIN" documentation examples using current code.
It seems like a good idea to update these examples since some fairly
basic planner behaviors have changed in 9.3; notably that the startup cost
for an indexscan plan node is no longer invariably estimated at 0.00.
2013-09-01 19:43:26 -04:00
Tom Lane
3234a64f45 Update 9.3 release notes.
Some corrections, a lot of copy-editing.

Set projected release date as 2013-09-09.
2013-08-31 23:53:33 -04:00
Bruce Momjian
c9d7c192c0 release notes: update link to 9.3 PL/pgSQL constraint error info
Backpatch to 9.3.

Pavel Stehule
2013-08-20 09:39:42 -04:00
Tom Lane
ce52c6fe24 Stamp 9.3rc1. 2013-08-19 19:45:10 -04:00
Bruce Momjian
064eb5098b release notes: remove username from 9.3 major item
Etsuro Fujita
2013-08-19 12:26:22 -04:00
Bruce Momjian
2505aaed7b release notes: update 9.3 major feature list
Backpatch to 9.3.
2013-08-16 18:01:04 -04:00
Bruce Momjian
c359ff298a release notes: Update to 9.3 git current
Backpatch to 9.3, of course.
2013-08-16 16:54:40 -04:00
Bruce Momjian
7cf5540c83 9.3 release notes: move foreign table item
Move item about foreign data wrappers supporting inserts/updates/deletes
to object manipulation.

Backpatch to 9.3.

From Etsuro Fujita
2013-08-13 12:51:26 -04:00
Bruce Momjian
2edaee0112 docs: mention Julian is midnight _UTC_
(Yes, there was no UTC back then, but we compute it that way.)
Backpatch to 9.3.
2013-08-09 21:46:13 -04:00
Bruce Momjian
95b5f5e1e7 Docs: Document to_*() Julian values are integers
Backpatch to 9.3.
Per request from Marc Dahn
2013-08-09 19:25:51 -04:00
Fujii Masao
646cbc1f01 Document how auto_explain.log_timing can be changed. 2013-08-09 22:14:26 +09:00
Fujii Masao
fe136ba6fc Fix inaccurate description of tablespace.
Currently we don't need to update the pg_tablespace catalog
after redefining the symbolic links to the tablespaces
because pg_tablespace.spclocation column was removed in
PostgreSQL 9.2.

Back patch to 9.2 where pg_tablespace.spclocation was removed.

Ian Barwick, with minor change by me.
2013-07-31 22:36:39 +09:00
Bruce Momjian
61edd52401 pg_upgrade docs: don't use cluster for binary/lib
In a few cases, pg_upgrade said old/new cluster location when it meant
old/new Postgres install location, so fix those.
Per private email report
2013-07-26 13:52:01 -04:00
Tom Lane
89bb2c76e4 Prevent leakage of SPI tuple tables during subtransaction abort.
plpgsql often just remembers SPI-result tuple tables in local variables,
and has no mechanism for freeing them if an ereport(ERROR) causes an escape
out of the execution function whose local variable it is.  In the original
coding, that wasn't a problem because the tuple table would be cleaned up
when the function's SPI context went away during transaction abort.
However, once plpgsql grew the ability to trap exceptions, repeated
trapping of errors within a function could result in significant
intra-function-call memory leakage, as illustrated in bug #8279 from
Chad Wagner.

We could fix this locally in plpgsql with a bunch of PG_TRY/PG_CATCH
coding, but that would be tedious, probably slow, and prone to bugs of
omission; moreover it would do nothing for similar risks elsewhere.
What seems like a better plan is to make SPI itself responsible for
freeing tuple tables at subtransaction abort.  This patch attacks the
problem that way, keeping a list of live tuple tables within each SPI
function context.  Currently, such freeing is automatic for tuple tables
made within the failed subtransaction.  We might later add a SPI call to
mark a tuple table as not to be freed this way, allowing callers to opt
out; but until someone exhibits a clear use-case for such behavior, it
doesn't seem worth bothering.

A very useful side-effect of this change is that SPI_freetuptable() can
now defend itself against bad calls, such as duplicate free requests;
this should make things more robust in many places.  (In particular,
this reduces the risks involved if a third-party extension contains
now-redundant SPI_freetuptable() calls in error cleanup code.)

Even though the leakage problem is of long standing, it seems imprudent
to back-patch this into stable branches, since it does represent an API
semantics change for SPI users.  We'll patch this in 9.3, but live with
the leakage in older branches.
2013-07-25 16:45:47 -04:00
Robert Haas
026bc46da3 Back-patch bgworker API changes to 9.3.
Commit 7f7485a0cd made these changes
in master; per discussion, backport the API changes (but not the
functional changes), so that people don't get used to the 9.3 API
only to see it get broken in the next release.  There are already
some people coding to the original 9.3 API, and this will cause
minor breakage, but there will be even more if we wait until next
year to roll out these changes.
2013-07-22 15:41:44 -04:00
Robert Haas
295f9bbf1d Remove bgw_sighup and bgw_sigterm.
Per discussion on pgsql-hackers, these aren't really needed.  Interim
versions of the background worker patch had the worker starting with
signals already unblocked, which would have made this necessary.
But the final version does not, so we don't really need it; and it
doesn't work well with the new facility for starting dynamic background
workers, so just rip it out.

Also per discussion on pgsql-hackers, back-patch this change to 9.3.
It's best to get the API break out of the way before we do an
official release of this facility, to avoid more pain for extension
authors later.
2013-07-22 15:15:22 -04:00
Robert Haas
a9f8fe06bc doc: Fix typos in conversion names.
David Christensen
2013-07-19 10:54:11 -04:00
Stephen Frost
dd8ea2eb5e Use correct parameter name for view_option_value
The documentation for ALTER VIEW had a minor copy-and-paste error in
defining the parameters.  Noticed when reviewing the WITH CHECK OPTION
patch.

Backpatch to 9.2 where this was first introduced.
2013-07-17 10:53:32 -04:00
Noah Misch
fb7c0ac42e Switch user ID to the object owner when populating a materialized view.
This makes superuser-issued REFRESH MATERIALIZED VIEW safe regardless of
the object's provenance.  REINDEX is an earlier example of this pattern.
As a downside, functions called from materialized views must tolerate
running in a security-restricted operation.  CREATE MATERIALIZED VIEW
need not change user ID.  Nonetheless, avoid creation of materialized
views that will invariably fail REFRESH by making it, too, start a
security-restricted operation.

Back-patch to 9.3 so materialized views have this from the beginning.

Reviewed by Kevin Grittner.
2013-07-12 18:25:41 -04:00
Bruce Momjian
02e61a8488 pg_upgrade: document possible pg_hba.conf options
Previously, pg_upgrade docs recommended using .pgpass if using MD5
authentication to avoid being prompted for a password.  Turns out pg_ctl
never prompts for a password, so MD5 requires .pgpass --- document that.
Also recommend 'peer' for authentication too.
Backpatch back to 9.1.
2013-07-11 09:43:19 -04:00
Peter Eisentraut
583435d079 doc: Replace link to pgFouine with pgBadger
From: Ian Lawrence Barwick <barwick@gmail.com>
2013-07-10 22:41:37 -04:00
Michael Meskes
d0450f1fa6 Fixed incorrect description of EXEC SQL VAR command.
Thanks to MauMau <maumau307@gmail.com> for finding and fixing this.
2013-07-09 15:48:39 +02:00
Alvaro Herrera
469feb7afb Fix mention of htup.h in pageinspect docs
It's htup_details.h now.

Jeff Janes
2013-07-08 17:11:55 -04:00
Bruce Momjian
bf8d8ddc08 pg_upgrade: document link options
Document that tablespaces and pg_xlog can be on different file systems
for pg_upgrade --link mode.
Backpatch to 9.3.
2013-07-07 15:58:07 -04:00
Noah Misch
cf183732d2 Update messages, comments and documentation for materialized views.
All instances of the verbiage lagging the code.  Back-patch to 9.3,
where materialized views were introduced.
2013-07-05 15:26:46 -04:00
Magnus Hagander
462b562ab2 Remove stray | character
Erikjan Rijkers
2013-07-05 16:21:26 +02:00
Bruce Momjian
8b4c798973 Add contrib function references in the doc index
Backpatch to 9.3.
Idea from Craig Ringer
2013-07-04 11:33:08 -04:00
Robert Haas
cdaf7bde97 docs: Clarify flag dependencies for background workers.
BGWORKER_BACKEND_DATABASE_CONNECTION can only be used if
BGWORKER_SHMEM_ACCESS is also used.

Michael Paquier, with some tweaks by me.
2013-07-04 11:15:01 -04:00
Peter Eisentraut
f960fae017 doc: Fix typo in event trigger documentation
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
2013-07-04 10:28:07 -04:00
Peter Eisentraut
775a9f3025 doc: Add event trigger C API documentation
From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
2013-07-03 21:07:00 -04:00
Bruce Momjian
d3cc1b2ff0 pg_buffercache: document column meanings
Improve documentation for usagecount and relforknumber.
Backpatch to 9.3
Suggestion from Satoshi Nagayasu
2013-07-03 14:25:06 -04:00
Noah Misch
c21bb48d6f Expose object name error fields in PL/pgSQL.
Specifically, permit attaching them to the error in RAISE and retrieving
them from a caught error in GET STACKED DIAGNOSTICS.  RAISE enforces
nothing about the content of the fields; for its purposes, they are just
additional string fields.  Consequently, clarify in the protocol and
libpq documentation that the usual relationships between error fields,
like a schema name appearing wherever a table name appears, are not
universal.  This freedom has other applications; consider a FDW
propagating an error from an RDBMS having no schema support.

Back-patch to 9.3, where core support for the error fields was
introduced.  This prevents the confusion of having a release where libpq
exposes the fields and PL/pgSQL does not.

Pavel Stehule, lexical revisions by Noah Misch.
2013-07-03 07:30:15 -04:00
Peter Eisentraut
a74a977fb0 doc: Remove i18ngurus.com link
The web site is dead, and the Wayback Machine shows that it didn't have
much useful content before.
2013-07-02 20:33:17 -04:00
Peter Eisentraut
7f3cd29f8f doc: Arrange See Also links in more consistent order 2013-07-02 20:13:43 -04:00
Alvaro Herrera
061c7a3c7a Mention extra_float_digits in floating point docs
Make it easier for readers of the FP docs to find out about possibly
truncated values.

Per complaint from Tom Duffey in message
F0E0F874-C86F-48D1-AA2A-0C5365BF5118@trillitech.com

Author: Albe Laurenz
Reviewed by: Abhijit Menon-Sen
2013-07-02 13:13:56 -04:00
Bruce Momjian
4d6ae6aaec pg_dump docs: use escaped double-quotes, for Windows
On Unix, you can embed double-quotes in single-quotes, and via versa.
However, on Windows, you can only escape double-quotes in double-quotes,
so use that in the pg_dump -t/table example.
Backpatch to 9.3.
Report from Mike Toews
2013-07-01 14:52:56 -04:00
Alvaro Herrera
5e1ed63ac2 Update pg_resetxlog's documentation on multixacts
I added some more functionality to it in 0ac5ad5134 but neglected to
add it to the docs.

Per Peter Eisentraut in message
1367112171.32604.4.camel@vanquo.pezone.net
2013-06-27 15:35:34 -04:00
Alvaro Herrera
deac50021b Document relminmxid and datminmxid
I introduced these new fields in 0ac5ad5134 but neglected to add them
to the system catalogs section of the docs.

Per Thom Brown in message
CAA-aLv7UiO=Whiq3MVbsEqSyQRthuX8Tb_RLyBuQt0KQBp=6EQ@mail.gmail.com
2013-06-27 15:35:32 -04:00
Tom Lane
4b2deb7256 Tweak wording in sequence-function docs to avoid PDF build failures.
Adjust the wording in the first para of "Sequence Manipulation Functions"
so that neither of the link phrases in it break across line boundaries,
in either A4- or US-page-size PDF output.  This fixes a reported build
failure for the 9.3beta2 A4 PDF docs, and future-proofs this particular
para against causing similar problems in future.  (Perhaps somebody will
fix this issue in the SGML/TeX documentation tool chain someday, but I'm
not holding my breath.)

Back-patch to all supported branches, since the same problem could rise up
to bite us in future updates if anyone changes anything earlier than this
in func.sgml.
2013-06-27 00:23:56 -04:00
Noah Misch
40265e3446 Document effect of constant folding on CASE.
Back-patch to all supported versions.

Laurenz Albe
2013-06-26 20:33:25 -04:00
Peter Eisentraut
09bd2acbe5 Stamp 9.3beta2. 2013-06-24 14:55:41 -04:00
Peter Eisentraut
0b5a5c8e05 doc: Fix date in EPUB manifest
If there is no <date> element, the publication date for the EPUB
manifest is taken from the copyright year.  But something like
"1996-2013" is not a legal date specification.  So the EPUB output
currently fails epubcheck.

Put in a separate <date> element with the current year.  Put it in
legal.sgml, because copyright.pl already instructs to update that
manually, so it hopefully won't be missed.
2013-06-21 22:53:24 -04:00
Peter Eisentraut
b3b2ea4ad7 Further update CREATE FUNCTION documentation about argument names
More languages than SQL and PL/pgSQL actually support parameter names.
2013-06-19 22:29:24 -04:00
Simon Riggs
0ae1bf8c1b Fix docs on lock level for ALTER TABLE VALIDATE
ALTER TABLE .. VALIDATE CONSTRAINT previously
gave incorrect details about lock levels and
therefore incomplete reasons to use the option.

Initial bug report and fix from Marko Tiikkaja
Reworded by me to include comments by Kevin Grittner
2013-06-18 12:10:10 +01:00
Fujii Masao
7b5d712d08 Fix description of archive format which pg_restore -j supports. 2013-06-16 09:39:16 +09:00
Tom Lane
dc3eb56383 Improve updatability checking for views and foreign tables.
Extend the FDW API (which we already changed for 9.3) so that an FDW can
report whether specific foreign tables are insertable/updatable/deletable.
The default assumption continues to be that they're updatable if the
relevant executor callback function is supplied by the FDW, but finer
granularity is now possible.  As a test case, add an "updatable" option to
contrib/postgres_fdw.

This patch also fixes the information_schema views, which previously did
not think that foreign tables were ever updatable, and fixes
view_is_auto_updatable() so that a view on a foreign table can be
auto-updatable.

initdb forced due to changes in information_schema views and the functions
they rely on.  This is a bit unfortunate to do post-beta1, but if we don't
change this now then we'll have another API break for FDWs when we do
change it.

Dean Rasheed, somewhat editorialized on by Tom Lane
2013-06-12 17:53:33 -04:00
Andrew Dunstan
78ed8e03c6 Fix unescaping of JSON Unicode escapes, especially for non-UTF8.
Per discussion  on -hackers. We treat Unicode escapes when unescaping
them similarly to the way we treat them in PostgreSQL string literals.
Escapes in the ASCII range are always accepted, no matter what the
database encoding. Escapes for higher code points are only processed in
UTF8 databases, and attempts to process them in other databases will
result in an error. \u0000 is never unescaped, since it would result in
an impermissible null byte.
2013-06-12 13:35:24 -04:00
Robert Haas
c1d729b419 Improve description of loread/lowrite.
Patch by me, reviewed by Tatsuo Ishii.
2013-06-12 12:20:59 -04:00
Tatsuo Ishii
ecdec470e7 Add description that loread()/lowrite() are corresponding to
lo_read()/lo_write() in libpq to avoid confusion.
2013-06-11 14:25:58 +09:00
Tom Lane
f3839ea117 Remove ALTER DEFAULT PRIVILEGES' requirement of schema CREATE permissions.
Per discussion, this restriction isn't needed for any real security reason,
and it seems to confuse people more often than it helps them.  It could
also result in some database states being unrestorable.  So just drop it.

Back-patch to 9.0, where ALTER DEFAULT PRIVILEGES was introduced.
2013-06-09 15:26:40 -04:00
Andrew Dunstan
94e3311b97 Handle Unicode surrogate pairs correctly when processing JSON.
In 9.2, Unicode escape sequences are not analysed at all other than
to make sure that they are in the form \uXXXX. But in 9.3 many of the
new operators and functions try to turn JSON text values into text in
the server encoding, and this includes de-escaping Unicode escape
sequences. This processing had not taken into account the possibility
that this might contain a surrogate pair to designate a character
outside the BMP. That is now handled correctly.

This also enforces correct use of surrogate pairs, something that is not
done by the type's input routines. This fact is noted in the docs.
2013-06-08 09:12:48 -04:00
Peter Eisentraut
c99d5d1bcc doc: Fix <synopsis> in <term> markup
Although the DTD technically allows this, the resulting HTML is invalid
because it puts block elements inside inline elements.  DocBook 5.0 also
doesn't allow it anymore, so it's fair to assume that this was never
really intended to work.  Replace <synopsis> with <literal>, which is
the markup used elsewhere in the documentation in similar cases.
2013-06-07 22:00:59 -04:00
Kevin Grittner
734fbbd1d2 Correct the documentation of pg_rewrite.ev_attr.
It claimed the value was always zero; it is really always -1.

Per report from Hari Babu
2013-06-07 08:04:22 -05:00
Tom Lane
7b1e893acd Minor docs wordsmithing.
Swap the order of a couple of phrases to clarify what the adjective
"subsequent" applies to.

Joshua Tolley
2013-06-07 00:08:02 -04:00
Peter Eisentraut
58617e4dc1 doc: Clarify description of VALUES command
Greg Smith
2013-06-06 21:03:04 -04:00
Bruce Momjian
e2c84bc9f5 pg_upgrade: document that --link should be used with --check
Backpatch to 9.2.
2013-06-06 10:13:55 -04:00
Peter Eisentraut
22b36412c7 Another man page whitespace fix 2013-06-01 22:22:02 -04:00
Peter Eisentraut
93874ce064 Fix whitespace issues in the man pages
See 00b0c73f1f for an explanation.
2013-06-01 22:08:26 -04:00
Peter Eisentraut
dedf7e9919 doc: Remove paragraph about typesetting conventions
They no longer match reality with the web site style sheets, and it is
difficult to keep the up to date in a CSS world.
2013-05-31 22:45:03 -04:00
Peter Eisentraut
eff8055afb doc: Fix claim that query is passed as ASCII text
Ian Lawrence Barwick
2013-05-30 21:09:27 -04:00
Peter Eisentraut
8b5a3998a1 Remove whitespace from end of lines 2013-05-30 21:05:07 -04:00
Robert Haas
07ab261ef3 Document auto_explain.log_timing.
Tomas Vondra
2013-05-29 07:12:14 -04:00
Bruce Momjian
f80e55054b pg_upgrade docs: mention need to set parameters for vacuumdb. 2013-05-28 22:54:28 -04:00
Stephen Frost
05624220c4 Documentation fix for ALTER TYPE .. RENAME
The documentation for ALTER TYPE .. RENAME claimed to support a
RESTRICT/CASCADE option at the 'type' level, which wasn't implemented
and doesn't make a whole lot of sense to begin with.  What is supported,
and previously undocumented, is

ALTER TYPE .. RENAME ATTRIBUTE .. RESTRICT/CASCADE.

I've updated the documentation and back-patched this to 9.1 where it was
first introduced.
2013-05-27 11:12:54 -04:00
Bruce Momjian
bc41ef4791 9.3 release notes: improve cached plan mention
Per suggestion from Tom Lane.
2013-05-21 16:42:29 -04:00
Bruce Momjian
8955dac251 9.3 release notes: fix SGML markup for DROP TABLE IF EXISTS 2013-05-21 08:06:32 -04:00
Bruce Momjian
efc7952c89 9.3 release docs: fix DROP TABLE IF EXISTS
Patch from Joe Abbate.
2013-05-20 22:38:42 -04:00
Peter Eisentraut
256f6ba78a Documentation spell checking and markup improvements 2013-05-20 21:13:13 -04:00
Tom Lane
2af0971f35 Clarify documentation of EXPLAIN (TIMING OFF) option.
Clarify that this option doesn't suppress measurement of the statement's
total runtime.

Greg Smith
2013-05-19 22:03:32 -04:00
Bruce Momjian
f472012a32 release docs: mention PL/pgSQL as supporting event triggers in PG 9.3 2013-05-18 11:01:55 -04:00
Tom Lane
e7bfc7e42c Fix some uses of "the quick brown fox".
If we're going to quote a well-known pangram, we should quote it
accurately.  Per gripe from Thom Brown.
2013-05-16 12:30:41 -04:00
Peter Eisentraut
a2a480af88 doc: Add \dm command to psql man page 2013-05-14 21:12:34 -04:00
Peter Eisentraut
a9bb274f90 doc: Fix some whitespace issues in the man pages 2013-05-13 21:59:39 -04:00
Peter Eisentraut
bd17102487 doc: Fix order of options on pgbench man page 2013-05-13 21:37:01 -04:00
Tom Lane
c263f16a20 Update CREATE FUNCTION documentation about argument names.
The 9.2 patch that added argument name support in SQL-language functions
missed updating a parenthetical comment about that in the CREATE FUNCTION
reference page.  Noted by Erwin Brandstetter.
2013-05-11 12:07:47 -04:00
Peter Eisentraut
cda7acee5f Update key words table for 9.3 2013-05-09 22:26:04 -04:00
Bruce Momjian
df9d764186 pg_upgrade docs: give tips on automation
Document that post-upgrade steps are likely to be the same for all
clusters with the same DDL/schemas;  this should help automated
upgrades.
2013-05-09 16:05:26 -04:00
Heikki Linnakangas
2ffa66f497 Fix walsender failure at promotion.
If a standby server has a cascading standby server connected to it, it's
possible that WAL has already been sent up to the next WAL page boundary,
splitting a WAL record in the middle, when the first standby server is
promoted. Don't throw an assertion failure or error in walsender if that
happens.

Also, fix a variant of the same bug in pg_receivexlog: if it had already
received WAL on previous timeline up to a segment boundary, when the
upstream standby server is promoted so that the timeline switch record falls
on the previous segment, pg_receivexlog would miss the segment containing
the timeline switch. To fix that, have walsender send the position of the
timeline switch at end-of-streaming, in addition to the next timeline's ID.
It was previously assumed that the switch happened exactly where the
streaming stopped.

Note: this is an incompatible change in the streaming protocol. You might
get an error if you try to stream over timeline switches, if the client is
running 9.3beta1 and the server is more recent. It should be fine after a
reconnect, however.

Reported by Fujii Masao.
2013-05-08 20:30:17 +03:00
Heikki Linnakangas
cb953d8b1b Use the term "radix tree" instead of "suffix tree" for SP-GiST text opclass.
What we have implemented is a radix tree (or a radix trie or a patricia
trie), but the docs and code comments incorrectly called it a "suffix tree".

Alexander Korotkov
2013-05-08 14:34:26 +03:00
Peter Eisentraut
20c00ca668 doc: Add IDs to link targets used by phpPgAdmin
Karl O. Pinc
2013-05-07 21:23:21 -04:00
Heikki Linnakangas
7f03a791fa Stress that backup_label file is critical in the docs.
It is surprisingly common mistake to leave out backup_label file from a base
backup. Say more explicitly that it must be included.

Jeff Janes, with minor rewording by me.
2013-05-07 16:58:10 +03:00
Tom Lane
817a89423f Stamp 9.3beta1. 2013-05-06 16:57:06 -04:00
Tom Lane
f1ff90cfb1 Desultory copy-editing of the 9.3 release notes.
I had time for a quick review of the notes, so here are some fixes.
2013-05-06 16:02:37 -04:00
Tom Lane
1d6c72a55b Move materialized views' is-populated status into their pg_class entries.
Previously this state was represented by whether the view's disk file had
zero or nonzero size, which is problematic for numerous reasons, since it's
breaking a fundamental assumption about heap storage.  This was done to
allow unlogged matviews to revert to unpopulated status after a crash
despite our lack of any ability to update catalog entries post-crash.
However, this poses enough risk of future problems that it seems better to
not support unlogged matviews until we can find another way.  Accordingly,
revert that choice as well as a number of existing kluges forced by it
in favor of creating a pg_class.relispopulated flag column.
2013-05-06 13:27:22 -04:00
Tom Lane
3223b25ff7 Disallow unlogged materialized views.
The initial implementation of this feature was really unsupportable,
because it's relying on the physical size of an on-disk file to carry the
relation's populated/unpopulated state, which is at least a modularity
violation and could have serious long-term consequences.  We could say that
an unlogged matview goes to empty on crash, but not everybody likes that
definition, so let's just remove the feature for 9.3.  We can add it back
when we have a less klugy implementation.

I left the grammar and tab-completion support for CREATE UNLOGGED
MATERIALIZED VIEW in place, since it's harmless and allows delivering a
more specific error message about the unsupported feature.

I'm committing this separately to ease identification of what should be
reverted when/if we are able to re-enable the feature.
2013-05-06 12:00:06 -04:00
Bruce Momjian
c29866073b 9.3 release notes: use "restoration"
Andrew Dunstan
2013-05-06 10:57:23 -04:00
Bruce Momjian
2fbffc0ddf 9.3 release notes: Add cache of local locks
Mention this also helps in the restoring of pg_dumps.

Jeff Janes
2013-05-06 10:56:27 -04:00
Bruce Momjian
c750aa90f2 9.3 release notes: update from Amit Kapila
No need to mention wal_receiver_status_interval.
2013-05-06 10:47:31 -04:00
Bruce Momjian
8b06e6aba8 Revert idea of zer-padding padding session id in log_line_prefix
Removal of doc adjustment and release note mention as well.
2013-05-06 08:59:39 -04:00
Bruce Momjian
083d8fa79d docs: Improve log_line_prefix session_id query 2013-05-04 13:23:04 -04:00
Bruce Momjian
f87f214b7c docs: log_line_prefix session id fix
Restore 4-byte designation for docs.  Fix 9.3 doc query to properly pad
to four digits.

Backpatch to all active branches

Per suggestions from Ian Lawrence Barwick
2013-05-04 13:15:54 -04:00
Bruce Momjian
75d1406a19 9.3 docs: wording fixes
From Erik Rijkers
2013-05-04 11:52:18 -04:00
Bruce Momjian
262a362997 docs: fix log_line_prefix session id docs
Backpatch to 9.2.

Report from Ian Lawrence Barwick
2013-05-04 11:05:16 -04:00
Bruce Momjian
c008ca6015 9.3 release notes: adjustments
Fixes from Peter Geoghegan, Ian Lawrence Barwick, Marti Raudsepp
2013-05-04 10:44:49 -04:00
Bruce Momjian
2497dc0867 9.3 release notes: move compatibility items into their own section 2013-05-03 21:11:35 -04:00
Bruce Momjian
1136d7a74d 9.3 release notes: Add markup for pg_backup_start_time() 2013-05-03 20:55:03 -04:00
Bruce Momjian
15f27aebbb 9.3 release notes: Add links to SGML sections 2013-05-03 19:40:23 -04:00
Bruce Momjian
14c7a74b6e 9.3 release notes: add markup for text
Still need to add links for new features.
2013-05-03 14:48:24 -04:00
Tom Lane
c091c43197 Improve SPI documentation about null-flags arrays.
Clarify the description of nulls[] arguments, and use the same wording
for all SPI functions with this type of argument.  Per gripe from Yuriy
Rusinov.
2013-05-03 14:39:28 -04:00
Bruce Momjian
5fcf944c23 9.3 release notes: update for current commits
Also, remove broken link in release.sgml.
2013-05-03 13:30:58 -04:00
Bruce Momjian
c8f61ebdc6 9.3 release notes: suggested improvements from Jeff Janes and Josh Berkus 2013-05-02 19:14:23 -04:00
Peter Eisentraut
187ca5e8e9 Revert "pg_ctl: Add idempotent option"
This reverts commit 8730618458.  The
behavior in certain cases is still being debated, and it's too late to
solve this before beta.
2013-04-29 21:55:12 -04:00
Robert Haas
91fa8532f4 Attempt to fix error recovery in COPY BOTH mode.
Previously, libpq and the backend had opposite ideas about whether
it was necessary for the client to send a CopyDone message after
receiving an ErrorResponse, making it impossible to cleanly exit
COPY BOTH mode.  Fix libpq so that works correctly, adopting the
backend's notion that an ErrorResponse kills the copy in both
directions.

Adjust receivelog.c to avoid a degradation in the quality of the
resulting error messages.  libpqwalreceiver.c is already doing
the right thing, so no adjustment needed there.

Add an explicit statement to the documentation explaining how
this part of the protocol is supposed to work, in the hopes of
avoiding future confusion in this area.

Since the consequences of all this confusion are very limited,
especially in the back-branches where no client ever attempts
to exit COPY BOTH mode without closing the connection entirely,
no back-patch.
2013-04-29 06:29:32 -04:00
Peter Eisentraut
4d67961110 PL/pgSQL doc: Add example for RETURN QUERY
Erwin Brandstetter and Pavel Stěhule
2013-04-24 21:54:46 -04:00
Bruce Momjian
173c252bb2 9.3 release notes: adjustments per Alvaro 2013-04-23 23:21:09 -04:00
Bruce Momjian
2d3edce6b3 9.3 release note updates from Dean Rasheed, Jov, Heikki Linnakangas,
Erikjan Rijkers
2013-04-23 17:06:17 -04:00
Bruce Momjian
98a1e7a735 9.3 release notes: add diacritics
Alvaro Herrera
2013-04-22 17:17:00 -04:00
Bruce Momjian
e35388451b 9.3 release notes: adjustments per Alvaro and Robert 2013-04-22 16:05:10 -04:00
Heikki Linnakangas
ae7363999f Mention in docs that you can create SP-GiST indexes on range types.
This is new in 9.3devel.
2013-04-22 21:51:14 +03:00
Bruce Momjian
4f8799a948 9.3 release notes: apply fixes suggested by Alvaro 2013-04-22 14:33:28 -04:00
Bruce Momjian
beaa823bea 9.3 release notes: update streaming replication speedups
Andres Freund
2013-04-22 10:22:49 -04:00
Peter Eisentraut
e7d5ffe8ea doc: Improve example formatting
Erwin Brandstetter
2013-04-21 22:22:10 -04:00
Peter Eisentraut
53ecfddceb doc: Fix syntax in example
LANGUAGE 'plpgsql' no longer works.  The single quotes need to be
removed.

Erwin Brandstetter
2013-04-21 22:22:10 -04:00
Bruce Momjian
c3ab4ea27d In 9.3 release notes, split up items
Split log shipping speed improvement and fail-over speed improvement items.

Per request from Simon
2013-04-21 21:05:31 -04:00
Bruce Momjian
4be535e2e4 9.3 release note adjustments per request from Andres Freund 2013-04-21 10:08:58 -04:00
Bruce Momjian
1f2236edd1 Remove 9.3 item about fixing DROP INDEX CONCURRENTLY
Already fixed in back branch.
2013-04-21 09:16:23 -04:00
Bruce Momjian
ac96e6a8c2 9.3 release note fixes
Move commit_delay, fix Zoltan's name, and adjust range type histogram
text.
2013-04-21 09:14:34 -04:00
Bruce Momjian
864ec2f0cd Adjust 9.3 release notes per request from Simon 2013-04-21 09:05:16 -04:00
Bruce Momjian
ef3defcf0d Reorder 9.3 release note items
Typo fix from David Fetter.
2013-04-21 00:57:18 -04:00
Bruce Momjian
f0922cbdcc More 9.3 release note reorderings 2013-04-20 17:31:06 -04:00
Bruce Momjian
488eb9055d Fix Gilles Darold's name in 9.3 release notes. 2013-04-20 17:09:14 -04:00
Bruce Momjian
61b962345d Reorder some 9.3 release item entries
More to go.
2013-04-20 16:50:56 -04:00
Bruce Momjian
22f956f50c Push 9.3 release SGML file
Forgotten in previous commit.
2013-04-20 16:32:32 -04:00
Bruce Momjian
e9a35c2082 Publish draft 9.3 release notes
No links added yet.
2013-04-20 16:29:58 -04:00
Peter Eisentraut
540ec93e33 doc: Mention SATA alongside IDE for Linux
suggested by Jov
2013-04-20 15:56:22 -04:00
Peter Eisentraut
acd5803053 Standardize spelling of "nonblocking"
Only adjusted the user-exposed messages and documentation,  not all
source code comments.
2013-04-18 23:35:19 -04:00
Robert Haas
f050457978 sepgsql: Minor improvement to test script, doc fix.
KaiGai Kohei
2013-04-17 09:55:24 -04:00
Peter Eisentraut
b9bdaf3964 doc: Update PQgetssl() documentation
The return type of PQgetssl() was changed from SSL* to void* a long time
ago, but the documentation was not updated.
2013-04-16 21:42:10 -04:00
Peter Eisentraut
8730618458 pg_ctl: Add idempotent option
This changes the behavior of the start and stop actions to exit
successfully if the server was already started or stopped.

This changes the default behavior of the start action:  Before, if the
server was already running, it would print a message and succeed.  Now,
that situation will result in an error.  When running in idempotent
mode, no message is printed and pg_ctl exits successfully.

It was considered to just make the idempotent behavior the default and
only option, but pg_upgrade needs the old behavior.
2013-04-13 23:42:42 -04:00
Robert Haas
f8a54e936b sepgsql: Enforce db_procedure:{execute} permission.
To do this, we add an additional object access hook type,
OAT_FUNCTION_EXECUTE.

KaiGai Kohei
2013-04-12 08:58:01 -04:00
Peter Eisentraut
82b55c9769 doc: Update DTrace information
The old web site link no longer worked, and some information was
outdated.
2013-04-10 23:06:19 -04:00
Magnus Hagander
d334b337b4 Update the description for the graphical installers
Remove references to "one click", as we're not supposed to call
them that anymore.
2013-04-10 21:37:49 +02:00
Tom Lane
6f5b8beb64 Make contrib/pg_trgm also support regex searches with GiST indexes.
This wasn't addressed in the original patch, but it doesn't take very
much additional code to cover the case, so let's get it done.

Since pg_trgm 1.1 hasn't been released yet, I just changed the definition
of what's in it, rather than inventing a 1.2.
2013-04-10 13:31:02 -04:00
Andrew Dunstan
66c01707c6 Fix hstore_to_json_loose example in docs.
Marti Raudsepp.
2013-04-10 09:26:46 -04:00
Tom Lane
3ccae48f44 Support indexing of regular-expression searches in contrib/pg_trgm.
This works by extracting trigrams from the given regular expression,
in generally the same spirit as the previously-existing support for
LIKE searches, though of course the details are far more complicated.

Currently, only GIN indexes are supported.  We might be able to make
it work with GiST indexes later.

The implementation includes adding API functions to backend/regex/
to provide a view of the search NFA created from a regular expression.
These functions are meant to be generic enough to be supportable in
a standalone version of the regex library, should that ever happen.

Alexander Korotkov, reviewed by Heikki Linnakangas and Tom Lane
2013-04-09 01:06:54 -04:00
Robert Haas
e965e6344c sepgsql: Enforce db_schema:search permission.
KaiGai Kohei, with comment and doc wordsmithing by me
2013-04-05 08:51:31 -04:00
Tom Lane
52f436b807 Improve documentation about the relationship of extensions and schemas.
There's been some confusion expressed about this point, so clarify.
Extended version of a patch by David Wheeler.
2013-04-04 22:37:25 -04:00
Peter Eisentraut
e3f719c367 doc: Fix number of columns in table 2013-04-04 21:07:05 -04:00
Tom Lane
c6a3fce7dd Add \watch [SEC] command to psql.
This allows convenient re-execution of commands.

Will Leinweber, reviewed by Peter Eisentraut, Daniel Farina, and Tom Lane
2013-04-04 19:56:59 -04:00
Andrew Dunstan
d7d5832012 Fix a few thinkos in the JSON functions docs.
Dickson S. Guedes
2013-04-04 10:41:29 -04:00
Tom Lane
0f1345d38b Fix typo in FDW docs.
Laurenz Albe
2013-04-03 10:26:18 -04:00
Tom Lane
89b661bab9 Update release notes for 9.2.4, 9.1.9, 9.0.13, 8.4.17.
Security: CVE-2013-1899, CVE-2013-1901
2013-04-01 14:11:11 -04:00
Tom Lane
e48a7bd527 Update release notes for changes through today. 2013-03-31 18:59:35 -04:00
Peter Eisentraut
64f890905f Add pkg-config files for libpq and ecpg libraries
This will hopefully be easier to use than pg_config for users who are
already used to the pkg-config interface.  It also works better for
multi-arch installations.

reviewed by Tom Lane
2013-03-31 16:58:40 -04:00
Bruce Momjian
b015558091 Remove tab from SGML file. 2013-03-29 23:19:03 -04:00
Andrew Dunstan
6caf759f3f Fix page title for JSON Functions and Operators. 2013-03-29 16:56:22 -04:00
Andrew Dunstan
a570c98d7f Add new JSON processing functions and parser API.
The JSON parser is converted into a recursive descent parser, and
exposed for use by other modules such as extensions. The API provides
hooks for all the significant parser event such as the beginning and end
of objects and arrays, and providing functions to handle these hooks
allows for fairly simple construction of a wide variety of JSON
processing functions. A set of new basic processing functions and
operators is also added, which use this API, including operations to
extract array elements, object fields, get the length of arrays and the
set of keys of a field, deconstruct an object into a set of key/value
pairs, and create records from JSON objects and arrays of objects.

Catalog version bumped.

Andrew Dunstan, with some documentation assistance from Merlin Moncure.
2013-03-29 14:12:13 -04:00
Tom Lane
9ad27c2153 Document encode(bytea, 'escape')'s behavior correctly.
I changed this in commit fd15dba543, but
missed the fact that the SGML documentation of the function specified
exactly what it did.  Well, one of the two places where it's specified
documented that --- probably I looked at the other place and thought
nothing needed to be done.  Sync the two places where encode() and
decode() are described.
2013-03-28 23:14:54 -04:00
Tom Lane
29505a894e Draft release notes for 9.2.4, 9.1.9, 9.0.13, 8.4.17.
Covers commits through today.  Not back-patching into back branches
yet, since this is just for people to review in advance.
2013-03-28 21:40:19 -04:00
Robert Haas
2a3db8cec2 sepgsql: Documentation improvements.
Fixes by me, per griping by Thom Brown.
2013-03-28 15:56:35 -04:00
Robert Haas
0f05840bf4 Allow sepgsql labels to depend on object name.
The main change here is to call security_compute_create_name_raw()
rather than security_compute_create_raw().  This ups the minimum
requirement for libselinux from 2.0.99 to 2.1.10, but it looks
like most distributions will have picked that up before 9.3 is out.

KaiGai Kohei
2013-03-28 15:41:38 -04:00
Alvaro Herrera
473ab40c8b Add sql_drop event for event triggers
This event takes place just before ddl_command_end, and is fired if and
only if at least one object has been dropped by the command.  (For
instance, DROP TABLE IF EXISTS of a table that does not in fact exist
will not lead to such a trigger firing).  Commands that drop multiple
objects (such as DROP SCHEMA or DROP OWNED BY) will cause a single event
to fire.  Some firings might be surprising, such as
ALTER TABLE DROP COLUMN.

The trigger is fired after the drop has taken place, because that has
been deemed the safest design, to avoid exposing possibly-inconsistent
internal state (system catalogs as well as current transaction) to the
user function code.  This means that careful tracking of object
identification is required during the object removal phase.

Like other currently existing events, there is support for tag
filtering.

To support the new event, add a new pg_event_trigger_dropped_objects()
set-returning function, which returns a set of rows comprising the
objects affected by the command.  This is to be used within the user
function code, and is mostly modelled after the recently introduced
pg_identify_object() function.

Catalog version bumped due to the new function.

Dimitri Fontaine and Álvaro Herrera
Review by Robert Haas, Tom Lane
2013-03-28 13:05:48 -03:00
Simon Riggs
593c39d156 Revoke bc5334d867 2013-03-28 09:18:02 +00:00
Kevin Grittner
40e873d854 Fix pasto which broke docs build.
Commit bc5334d867 accidentally
included a second <variablelist> tag for a new list item.
2013-03-27 16:11:46 -05:00
Robert Haas
1cea9bbb21 sepgsql: Support for new post-ALTER access hook.
KaiGai Kohei
2013-03-27 08:14:19 -04:00
Simon Riggs
bc5334d867 Allow external recovery_config_directory
If required, recovery.conf can now be located outside of the data directory.
Server needs read/write permissions on this directory.
2013-03-27 11:45:42 +00:00
Heikki Linnakangas
d298b50a3b Make pg_basebackup work with pre-9.3 servers, and add server version check.
A new 'starttli' field was added to the response of BASE_BACKUP command.
Make pg_basebackup tolerate the case that it's missing, so that it still
works with older servers.

Add an explicit check for the server version, so that you get a nicer error
message if you try to use it with a pre-9.1 server.

The streaming protocol message format changed in 9.3, so -X stream still won't
work with pre-9.3 servers. I added a version check to ReceiveXLogStream()
earlier, but write that slightly differently, so that in 9.4, it will still
work with a 9.3 server. (In 9.4, the error message needs to be adjusted to
"9.3 or above", though). Also, if the version check fails, don't retry.
2013-03-25 19:44:11 +02:00
Andrew Dunstan
9e257a181c Add parallel pg_dump option.
New infrastructure is added which creates a set number of workers
(threads on Windows, forked processes on Unix). Jobs are then
handed out to these workers by the master process as needed.
pg_restore is adjusted to use this new infrastructure in place of the
old setup which created a new worker for each step on the fly. Parallel
dumps acquire a snapshot clone in order to stay consistent, if
available.

The parallel option is selected by the -j / --jobs command line
parameter of pg_dump.

Joachim Wieland, lightly editorialized by Andrew Dunstan.
2013-03-24 11:27:20 -04:00
Tom Lane
cdc67938c0 Don't put <indexterm> before <term> in <varlistentry> items.
Doing that results in a broken index entry in PDF output.  We had only
a few like that, which is probably why nobody noticed before.
Standardize on putting the <term> first.

Josh Kupershmidt
2013-03-23 14:06:33 -04:00
Tom Lane
5b86fedfb5 Document cross-version compatibility issues for contrib/postgres_fdw.
One of the use-cases for postgres_fdw is extracting data from older PG
servers, so cross-version compatibility is important.  Document what we
can do here, and further annotate some of the coding choices that create
compatibility constraints.  In passing, remove one unnecessary
incompatibility with old servers, namely assuming that we didn't need to
quote the timezone name 'UTC'.
2013-03-22 17:22:31 -04:00
Kevin Grittner
549dae0352 Fix problems with incomplete attempt to prohibit OIDS with MVs.
Problem with assertion failure in restoring from pg_dump output
reported by Joachim Wieland.

Review and suggestions by Tom Lane and Robert Haas.
2013-03-22 13:27:34 -05:00
Tom Lane
82b945c097 Update commit_delay documentation.
Commit 13fe298ca0 changed this GUC to be
PGC_SUSET, but neglected to update the documentation to match.

While at it, edit and rearrange the text a little for clarity.
2013-03-22 11:39:15 -04:00
Simon Riggs
96ef3b8ff1 Allow I/O reliability checks using 16-bit checksums
Checksums are set immediately prior to flush out of shared buffers
and checked when pages are read in again. Hint bit setting will
require full page write when block is dirtied, which causes various
infrastructure changes. Extensive comments, docs and README.

WARNING message thrown if checksum fails on non-all zeroes page;
ERROR thrown but can be disabled with ignore_checksum_failure = on.

Feature enabled by an initdb option, since transition from option off
to option on is long and complex and has not yet been implemented.
Default is not to use checksums.

Checksum used is WAL CRC-32 truncated to 16-bits.

Simon Riggs, Jeff Davis, Greg Smith
Wide input and assistance from many community members. Thank you.
2013-03-22 13:54:07 +00:00
Kevin Grittner
08af1a0a2a Eliminate trivial whitespace inconsistency in docs sample code. 2013-03-21 10:34:47 -05:00
Alvaro Herrera
f8348ea32e Allow extracting machine-readable object identity
Introduce pg_identify_object(oid,oid,int4), which is similar in spirit
to pg_describe_object but instead produces a row of machine-readable
information to uniquely identify the given object, without resorting to
OIDs or other internal representation.  This is intended to be used in
the event trigger implementation, to report objects being operated on;
but it has usefulness of its own.

Catalog version bumped because of the new function.
2013-03-20 18:19:19 -03:00
Simon Riggs
1a091002cf Clarify assumption of filesystem metadata integrity.
Jeff Davis
2013-03-19 08:57:29 +00:00
Simon Riggs
8c3b87ca10 Correction that 2pc state files use CRC-32.
Jeff Davis
2013-03-19 08:51:35 +00:00
Simon Riggs
2266db392c Add reliability docs about storage/memory corruptions.
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-18 22:38:07 +00:00
Tom Lane
e39feb1006 Improve documentation of EXTRACT(WEEK).
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-18 13:34:15 -04:00
Simon Riggs
bb7cc2623f Remove PageSetTLI and rename pd_tli to pd_checksum
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-18 13:46:42 +00:00
Tom Lane
d43837d030 Add lock_timeout configuration parameter.
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-16 23:22:57 -04:00
Tom Lane
70ec2f8f43 Improve the documentation about commit_delay.
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-15 17:41:47 -04:00
Tom Lane
73e7025bd8 Extend format() to handle field width and left/right alignment.
This change adds some more standard sprintf() functionality to format().

Pavel Stehule, reviewed by Dean Rasheed and Kyotaro Horiguchi
2013-03-14 22:56:56 -04:00
Tom Lane
209f675f0f Fix documentation oversight.
Mention that PlanForeignModify's result must be copiable by copyObject.
2013-03-12 19:06:43 -04:00
Tom Lane
a0c6dfeecf Allow default expressions to be attached to columns of foreign tables.
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-12 17:37:07 -04:00
Alvaro Herrera
1ba0119308 Fix orthotypographical mistake
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-12 12:28:50 -03:00
Andrew Dunstan
38fb4d978c JSON generation improvements.
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-10 17:35:36 -04:00
Peter Eisentraut
dd28c410f7 doc: Add note about checkpoint_warning vs checkpoint_timeout
suggested by Tianyin Xu
2013-03-10 17:16:18 -04:00
Tom Lane
21734d2fb8 Support writable foreign tables.
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-10 14:16:02 -04:00
Kevin Grittner
71877c18a8 Fix typo in docs for ALTER MATERIALIZED VIEW.
Fujii Masao
2013-03-07 11:39:36 -06:00
Kevin Grittner
5141603ebd Add docs for pg_matviews, which were missed in the initial MV commit. 2013-03-06 15:35:59 -06:00
Peter Eisentraut
0ea1f6e98f psql: Let \l accept a pattern
reviewed by Satoshi Nagayasu
2013-03-04 15:17:40 +00:00
Kevin Grittner
3bf3ab8c56 Add a materialized view relations.
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-03 18:23:31 -06:00
Peter Eisentraut
891869c352 doc: Small tweak for consistency
submitted by "Lyle"
2013-03-03 08:58:34 -05:00
Peter Eisentraut
743b73bdf5 doc: A few awkward phrasing fixes
Josh Kupershmidt
2013-03-03 08:49:49 -05:00
Heikki Linnakangas
7d6b8f7158 Remove spurious "the", and add a missing one.
Thom Brown and me.
2013-02-27 21:50:15 +02:00
Heikki Linnakangas
3d009e45bd Add support for piping COPY to/from an external program.
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-27 18:22:31 +02:00
Peter Eisentraut
8337e3b457 doc: Fix markup typo 2013-02-25 17:58:14 -05:00
Heikki Linnakangas
3dee636e04 Add -d option to pg_dumpall, for specifying a connection string.
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-25 19:39:10 +02:00
Heikki Linnakangas
691e595dd9 Add -d/--dbname option to pg_dump.
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-25 19:39:04 +02:00
Heikki Linnakangas
aa05c37e82 Add -d option to pg_basebackup and pg_receivexlog, for connection string.
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-25 14:59:33 +02:00
Peter Eisentraut
3163baa6d2 doc: Remove PostgreSQL version number from xml2 deprecation notice
It is obviously no longer true.
2013-02-24 15:38:07 -05:00
Peter Eisentraut
8e8d0f7e80 doc: Add more compatibility information for triggers
Louis-Claude Canon and Josh Kupershmidt
2013-02-23 00:28:33 -05:00
Alvaro Herrera
4591933549 Fix some typos and grammatical mistakes
... as well a update copyrights statements to 2013.

Noted by Thom Brown and Peter Geoghegan
2013-02-22 18:52:59 -03:00
Alvaro Herrera
639ed4e84b Add pg_xlogdump contrib program
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-22 16:56:55 -03:00
Tom Lane
d0d75c4022 Add postgres_fdw contrib module.
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-21 05:27:16 -05:00
Peter Eisentraut
9475db3a4e Add ALTER ROLE ALL SET command
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-17 23:45:36 -05:00
Peter Eisentraut
ff64fd49ce doc: Add make target to produce EPUB from DocBook 2013-02-13 23:12:21 -05:00
Heikki Linnakangas
62401db45c Support unlogged GiST index.
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-11 23:07:09 +02:00
Tom Lane
3a1f8cdfa9 Add an example of attaching a default value to an updatable view.
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-09 11:43:48 -05:00
Tom Lane
c61e26ee3e Add support for ALTER RULE ... RENAME TO.
Ali Dar, reviewed by Dean Rasheed.
2013-02-08 23:58:40 -05:00
Tom Lane
335c5e9206 doc: Fix mistakes in the most recent set of release notes.
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-08 10:41:15 -05:00
Peter Eisentraut
858ef718ba doc: Rewrite how to get the source code
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-07 23:28:42 -05:00
Andrew Dunstan
e1c1e21732 Enable building with Microsoft Visual Studio 2012.
Backpatch to release 9.2

Brar Piening and Noah Misch, reviewed by Craig Ringer.
2013-02-06 14:52:29 -05:00
Tom Lane
ab0f7b6089 Prevent execution of enum_recv() from SQL.
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-04 16:25:01 -05:00
Tom Lane
318db6b2a0 Update release notes for 9.2.3, 9.1.8, 9.0.12, 8.4.16, 8.3.23. 2013-02-04 15:50:42 -05:00
Simon Riggs
f480e29449 Reset vacuum_defer_cleanup_age to PGC_SIGHUP.
Revert commit 84725aa5ef
2013-02-04 16:39:55 +00:00
Simon Riggs
bd56e74127 Reset master xmin when hot_standby_feedback disabled.
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-04 10:29:22 +00:00
Tom Lane
62e666400d Perform line wrapping and indenting by default in ruleutils.c.
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-03 15:56:45 -05:00
Peter Eisentraut
330ed4ac6c PL/Python: Add result object str handler
This is intended so that say plpy.debug(rv) prints something useful for
debugging query execution results.

reviewed by Steve Singer
2013-02-03 00:31:01 -05:00
Tom Lane
d2d153fdb0 Create a psql command \gset to store query results into psql variables.
This eases manipulation of query results in psql scripts.

Pavel Stehule, reviewed by Piyush Newe, Shigeru Hanada, and Tom Lane
2013-02-02 17:06:38 -05:00
Tom Lane
101d6ae755 Prevent "\g filename" from affecting subsequent commands after an error.
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-02 14:22:17 -05:00
Simon Riggs
84725aa5ef Mark vacuum_defer_cleanup_age as PGC_POSTMASTER.
Following bug analysis of #7819 by Tom Lane
2013-02-02 18:49:54 +00:00
Peter Eisentraut
f4987049ef doc: Tiny whitespace fix 2013-02-01 21:44:22 -05:00
Peter Eisentraut
5839052693 Add CREATE RECURSIVE VIEW syntax
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
2013-01-31 22:31:58 -05:00
Bruce Momjian
a11e15c7b6 pg_upgrade docs: mention modification of postgresql.conf in new cluster
Mention it might be necessary to modify postgresql.conf in the new
cluster to match the old cluster.

Backpatch to 9.2.

Suggested by user.
2013-01-31 16:32:35 -05:00
Tatsuo Ishii
6a651d85eb Add --aggregate-interval option.
The new option specifies length of aggregation interval (in
seconds). May be used only together with -l. With this option, the log
contains per-interval summary (number of transactions, min/max latency
and two additional fields useful for variance estimation).

Patch contributed by Tomas Vondra, reviewed by Pavel Stehule. Slight
change by Tatsuo Ishii, suggested by Robert Hass to emit an error
message indicating that the option is not currently supported on
Windows.
2013-01-31 15:53:58 +09:00
Peter Eisentraut
574f764321 pg_regress: Allow overriding diff options
By setting the environment variable PG_REGRESS_DIFF_OPTS, custom diff
options can be passed.

reviewed by Jeevan Chalke
2013-01-29 22:59:45 -05:00
Tom Lane
991f3e5ab3 Provide database object names as separate fields in error messages.
This patch addresses the problem that applications currently have to
extract object names from possibly-localized textual error messages,
if they want to know for example which index caused a UNIQUE_VIOLATION
failure.  It adds new error message fields to the wire protocol, which
can carry the name of a table, table column, data type, or constraint
associated with the error.  (Since the protocol spec has always instructed
clients to ignore unrecognized field types, this should not create any
compatibility problem.)

Support for providing these new fields has been added to just a limited set
of error reports (mainly, those in the "integrity constraint violation"
SQLSTATE class), but we will doubtless add them to more calls in future.

Pavel Stehule, reviewed and extensively revised by Peter Geoghegan, with
additional hacking by Tom Lane.
2013-01-29 17:08:26 -05:00
Heikki Linnakangas
89d00cbe01 Allow pgbench to use a scale larger than 21474.
Beyond 21474, the number of accounts exceed the range for int4. Change the
initialization code to use bigint for account id columns when scale is large
enough, and switch to using int64s for the variables in pgbench code. The
threshold where we switch to bigints is set at 20000, because that's easier
to remember and document than 21474, and ensures that there is some headroom
when int4s are used.

Greg Smith, with various changes by Euler Taveira de Oliveira, Gurjeet
Singh and Satoshi Nagayasu.
2013-01-29 12:05:55 +02:00
Alvaro Herrera
ee22c55f5a REASSIGN OWNED: handle shared objects, too
Give away ownership of shared objects (databases, tablespaces) along
with local objects, per original code intention.  Try to make the
documentation clearer, too.

Per discussion about DROP OWNED's brokenness, in bug #7748.

This is not backpatched because it'd require some refactoring of the
ALTER/SET OWNER code for databases and tablespaces.
2013-01-28 18:45:50 -03:00