Commit Graph

10463 Commits

Author SHA1 Message Date
Peter Eisentraut a3b681f0bc Link some tables into the surrounding text by their id 2011-05-04 20:24:07 +03:00
Alvaro Herrera 04be7ac271 Update obsolete mention of Sequoia, now known as Tungsten
Per http://joomla.aws.continuent.com/community/lab-projects/sequoia

Greg Smith
2011-05-03 11:35:17 -03:00
Alvaro Herrera 5614857096 Improve description of read/write traffic scalability
Greg Smith, after a suggestion of James Bruce
2011-05-03 11:34:27 -03:00
Alvaro Herrera 155743ad31 Add ID attribute to some sect2's missing it
David Fetter
2011-05-02 19:13:49 -03:00
Alvaro Herrera 52897e54db Update some ALTER USER cross-references to ALTER ROLE
Greg Smith
2011-05-02 13:40:24 -03:00
Peter Eisentraut 4b08bf8ce7 Small cleanup of spacing in verbatim DocBook elements 2011-05-02 19:19:48 +03:00
Heikki Linnakangas 39850c7fdb The arguments to pg_ctl kill are not optional - remove brackets in the docs.
Fujii Masao
2011-04-28 12:54:17 +03:00
Tom Lane 993c5e5904 Tag 9.1beta1. 2011-04-27 17:17:22 -04:00
Tom Lane bb1051eb2d Make a quick copy-editing pass over the 9.1 release notes.
Also remove the material about this being an alpha release.

The notes still need a lot of work, but they're more or less presentable
as a beta version now.
2011-04-27 16:52:02 -04:00
Tom Lane 4f6c75b541 Add comments about the need to avoid uninitialized bits in datatype values.
There was already one recommendation in the documentation about writing
C functions to ensure padding bytes are zeroes, but make it stronger.

Also fix an example that was still using direct assignment to a varlena
length word, which no longer works since the varvarlena changes.
2011-04-27 14:06:22 -04:00
Bruce Momjian dedcc48c56 Doc wording improvement for NUMERIC limit paragraph. 2011-04-27 00:06:37 -04:00
Bruce Momjian 8ce83b5bdc Reword documentation for NUMERIC with no specified precision. 2011-04-26 23:43:44 -04:00
Bruce Momjian 0cdbef6cec Clarify that a non-specified precision NUMERIC has a very high range. 2011-04-26 11:54:57 -04:00
Robert Haas be90032e0d Remove partial and undocumented GRANT .. FOREIGN TABLE support.
Instead, foreign tables are treated just like views: permissions can
be granted using GRANT privilege ON [TABLE] foreign_table_name TO role,
and revoked similarly.  GRANT/REVOKE .. FOREIGN TABLE is no longer
supported, just as we don't support GRANT/REVOKE .. VIEW.  The set of
accepted permissions for foreign tables is now identical to the set for
regular tables, and views.

Per report from Thom Brown, and subsequent discussion.
2011-04-25 16:39:18 -04:00
Peter Eisentraut 9412606265 Normalize whitespace in the arguments of <indexterm>
Strip leading and trailing whitespace and replace interior whitespace
by a single space.  This avoids problems with the index generator
producing duplicate index entries for terms that differ only in
whitespace.

Commit dca30da343 actually fixed all the
indexterm elements that would cause this problem at the moment, but in
case it sneaks in again, we're set.
2011-04-25 01:25:43 +03:00
Tom Lane 1abd146ddd Adjust comments about collate.linux.utf8 regression test.
This test should now work in any database with UTF8 encoding, regardless
of the database's default locale.  The former restriction was really
"doesn't work if default locale is C", and that was because of not handling
mbstowcs/wcstombs correctly.
2011-04-23 12:51:47 -04:00
Tom Lane 9e9b9ac7d1 Make a code-cleanup pass over the collations patch.
This patch is almost entirely cosmetic --- mostly cleaning up a lot of
neglected comments, and fixing code layout problems in places where the
patch made lines too long and then pgindent did weird things with that.
I did find a bug-of-omission in equalTupleDescs().
2011-04-22 17:43:18 -04:00
Bruce Momjian 0cfdc1c657 Improve doc wording for SQL syntax of LIMIT/OFFSET. 2011-04-21 22:26:04 -04:00
Robert Haas a0e8df527e Allow ALTER TYPE .. ADD ATTRIBUTE .. CASCADE to recurse to descendants.
Without this, adding an attribute to a typed table with an inheritance
child fails, which is surprising.

Noah Misch, with minor changes by me.
2011-04-20 22:49:37 -04:00
Robert Haas 68739ba856 Allow ALTER TABLE name {OF type | NOT OF}.
This syntax allows a standalone table to be made into a typed table,
or a typed table to be made standalone.  This is possibly a mildly
useful feature in its own right, but the real motivation for this
change is that we need it to make pg_upgrade work with typed tables.
This doesn't actually fix that problem, but it's necessary
infrastructure.

Noah Misch
2011-04-20 21:38:47 -04:00
Tom Lane 2d4617126f Document COLLATE option in CREATE TYPE reference page.
Curiously, it was already documented in ALTER TYPE ADD ATTRIBUTE, but
not here.
2011-04-17 17:05:51 -04:00
Tom Lane c947325856 Support a COLLATE clause in plpgsql variable declarations.
This allows the usual rules for assigning a collation to a local variable
to be overridden.  Per discussion, it seems appropriate to support this
rather than forcing all local variables to have the argument-derived
collation.
2011-04-17 14:54:19 -04:00
Magnus Hagander 3affae58b7 Note that Bison on GnuWin32 has trouble with paths with spaces
Peter Eisentraut
2011-04-15 15:30:21 +02:00
Magnus Hagander 9e1526eddd Specify which versions of the Platform SDK are supported
Anything including Visual Studio 2010 compilers is not yet
supported for building on Windows.
2011-04-15 15:30:14 +02:00
Peter Eisentraut f536d41942 Rename pg_regress option --multibyte to --encoding
Also refactor things a little bit so that the same methods for setting
test locale and encoding can be used everywhere.
2011-04-15 08:42:05 +03:00
Tom Lane 98eded936c Update release notes for releases 9.0.4, 8.4.8, 8.3.15, and 8.2.21. 2011-04-14 15:52:18 -04:00
Robert Haas 07e58cbe19 Advise Debian/Ubuntu users to use openjade1.3.
The latest openjade packages for Ubuntu 10.10 seg fault when building
our documentation.

Josh Berkus
2011-04-14 11:35:41 -07:00
Tom Lane dd95a1d3dd Add some useful cross-references to the CREATE EXTENSION reference page.
Per a suggestion from Josh Kupershmidt, though I modified his patch
quite a lot.
2011-04-13 02:56:33 -04:00
Tom Lane 1e16a8107d Teach regular expression operators to honor collations.
This involves getting the character classification and case-folding
functions in the regex library to use the collations infrastructure.
Most of this work had been done already in connection with the upper/lower
and LIKE logic, so it was a simple matter of transposition.

While at it, split out these functions into a separate source file
regc_pg_locale.c, so that they can be correctly labeled with the Postgres
project's license rather than the Scriptics license.  These functions are
100% Postgres-written code whereas what remains in regc_locale.c is still
mostly not ours, so lumping them both under the same copyright notice was
getting more and more misleading.
2011-04-10 18:03:09 -04:00
Tom Lane 7c76906b7e Don't show unusable collations in psql's \dO command.
"Unusable" collations are those not matching the current database's
encoding.  The former behavior inconsistently showed such collations
some of the time, depending on the details of the pattern argument.
2011-04-09 14:08:41 -04:00
Tom Lane dca30da343 Avoid extra whitespace in the arguments of <indexterm>.
As noted by Thom Brown, this confuses the DocBook index processor; it
fails to merge entries that differ only in whitespace, and sorts them
unexpectedly as well.  Seems like a toolchain bug, but I'm not going to
hold my breath waiting for a fix.

Note: easiest way to find these is to look for double spaces in HTML.index.
2011-04-08 11:36:05 -04:00
Tom Lane 8ad58279fa Add an example of WITH (UPDATE RETURNING) INSERT to the INSERT ref page.
Per a discussion with Gavin Flower.  This barely scratches the surface
of potential WITH (something RETURNING) use cases, of course, but it's
one of the simplest compelling examples I can think of.
2011-04-08 10:54:03 -04:00
Peter Eisentraut bf6848bc8c Update key words table for 9.1 2011-04-06 00:16:13 +03:00
Alvaro Herrera 38d15f1651 Change "Id" to "id" in some SGML tags
Gabriele Bartolini
2011-04-05 15:06:06 -03:00
Robert Haas ad275473a5 Typo fixes.
Erik Rijkers
2011-04-05 12:40:17 -04:00
Robert Haas f5e524d92b Add casts from int4 and int8 to numeric.
Joey Adams, per gripe from Ramanujam.  Review by myself and Tom Lane.
2011-04-05 09:35:43 -04:00
Simon Riggs 479ee1b962 Centralise release note items related to recovery and replication 2011-04-04 22:38:43 +01:00
Simon Riggs 35d2a660fe Update comments and credit doc proofreaders 2011-04-04 22:36:09 +01:00
Robert Haas 240067b3b0 Merge synchronous_replication setting into synchronous_commit.
This means one less thing to configure when setting up synchronous
replication, and also avoids some ambiguity around what the behavior
should be when the settings of these variables conflict.

Fujii Masao, with additional hacking by me.
2011-04-04 16:25:52 -04:00
Alvaro Herrera fc3459d70c Uppercase <!ENTITY> and <!DOCTYPE> tags in SGML source
This improves compatibility with external toolchains, such as those used
by some documentation translation tools.

Gabriele Bartolini
2011-04-04 16:09:10 -04:00
Alvaro Herrera 8c250f3741 Duplicate expansion of "direction" from FETCH's synopsis into MOVE 2011-04-04 12:04:43 -04:00
Robert Haas cabf5d84b6 Improve documentation on the range of the numeric data type.
Gianni Ciolli, reviewed by Noah Misch
2011-04-03 19:56:22 -04:00
Robert Haas 1981fb7313 Remove mention of using "man" from the tutorial.
This isn't applicable on Windows, and the internal link to the
psql documentation should be more than sufficient.

Susanne Ebrecht
2011-04-03 19:49:05 -04:00
Heikki Linnakangas d420ba2a2d Escape greater than and less than characters in docs.
Susanne Ebrecht and me
2011-04-02 17:08:06 +03:00
Robert Haas 50533a6dc5 Support comments on FOREIGN DATA WRAPPER and SERVER objects.
This mostly involves making it work with the objectaddress.c framework,
which does most of the heavy lifting.  In that vein, change
GetForeignDataWrapperOidByName to get_foreign_data_wrapper_oid and
GetForeignServerOidByName to get_foreign_server_oid, to match the
pattern we use for other object types.

Robert Haas and Shigeru Hanada
2011-04-01 11:28:28 -04:00
Heikki Linnakangas 647f8b3dba Reword the phrase on zero replication_timeout in the docs. 2011-03-31 10:19:29 +03:00
Heikki Linnakangas 754baa21f7 Automatically terminate replication connections that are idle for more
than replication_timeout (a new GUC) milliseconds. The TCP timeout is often
too long, you want the master to notice a dead connection much sooner.
People complained about that in 9.0 too, but with synchronous replication
it's even more important to notice dead connections promptly.

Fujii Masao and Heikki Linnakangas
2011-03-30 10:20:37 +03:00
Peter Eisentraut 6c0dfc0356 Add maintainer-check target
This can do various source code checks that are not appropriate for
either the build or the regression tests.  Currently: duplicate_oids,
SGML syntax and tabs check, NLS syntax check.
2011-03-28 22:56:52 +03:00
Bruce Momjian 5c22c0eda1 Add 9.1 release note link for synchronous replication.
We already had links to the GUC variables that control it.
2011-03-28 14:50:08 -04:00
Robert Haas 7c7fd882a5 Mark up release notes using <link>.
Unlike <xref>, this actually works.
2011-03-28 09:42:09 -04:00
Tom Lane a720c28f0a Get rid of links that don't work when building HISTORY. 2011-03-28 09:34:56 -04:00
Robert Haas 20a1159fcc Typo fix in SSI docs.
Kevin Grittner
2011-03-27 21:35:15 -04:00
Robert Haas de32982242 Correct "characters" to "bytes" in createdb docs.
Susanne Ebrecht
2011-03-27 21:28:15 -04:00
Robert Haas de592e2669 Remove disclaimer stating that fsync=off slows down sync rep.
The underlying problem that caused this phenomenon was fixed by commit
92f4786fa9.
2011-03-26 21:19:06 -04:00
Robert Haas ab1ef8e444 Update release notes for latest commits.
In addition, correct the entry for pg_object_description, and some other
minor cleanup.
2011-03-26 21:13:55 -04:00
Tom Lane 9b19c12e1d Document collation handling in SQL and plpgsql functions.
This is pretty minimal but covers the bare facts.
2011-03-25 18:21:25 -04:00
Robert Haas f6f0916dbd Remove alpha release notes.
Temporarily move some of the alpha release note disclaimers into the regular
release notes, for the sake of alpha5.
2011-03-25 11:52:11 -04:00
Alvaro Herrera 01dd34d55a Fix broken markup, and remove tabs 2011-03-25 12:21:12 -03:00
Michael Meskes 71ac48fd9c Documented some ecpg command line options that were missing:
-r no_indicator
-r prepare
-r questionsmarks
2011-03-25 02:30:50 +01:00
Robert Haas 7b630e7b8e Edits to 9.1 release notes.
Add some new items and some additional details to existing items, mostly
by cribbing from the 9.1alpha notes.  Some additional clarifications and
corrections elsewhere, and a few typo fixes.
2011-03-24 16:58:01 -04:00
Tom Lane 472671e133 Improve user-defined-aggregates documentation.
On closer inspection, that two-element initcond value seems to have been
a little white lie to avoid explaining the full behavior of float8_accum.
But if people are going to expect the examples to be exactly correct,
I suppose we'd better explain.  Per comment from Thom Brown.
2011-03-23 16:56:55 -04:00
Tom Lane ba7d020d9d Fix ancient typo in user-defined-aggregates documentation.
The description of the initcond value for the built-in avg(float8)
aggregate has been wrong since it was written.  Noted by Disc Magnet.
2011-03-23 12:33:14 -04:00
Peter Eisentraut 856a23018c Cosmetic capitalization fix 2011-03-22 21:59:53 -04:00
Simon Riggs 6e8e7cc580 Update docs to say you need fsync to make sync rep work fast. 2011-03-22 16:23:54 +00:00
Bruce Momjian 62bf9c2806 Markup and wording improvements for 9.1 release notes. 2011-03-20 23:17:21 -04:00
Bruce Momjian 78fce29628 Another 9.1 release note typo fix. 2011-03-20 19:36:44 -04:00
Bruce Momjian e8f4c240c7 Fix snapshot isolation level typo in 9.1 release notes. 2011-03-20 19:35:19 -04:00
Bruce Momjian f670c195b6 Reorder some 9.1 release item documentation entries, fix some awkward wording. 2011-03-20 17:43:04 -04:00
Tom Lane 176d5bae1d Fix up handling of C/POSIX collations.
Install just one instance of the "C" and "POSIX" collations into
pg_collation, rather than one per encoding.  Make these instances exist
and do something useful even in machines without locale_t support: to wit,
it's now possible to force comparisons and case-folding functions to use C
locale in an otherwise non-C database, whether or not the platform has
support for using any additional collations.

Fix up severely broken upper/lower/initcap functions, too: the C/POSIX
fastpath now does what it is supposed to, and non-default collations are
handled correctly in single-byte database encodings.

Merge the two separate collation hashtables that were being maintained in
pg_locale.c, and be more wary of the possibility that we fail partway
through filling a cache entry.
2011-03-20 12:44:13 -04:00
Bruce Momjian c2f4ea469b Move PITR and StreamingRep up one level of heading in the 9.1 release
notes.

Remove excessive linking to pg_ctl manual page.

Reorder incompatibility sections.
2011-03-20 09:33:37 -04:00
Magnus Hagander 0f96ae643c Misc minor fixes to 9.1 release notes
Thom Brown
2011-03-20 13:28:05 +01:00
Bruce Momjian 08607c9515 Word-wrap 9.1 release note lines. 2011-03-20 00:27:23 -04:00
Bruce Momjian b2c5b3d175 Add links to documentation from 9.1 release notes. 2011-03-19 23:59:33 -04:00
Bruce Momjian 025f4c72f0 Add SGML markup for keywords, terms, functions, commands, etc. 2011-03-19 17:21:49 -04:00
Bruce Momjian b03b17c411 Initial version of PG 9.1 release notes. 2011-03-19 16:39:47 -04:00
Magnus Hagander 6f9192df61 Rename ident authentication over local connections to peer
This removes an overloading of two authentication options where
one is very secure (peer) and one is often insecure (ident). Peer
is also the name used in libpq from 9.1 to specify the same type
of authentication.

Also make initdb select peer for local connections when ident is
chosen, and ident for TCP connections when peer is chosen.

ident keyword in pg_hba.conf is still accepted and maps to peer
authentication.
2011-03-19 18:44:35 +01:00
Bruce Momjian 56bb7f2a02 Remove "all balls" mention of network address; change IPv6 address to ::/0. 2011-03-19 10:05:04 -04:00
Bruce Momjian 0191e120e6 Document that the timestamp returned by pg_last_xact_replay_timestamp is
the time on the primary that the transaction was generated.
2011-03-18 19:18:08 -04:00
Bruce Momjian a7136b7fa2 Document the all-balls IPv6 address. 2011-03-18 18:41:33 -04:00
Robert Haas f94c6f9c0f Minor fixes for high availability documentation.
Erik Rijkers and me
2011-03-17 15:46:44 -04:00
Robert Haas 76dbb46153 Protocol documentation for Hot Standby feedback messages. 2011-03-17 15:10:55 -04:00
Robert Haas 84abea76f6 Add pause_at_recovery_target to recovery.conf.sample; improve docs.
Fujii Masao, but with the proposed behavior change reverted, and the
rest adjusted accordingly.
2011-03-17 14:04:11 -04:00
Robert Haas 9a56dc3389 Fix various possible problems with synchronous replication.
1. Don't ignore query cancel interrupts.  Instead, if the user asks to
cancel the query after we've already committed it, but before it's on
the standby, just emit a warning and let the COMMIT finish.

2. Don't ignore die interrupts (pg_terminate_backend or fast shutdown).
Instead, emit a warning message and close the connection without
acknowledging the commit.  Other backends will still see the effect of
the commit, but there's no getting around that; it's too late to abort
at this point, and ignoring die interrupts altogether doesn't seem like
a good idea.

3. If synchronous_standby_names becomes empty, wake up all backends
waiting for synchronous replication to complete.  Without this, someone
attempting to shut synchronous replication off could easily wedge the
entire system instead.

4. Avoid depending on the assumption that if a walsender updates
MyProc->syncRepState, we'll see the change even if we read it without
holding the lock.  The window for this appears to be quite narrow (and
probably doesn't exist at all on machines with strong memory ordering)
but protecting against it is practically free, so do that.

5. Remove useless state SYNC_REP_MUST_DISCONNECT, which isn't needed and
doesn't actually do anything.

There's still some further work needed here to make the behavior of fast
shutdown plausible, but that looks complex, so I'm leaving it for a
separate commit.  Review by Fujii Masao.
2011-03-17 13:12:21 -04:00
Bruce Momjian e148443ddd Document guc context values, and reference them from the config doc section.
Tom Lane
2011-03-17 00:27:01 -04:00
Robert Haas 5f588e2005 Corrections to CREATE FOREIGN TABLE documentation.
Omit incorrect = sign, and properly document server_name parameter.

Shigeru Hanada
2011-03-16 08:13:02 -04:00
Bruce Momjian a858ca19df Adjust doc wording about the casting exceptions for composite types. 2011-03-15 20:47:31 -04:00
Bruce Momjian b774efa9d5 Fix spelling error in fuzzystrmatch docs. 2011-03-15 19:50:02 -04:00
Bruce Momjian df4a9595c2 Wording adjustment for restart_after_crash entry
Specifically, mention that "restart" is disabled by this parameter.
2011-03-15 12:43:39 -04:00
Robert Haas f0f3617135 Minor sync rep documentation improvements.
- Make the name of the ID tag for the GUC entry match the GUC name.
- Clarify that synchronous_replication waits for xlog flush, not receipt.
- Mention that synchronous_replication won't wait if max_wal_senders=0.
2011-03-15 11:25:04 -04:00
Bruce Momjian 94fe9c0f4e Use "backend process" rather than "backend server", where appropriate. 2011-03-12 09:38:56 -05:00
Bruce Momjian 7a8f43968a In docs, rename "backwards compatibility" to "backward compatibility"
for consistency.
2011-03-11 14:33:10 -05:00
Tom Lane e3c732a85c Create an explicit concept of collations that work for any encoding.
Use collencoding = -1 to represent such a collation in pg_collation.
We need this to make the "default" entry work sanely, and a later
patch will fix the C/POSIX entries to be represented this way instead
of duplicating them across all encodings.  All lookup operations now
search first for an entry that's database-encoding-specific, and then
for the same name with collencoding = -1.

Also some incidental code cleanup in collationcmds.c and pg_collation.c.
2011-03-11 13:20:11 -05:00
Tom Lane ac435a79c8 Remove duplicate indexterm to silence openjade wrning. 2011-03-11 11:41:51 -05:00
Bruce Momjian 4869d10afc Update documentation on FreeBSD write cache control. 2011-03-11 11:36:42 -05:00
Bruce Momjian ffe92d15d5 Document that to_char('FM') removes only trailing zeros. 2011-03-11 10:48:30 -05:00
Bruce Momjian a1bb5a480d Document how listen_addresses can do only IPv4 or IPv6. 2011-03-11 10:31:43 -05:00
Bruce Momjian 59bacbe147 Adds index entries for session_user and pg_describe_object
Removes extraneous closing parenthesis from pg_describe_object
Puts pg_describe_object and has_sequence_privilege in correct
alphabetical position in function listing

Thom Brown
2011-03-11 10:23:59 -05:00
Bruce Momjian 35a1964e55 In plpsql docs, use RAISE rather than undefined log function. 2011-03-11 08:47:44 -05:00
Bruce Momjian cbd2811461 Improve extract(day) documentation with interval values. 2011-03-11 08:17:49 -05:00
Bruce Momjian ea5c4c71f6 Fix "unparenthesized" mention in vacuum docs. 2011-03-11 07:57:53 -05:00
Bruce Momjian 3896138b7c Update kernel docs for Solaris 10.
Josh Berkus
2011-03-11 07:53:34 -05:00
Bruce Momjian afaed3add8 Document that pg_dump --clean might generate some harmless errors on restore. 2011-03-11 07:05:38 -05:00
Bruce Momjian 06711de9d9 Document that libpq's PQgetResult() should be called after a fatal error
to fully process errors.
2011-03-11 05:55:13 -05:00
Bruce Momjian ad44d50591 Document that the parenthesized VACUUM syntax is deprecated, not the
FREEZE functionality.
2011-03-11 05:34:09 -05:00
Bruce Momjian 26174d5fd0 Reference doc "examples" section for pg_dump options that often need
complex quoting, e.g. -t and -n.
2011-03-10 19:40:23 -05:00
Bruce Momjian 3aa6041db5 More wording improvements for disallowed SQL function commands. 2011-03-10 18:50:44 -05:00
Bruce Momjian 2fdd357cae Improve SQL function disallowed command wording. 2011-03-10 18:47:44 -05:00
Bruce Momjian 678a0d286c Clarify what commands are not allowed in SQL functions. 2011-03-10 18:46:21 -05:00
Tom Lane 7564654adf Revert addition of third argument to format_type().
Including collation in the behavior of that function promotes a world view
we do not want.  Moreover, it was producing the wrong behavior for pg_dump
anyway: what we want is to dump a COLLATE clause on attributes whose
attcollation is different from the underlying type, and likewise for
domains, and the function cannot do that for us.  Doing it the hard way
in pg_dump is a bit more tedious but produces more correct output.

In passing, fix initdb so that the initial entry in pg_collation is
properly pinned.  It was droppable before :-(
2011-03-10 17:30:46 -05:00
Robert Haas 1c3b434a08 Add missing index terms for recovery control functions.
Fujii Masao
2011-03-10 14:29:53 -05:00
Bruce Momjian ed0327495c Use '=' when documenting long options. 2011-03-10 09:10:34 -05:00
Tom Lane a051ef699c Remove collation information from TypeName, where it does not belong.
The initial collations patch treated a COLLATE spec as part of a TypeName,
following what can only be described as brain fade on the part of the SQL
committee.  It's a lot more reasonable to treat COLLATE as a syntactically
separate object, so that it can be added in only the productions where it
actually belongs, rather than needing to reject it in a boatload of places
where it doesn't belong (something the original patch mostly failed to do).
In addition this change lets us meet the spec's requirement to allow
COLLATE anywhere in the clauses of a ColumnDef, and it avoids unfriendly
behavior for constructs such as "foo::type COLLATE collation".

To do this, pull collation information out of TypeName and put it in
ColumnDef instead, thus reverting most of the collation-related changes in
parse_type.c's API.  I made one additional structural change, which was to
use a ColumnDef as an intermediate node in AT_AlterColumnType AlterTableCmd
nodes.  This provides enough room to get rid of the "transform" wart in
AlterTableCmd too, since the ColumnDef can carry the USING expression
easily enough.

Also fix some other minor bugs that have crept in in the same areas,
like failure to copy recently-added fields of ColumnDef in copyfuncs.c.

While at it, document the formerly secret ability to specify a collation
in ALTER TABLE ALTER COLUMN TYPE, ALTER TYPE ADD ATTRIBUTE, and
ALTER TYPE ALTER ATTRIBUTE TYPE; and correct some misstatements about
what the default collation selection will be when COLLATE is omitted.

BTW, the three-parameter form of format_type() should go away too,
since it just contributes to the confusion in this area; but I'll do
that in a separate patch.
2011-03-09 22:39:20 -05:00
Bruce Momjian 01752f7bba Document that server single-user mode does not do checkpoints or other
background processing.
2011-03-09 20:19:59 -05:00
Tom Lane 49a08ca1e9 Adjust the permissions required for COMMENT ON ROLE.
Formerly, any member of a role could change the role's comment, as of
course could superusers; but holders of CREATEROLE privilege could not,
unless they were also members.  This led to the odd situation that a
CREATEROLE holder could create a role but then could not comment on it.
It also seems a bit dubious to let an unprivileged user change his own
comment, let alone those of group roles he belongs to.  So, change the
rule to be "you must be superuser to comment on a superuser role, or
hold CREATEROLE to comment on non-superuser roles".  This is the same
as the privilege check for creating/dropping roles, and thus fits much
better with the rule for other object types, namely that only the owner
of an object can comment on it.

In passing, clean up the documentation for COMMENT a little bit.

Per complaint from Owen Jacobson and subsequent discussion.
2011-03-09 11:28:34 -05:00
Bruce Momjian c290476cbd Remove '=' from initdb switch syntax. 2011-03-09 09:48:05 -05:00
Bruce Momjian 8cc55b1c0f Improve wording of initdb and pg_controldata manual pages.
gabrielle <gorthx@gmail.com>
2011-03-09 09:19:24 -05:00
Itagaki Takahiro 48ff3913d6 Remove 's' from recovery_target_timeline's' from the release note. 2011-03-09 20:00:11 +09:00
Itagaki Takahiro 1144726d07 synchronous_standby_names is a string parameter. 2011-03-09 19:49:16 +09:00
Robert Haas 26ed3fdb45 Make alpha release notes more consistent as regards periods. 2011-03-09 00:06:02 -05:00
Robert Haas f14ae5f905 Update alpha release notes for latest commits. 2011-03-09 00:00:03 -05:00
Tom Lane c0dc44ebba A bit more editing for collation documentation. 2011-03-08 22:50:38 -05:00
Robert Haas 51c0124481 Create "replication and recovery" section in alpha release notes. 2011-03-08 20:55:29 -05:00
Tom Lane a612b17120 Assorted editing for collation documentation.
I made a pass over this to familiarize myself with the feature, and found
some things that could be improved.
2011-03-08 17:10:59 -05:00
Bruce Momjian 915cd10c16 Adjust CHAR() doc mention of pattern matching issues for trailing
spaces.
2011-03-08 12:54:00 -05:00
Bruce Momjian 7465ae06be Document that char() ignores spaces in non-pattern comparisons, not in
pattern comparisons such as LIKE and regex.
2011-03-08 11:03:40 -05:00
Tom Lane cfcdc99db6 Improve description of inquiry functions that accept regclass.
Per a suggestion from Thom Brown, though this is not his proposed patch.
2011-03-07 16:21:26 -05:00
Tom Lane f8c0af840d Minor copy-editing in CREATE TRIGGER reference page.
Per suggestions from Thom Brown and Robert Haas.
2011-03-07 16:00:36 -05:00
Heikki Linnakangas 1a4ab9ec23 If recovery_target_timeline is set to 'latest' and standby mode is enabled,
periodically rescan the archive for new timelines, while waiting for new WAL
segments to arrive. This allows you to set up a standby server that follows
the TLI change if another standby server is promoted to master. Before this,
you had to restart the standby server to make it notice the new timeline.

This patch only scans the archive for TLI changes, it won't follow a TLI
change in streaming replication. That is much needed too, but it would be a
much bigger patch than I dare to sneak in this late in the release cycle.

There was discussion on improving the sanity checking of the WAL segments so
that the system would notice more reliably if the new timeline isn't an
ancestor of the current one, but that is not included in this patch.

Reviewed by Fujii Masao.
2011-03-07 21:14:47 +02:00
Robert Haas bcf85e3f44 Reword alpha release note item on SSI.
Per Josh Berkus; some additional explanatory text by me.
2011-03-07 13:57:06 -05:00
Robert Haas c74d3aceb9 Synchronous replication doc corrections.
Thom Brown
2011-03-07 11:59:58 -05:00
Heikki Linnakangas faba108fe4 Document the DEFERRABLE option in SET TRANSACTION command.
Kevin Grittner
2011-03-07 10:43:41 +02:00
Simon Riggs a8a8a3e096 Efficient transaction-controlled synchronous replication.
If a standby is broadcasting reply messages and we have named
one or more standbys in synchronous_standby_names then allow
users who set synchronous_replication to wait for commit, which
then provides strict data integrity guarantees. Design avoids
sending and receiving transaction state information so minimises
bookkeeping overheads. We synchronize with the highest priority
standby that is connected and ready to synchronize. Other standbys
can be defined to takeover in case of standby failure.

This version has very strict behaviour; more relaxed options
may be added at a later date.

Simon Riggs and Fujii Masao, with reviews by Yeb Havinga, Jaime
Casanova, Heikki Linnakangas and Robert Haas, plus the assistance
of many other design reviewers.
2011-03-06 22:49:16 +00:00
Tom Lane 0b5d734592 Adjust documentation about pg_pltemplate to reflect latest thinking.
It's more likely that pg_pltemplate will go away in the future than
that we'll add additional specialized infrastructure for it.
2011-03-05 15:34:10 -05:00
Tom Lane bfd7f8cbb2 Make plpythonu language use plpython2 shared library directly.
The original scheme for this was to symlink plpython.$DLSUFFIX to
plpython2.$DLSUFFIX, but that doesn't work on Windows, and only
accidentally failed to fail because of the way that CREATE LANGUAGE created
or didn't create new C functions.  My changes of yesterday exposed the
weakness of that approach.  To fix, get rid of the symlink and make
pg_pltemplate show what's really going on.
2011-03-05 15:13:15 -05:00
Tom Lane ba0c93a0f4 Convert createlang/droplang to use CREATE/DROP EXTENSION.
In createlang this is a one-line change.  In droplang there's a whole
lot of cruft that can be discarded since the extension mechanism now
manages removal of the language's support functions.

Also, add deprecation notices to these two programs' reference pages,
since per discussion we may toss them overboard altogether in a release
or two.
2011-03-05 14:03:06 -05:00
Robert Haas c0f2b2e256 Remove one copy of duplicated alpha4 release note.
Noted by Andy Colson
2011-03-05 13:02:06 -05:00
Robert Haas f31e532492 Add missing word. 2011-03-05 09:53:05 -05:00
Robert Haas 5c44f38d3b First cut at 9.1alpha4 release notes. 2011-03-05 09:36:19 -05:00
Robert Haas a4406da967 Remove emphasis from 9.1alpha3 items.
In preparation for 9.1alpha4 release notes, where only the 9.1alpha4
features will be emphasized.
2011-03-05 07:37:34 -05:00
Tom Lane c2903fb3d2 Update documentation to reflect that standard PLs are now extensions.
Recommend use of CREATE EXTENSION rather than plain CREATE LANGUAGE
where relevant.  Encourage PL authors to provide extension wrappers
for their PLs.
2011-03-05 01:08:38 -05:00
Tom Lane 8d3b421f5f Allow non-superusers to create (some) extensions.
Remove the unconditional superuser permissions check in CREATE EXTENSION,
and instead define a "superuser" extension property, which when false
(not the default) skips the superuser permissions check.  In this case
the calling user only needs enough permissions to execute the commands
in the extension's installation script.  The superuser property is also
enforced in the same way for ALTER EXTENSION UPDATE cases.

In other ALTER EXTENSION cases and DROP EXTENSION, test ownership of
the extension rather than superuserness.  ALTER EXTENSION ADD/DROP needs
to insist on ownership of the target object as well; to do that without
duplicating code, refactor comment.c's big switch for permissions checks
into a separate function in objectaddress.c.

I also removed the superuserness checks in pg_available_extensions and
related functions; there's no strong reason why everybody shouldn't
be able to see that info.

Also invent an IF NOT EXISTS variant of CREATE EXTENSION, and use that
in pg_dump, so that dumps won't fail for installed-by-default extensions.
We don't have any of those yet, but we will soon.

This is all per discussion of wrapping the standard procedural languages
into extensions.  I'll make those changes in a separate commit; this is
just putting the core infrastructure in place.
2011-03-04 16:08:53 -05:00
Peter Eisentraut 091bda0188 Add collations to information_schema.usage_privileges
This is faked information like for domains.
2011-03-02 23:17:56 +02:00
Tom Lane 43bdf3583a Add 'collatable' to the Parameters section of CREATE TYPE. 2011-03-02 16:11:24 -05:00
Tom Lane 8436489c81 Add KNNGIST support to contrib/btree_gist.
This extends GiST's support for nearest-neighbor searches to many of the
standard data types.

Teodor Sigaev
2011-03-02 14:44:33 -05:00
Tom Lane 2f6c8453cf Fix erroneous documentation of the syntax of CREATE CONSTRAINT TRIGGER.
The grammar requires a specific ordering of the clauses, but the
documentation showed a different order.  This error was introduced in
commit b47953f9c6, which merged the CREATE
CONSTRAINT TRIGGER documentation into the CREATE TRIGGER page.  There is
no code bug AFAICS.
2011-03-02 11:39:18 -05:00
Tom Lane 7e49330cad Correct mistaken claims about EXPLAIN ANALYZE's handling of triggers.
Time spent executing AFTER triggers is not included in the runtime of the
associated ModifyTable node; in my patch of yesterday I confused queuing of
these triggers with their actual execution.  Spotted by Marko Tiikkaja.
2011-03-02 11:17:03 -05:00
Heikki Linnakangas 6eba5a7c57 Change pg_last_xlog_receive_location() not to move backwards. That makes
it a lot more useful for determining which standby is most up-to-date,
for example. There was long discussions on whether overwriting existing
existing WAL makes sense to begin with, and whether we should do some more
extensive variable renaming, but this change nevertheless seems quite
uncontroversial.

Fujii Masao, reviewed by Jeff Janes, Robert Haas, Stephen Frost.
2011-03-01 20:54:35 +02:00
Tom Lane 09b49a8439 Update discussion of EXPLAIN to reflect existence of ModifyTable nodes.
Back-patch to 9.0, since this was changed then.
2011-03-01 11:37:02 -05:00
Robert Haas 59d6a75942 Avoid excessive Hot Standby feedback messages.
Without this patch, when wal_receiver_status_interval=0, indicating that no
status messages should be sent, Hot Standby feedback messages are instead sent
extremely frequently.

Fujii Masao, with documentation changes by me.
2011-03-01 11:34:25 -05:00
Peter Eisentraut 474a42473a PL/Python custom SPI exceptions
This provides a separate exception class for each error code that the
backend defines, as well as the ability to get the SQLSTATE from the
exception object.

Jan Urbański, reviewed by Steve Singer
2011-02-28 18:41:10 +02:00
Tom Lane 0ef0b30204 Add documentation for data-modifying statements in WITH clauses.
Marko Tiikkaja, somewhat reworked by Tom
2011-02-28 01:17:58 -05:00
Bruce Momjian c11f1f714b Document that last vacuum statistics and counts are for non-FULL vacuums. 2011-02-27 18:04:22 -05:00
Peter Eisentraut 22690719ea PL/Python explicit subtransactions
Adds a context manager, obtainable by plpy.subtransaction(), to run a
group of statements in a subtransaction.

Jan Urbański, reviewed by Steve Singer, additional scribbling by me
2011-02-27 21:15:35 +02:00
Bruce Momjian 721ea41f14 Fix markup for pg_options_to_table() to report the return column names,
per suggestion from Andrew.
2011-02-27 03:50:12 -05:00
Heikki Linnakangas be6668d6ef Increase the default for wal_sender_delay from 200ms to 1s. Now that WAL
sender is immediately woken up by transaction commit, there's no need to
wake up so aggressively.
2011-02-26 23:38:25 +02:00
Bruce Momjian 58838a7a52 Document that pg_options_to_table() also works for
pg_attribute.attoptions.
2011-02-26 12:47:29 -05:00
Bruce Momjian 86434afb11 Fix doc patch --- pg_options_to_table() returns "setof record". 2011-02-26 12:26:59 -05:00
Peter Eisentraut bc411f25c1 Table function support for PL/Python
This allows functions with multiple OUT parameters returning both one
or multiple records (RECORD or SETOF RECORD).

Jan Urbański, reviewed by Hitoshi Harada
2011-02-26 16:53:11 +02:00
Bruce Momjian 772dcfe7c0 Document pg_options_to_table() (not previously documented) 2011-02-26 01:56:49 -05:00
Robert Haas 79ad8fc5f8 Named restore point improvements.
Emit a log message when creating a named restore point, and improve
documentation for pg_create_restore_point().

Euler Taveira de Oliveira, 	per suggestions from Thom Brown, with some
additional wordsmithing by me.
2011-02-24 19:02:00 -05:00
Bruce Momjian 2c72d7042b Update wording about information schema and name which views potentially
can have duplicates, per request from Tom.
2011-02-22 23:32:23 -05:00
Peter Eisentraut 1c51c7d5ff Add PL/Python functions for quoting strings
Add functions plpy.quote_ident, plpy.quote_literal,
plpy.quote_nullable, which wrap the equivalent SQL functions.

To be able to propagate char * constness properly, make the argument
of quote_literal_cstr() const char *.  This also makes it more
consistent with quote_identifier().

Jan Urbański, reviewed by Hitoshi Harada, some refinements by Peter
Eisentraut
2011-02-22 23:41:23 +02:00
Robert Haas 3e6b305d9e Fix a couple of unlogged tables goofs.
"SELECT ... INTO UNLOGGED tabname" works, but wasn't documented; CREATE
UNLOGGED SEQUENCE and CREATE UNLOGGED VIEW failed an assertion, instead
of throwing a sensible error.

Latter issue reported by Itagaki Takahiro; patch review by Tom Lane.
2011-02-22 14:46:19 -05:00
Bruce Momjian edb382179d Reword information_schema duplicate constraint warning text. 2011-02-22 09:06:56 -05:00
Bruce Momjian fee7802770 Move information_schema duplicate constraint note to the top of the
information schema documentation because it affects several tables.
2011-02-21 20:14:02 -05:00
Bruce Momjian ede45e90dd Update docs about new role privileges reference, per Alvaro. 2011-02-21 09:15:48 -05:00
Itagaki Takahiro 3cba8240a1 Add ENCODING option to COPY TO/FROM and file_fdw.
File encodings can be specified separately from client encoding.
If not specified, client encoding is used for backward compatibility.

Cases when the encoding doesn't match client encoding are slower
than matched cases because we don't have conversion procs for other
encodings. Performance improvement would be be a future work.

Original patch by Hitoshi Harada, and modified by me.
2011-02-21 14:32:40 +09:00
Bruce Momjian 48d25bac9f Merge two documentation permission chapters into a single chapter. 2011-02-20 22:21:34 -05:00
Tom Lane 7c5d0ae707 Add contrib/file_fdw foreign-data wrapper for reading files via COPY.
This is both very useful in its own right, and an important test case
for the core FDW support.

This commit includes a small refactoring of copy.c to expose its option
checking code as a separately callable function.  The original patch
submission duplicated hundreds of lines of that code, which seemed pretty
unmaintainable.

Shigeru Hanada, reviewed by Itagaki Takahiro and Tom Lane
2011-02-20 14:06:59 -05:00
Tom Lane bb74240794 Implement an API to let foreign-data wrappers actually be functional.
This commit provides the core code and documentation needed.  A contrib
module test case will follow shortly.

Shigeru Hanada, Jan Urbanski, Heikki Linnakangas
2011-02-20 00:18:14 -05:00
Bruce Momjian d5813488a4 Adjust documentation wording of window function ORDER BY to not mention
avg() because it was inaccurate.
2011-02-20 00:01:08 -05:00
Bruce Momjian 8c0f1e2762 Documentation update for UTF16 surrogate pairs in UTF8 encoding.
Marko Kreen
2011-02-19 19:00:19 -05:00
Bruce Momjian e07ae21f7e Document that an SQL-standard-compliant query that expects a unique row
from information_schema.referential_constraints might return several in
Postgres because we allow duplicate-named constraints in the same
schema.
2011-02-19 18:21:36 -05:00
Peter Eisentraut 02e14562a8 Set psql client encoding from locale by default
Add a new libpq connection option client_encoding (which includes the
existing PGCLIENTENCODING environment variable), which besides an
encoding name accepts a special value "auto" that tries to determine
the encoding from the locale in the client's environment, using the
mechanisms that have been in use in initdb.

psql sets this new connection option to "auto" when running from a
terminal and not overridden by setting PGCLIENTENCODING.

original code by Heikki Linnakangas, with subsequent contributions by
Jaime Casanova, Peter Eisentraut, Stephen Frost, Ibrar Ahmed
2011-02-19 08:54:58 +02:00
Tom Lane 327e025071 Create the catalog infrastructure for foreign-data-wrapper handlers.
Add a fdwhandler column to pg_foreign_data_wrapper, plus HANDLER options
in the CREATE FOREIGN DATA WRAPPER and ALTER FOREIGN DATA WRAPPER commands,
plus pg_dump support for same.  Also invent a new pseudotype fdw_handler
with properties similar to language_handler.

This is split out of the "FDW API" patch for ease of review; it's all stuff
we will certainly need, regardless of any other details of the FDW API.
FDW handler functions will not actually get called yet.

In passing, fix some omissions and infelicities in foreigncmds.c.

Shigeru Hanada, Jan Urbanski, Heikki Linnakangas
2011-02-19 00:07:15 -05:00
Bruce Momjian 4077980d67 Improve text search prefix doc addition. 2011-02-18 23:23:52 -05:00
Bruce Momjian 5bba4948eb Document that text search comparisons happen after text search
configuration rules.

Erik Rijkers
2011-02-18 22:39:52 -05:00
Itagaki Takahiro 62c7bd31c8 Add transaction-level advisory locks.
They share the same locking namespace with the existing session-level
advisory locks, but they are automatically released at the end of the
current transaction and cannot be released explicitly via unlock
functions.

Marko Tiikkaja, reviewed by me.
2011-02-18 14:05:12 +09:00
Alvaro Herrera 87bb2ade2c Convert Postgres arrays to Perl arrays on PL/perl input arguments
More generally, arrays are turned in Perl array references, and row and
composite types are turned into Perl hash references.  This is done
recursively, in a way that's natural to every Perl programmer.

To avoid a backwards compatibility hit, the string representation of
each structure is also available if the function requests it.

Authors: Alexey Klyukin and Alex Hunsaker.
Some code cleanups by me.
2011-02-17 22:20:40 -03:00
Robert Haas 4a25bc145a Add client_hostname field to pg_stat_activity.
Peter Eisentraut, reviewed by Steve Singer, Alvaro Herrera, and me.
2011-02-17 16:03:28 -05:00
Bruce Momjian 4f2cfc5bb4 Typo fix
Erik Rijkers
2011-02-17 15:57:37 -05:00
Bruce Momjian 3472a2b056 Remove doc mention about read committed in upsert example. 2011-02-17 14:24:14 -05:00
Bruce Momjian f87712d208 Document that plpgsql upsert example can fail if insert triggers return
unique exception, or if not used in read committed transaction mode.
2011-02-17 13:36:36 -05:00
Bruce Momjian 732808c087 In documentation example, use concat_values() instead of concat()
because concat() is a built-in function.

Erik Rijkers
2011-02-17 12:37:13 -05:00
Robert Haas 9408783aef Typo fixes.
Thom Brown
2011-02-17 08:07:31 -05:00
Robert Haas 24bc6b3db3 Remove rule to build sepgsql-regtest.pp.
Instead, document how to build it manually.

Per discussion.  KaiGai Kohei, with some wordsmithing by me.
2011-02-17 06:40:32 -05:00
Simon Riggs bca8b7f16a Hot Standby feedback for avoidance of cleanup conflicts on standby.
Standby optionally sends back information about oldestXmin of queries
which is then checked and applied to the WALSender's proc->xmin.
GetOldestXmin() is modified slightly to agree with GetSnapshotData(),
so that all backends on primary include WALSender within their snapshots.
Note this does nothing to change the snapshot xmin on either master or
standby. Feedback piggybacks on the standby reply message.
vacuum_defer_cleanup_age is no longer used on standby, though parameter
still exists on primary, since some use cases still exist.

Simon Riggs, review comments from Fujii Masao, Heikki Linnakangas, Robert Haas
2011-02-16 19:29:37 +00:00
Tom Lane 6e02755b22 Add FOREACH IN ARRAY looping to plpgsql.
(I'm not entirely sure that we've finished bikeshedding the syntax details,
but the functionality seems OK.)

Pavel Stehule, reviewed by Stephen Frost and Tom Lane
2011-02-16 01:53:03 -05:00
Robert Haas 4695da5ae9 pg_ctl promote
Fujii Masao, reviewed by Robert Haas, Stephen Frost, and Magnus Hagander.
2011-02-15 21:30:23 -05:00
Robert Haas 883a9659fa Assorted corrections to the patch to add WAL receiver replies.
Per reports from Fujii Masao.
2011-02-15 12:05:00 -05:00
Robert Haas 6a77e9385e Rename max_predicate_locks_per_transaction.
The new name, max_pred_locks_per_transaction, is shorter.

Kevin Grittner, per discussion.
2011-02-15 08:04:55 -05:00
Robert Haas 0d90dc16f8 Avoid a few more SET DATA TYPE table rewrites.
When the new type is an unconstrained domain over the old type, we don't
need to rewrite the table.

Noah Misch and Robert Haas
2011-02-14 23:40:05 -05:00
Simon Riggs 0ff1b73509 Additional required docs for pg_constraint catalog entry
Noted by Bernd Helmle
2011-02-15 00:59:29 +00:00
Tom Lane 555353c0c5 Rearrange extension-related views as per recent discussion.
The original design of pg_available_extensions did not consider the
possibility of version-specific control files.  Split it into two views:
pg_available_extensions shows information that is generic about an
extension, while pg_available_extension_versions shows all available
versions together with information that could be version-dependent.
Also, add an SRF pg_extension_update_paths() to assist in checking that
a collection of update scripts provide sane update path sequences.
2011-02-14 19:22:36 -05:00
Tom Lane cee103da14 Small improvements to external-projects documentation. 2011-02-14 19:22:34 -05:00
Tom Lane f1fb4b0e63 Fix obsolete references to old-style contrib installation methods. 2011-02-14 01:10:44 -05:00
Tom Lane e693e97d75 Support replacing MODULE_PATHNAME during extension script file execution.
This avoids the need to find a way to make PGXS' .sql.in-to-.sql rule
insert the right thing.  We'll just deprecate use of that hack for
extensions.
2011-02-13 22:54:43 -05:00
Tom Lane 27d5d7ab10 Change the naming convention for extension files to use double dashes.
This allows us to have an unambiguous rule for deconstructing the names
of script files and secondary control files, without having to forbid
extension and version names from containing any dashes.  We do have to
forbid them from containing double dashes or leading/trailing dashes,
but neither restriction is likely to bother anyone in practice.
Per discussion, this seems like a better solution overall than the
original design.
2011-02-13 22:54:42 -05:00
Bruce Momjian 5569ae52ae Clarify documentation for libpq's PQescapeBytea to mention the new hex
format.

Modify PQescapeStringConn() docs to be consisent with other escaping
functions.

Add mention problems with pre-9.0 versions of libpq using not understanding
bytea hex format to the 9.0 release notes.

Backpatch to 9.0 docs.
2011-02-13 09:29:01 -05:00
Bruce Momjian cebbaa1d5d Back out libpq doc change; not ready yet. 2011-02-13 00:17:55 -05:00