Commit Graph

11037 Commits

Author SHA1 Message Date
Robert Haas
53dbc27c62 Support unlogged tables.
The contents of an unlogged table are WAL-logged; thus, they are not
available on standby servers and are truncated whenever the database
system enters recovery.  Indexes on unlogged tables are also unlogged.
Unlogged GiST indexes are not currently supported.
2010-12-29 06:48:53 -05:00
Magnus Hagander
9b8aff8c19 Add REPLICATION privilege for ROLEs
This privilege is required to do Streaming Replication, instead of
superuser, making it possible to set up a SR slave that doesn't
have write permissions on the master.

Superuser privileges do NOT override this check, so in order to
use the default superuser account for replication it must be
explicitly granted the REPLICATION permissions. This is backwards
incompatible change, in the interest of higher default security.
2010-12-29 11:05:03 +01:00
Tom Lane
31d2efaef5 Reclassify DEFAULT as a column_constraint item in the CREATE TABLE syntax.
This is how it was documented originally, but several years ago somebody
decided that DEFAULT isn't a type of constraint.  Well, the grammar thinks
it is.  The documentation was wrong in two ways: it alleged that DEFAULT
had to appear before any other kind of constraint, and it alleged that you
can't prefix a DEFAULT clause with a "CONSTRAINT name" clause, when in fact
you can.  (The latter behavior probably isn't SQL-standard, but our grammar
has always allowed it.)

This patch responds to Fujii Masao's observation that the ALTER TABLE
documentation mistakenly implied that you couldn't include DEFAULT in
ALTER TABLE ADD COLUMN; though this isn't the way he proposed fixing it.
2010-12-28 21:38:05 -05:00
Peter Eisentraut
a5f96409fd No release notes update, just advance the date 2010-12-28 21:19:17 +02:00
Tom Lane
81a530a65e Fix ill-advised placement of PGRES_COPY_BOTH enum value.
It must be added at the end of the ExecStatusType enum to avoid ABI
breakage compared to previous libpq versions.  Noted by Magnus.
2010-12-28 11:02:10 -05:00
Magnus Hagander
06004319be Fix list of functions that are restricted to superusers
Move the list of what's restricted to superusers into the table
itself, so it doesn't get missed again.
2010-12-28 10:46:03 +01:00
Bruce Momjian
0a023a14fc Update SGML docs describing the contents of the postmaster.pid file,
per change to the file for pg_ctl.
2010-12-27 15:20:28 -05:00
Alvaro Herrera
c7f0038d73 Break up long line, per Leslie S Satenstein. 2010-12-27 12:36:51 -03:00
Robert Haas
63676ebff4 Corrections to patch adding SQL/MED error codes.
My previous commit, 85cff3ce7f on
2010-12-25, failed to update errcodes.sgml or plerrcodes.h.  This patch
corrects that oversight, per a gripe from Tom Lane, and also corrects
a typographical error.
2010-12-26 21:35:25 -05:00
Robert Haas
4ec92b05e6 Correct spelling: longjump() -> longjmp(). 2010-12-24 22:22:44 -05:00
Peter Eisentraut
79a9decdd3 Fix grammar 2010-12-24 22:08:50 +02:00
Bruce Momjian
075354ad1b Improve "pg_ctl -w start" server detection by writing the postmaster
port and socket directory into postmaster.pid, and have pg_ctl read from
that file, for use by PQping().
2010-12-24 09:45:52 -05:00
Peter Eisentraut
4b1742a192 Move the documentation of --no-security-label to a more sensible place
The order on the pg_dump/pg_dumpall man pages is not very strict, but
surely putting it under connection options was wrong.
2010-12-24 14:11:11 +02:00
Peter Eisentraut
b2fd345ab9 Release notes for 9.1alpha3 2010-12-24 13:50:34 +02:00
Robert Haas
a1b0035949 Document pg_dump(all) --no-security-label instead of --security-label.
The former is the option actually supported by these commands.
2010-12-23 23:22:40 -05:00
Heikki Linnakangas
9de3aa65f0 Rewrite the GiST insertion logic so that we don't need the post-recovery
cleanup stage to finish incomplete inserts or splits anymore. There was two
reasons for the cleanup step:

1. When a new tuple was inserted to a leaf page, the downlink in the parent
needed to be updated to contain (ie. to be consistent with) the new key.
Updating the parent in turn might require recursively updating the parent of
the parent. We now handle that by updating the parent while traversing down
the tree, so that when we insert the leaf tuple, all the parents are already
consistent with the new key, and the tree is consistent at every step.

2. When a page is split, we need to insert the downlink for the new right
page(s), and update the downlink for the original page to not include keys
that moved to the right page(s). We now handle that by setting a new flag,
F_FOLLOW_RIGHT, on the non-rightmost pages in the split. When that flag is
set, scans always follow the rightlink, regardless of the NSN mechanism used
to detect concurrent page splits. That way the tree is consistent right after
split, even though the downlink is still missing. This is very similar to the
way B-tree splits are handled. When the downlink is inserted in the parent,
the flag is cleared. To keep the insertion algorithm simple, when an
insertion sees an incomplete split, indicated by the F_FOLLOW_RIGHT flag, it
finishes the split before doing anything else.

These changes allow removing the whole "invalid tuple" mechanism, but I
retained the scan code to still follow invalid tuples correctly. While we
don't create any such tuples anymore, we want to handle them gracefully in
case you pg_upgrade a GiST index that has them. If we encounter any on an
insert, though, we just throw an error saying that you need to REINDEX.

The issue that got me into doing this is that if you did a checkpoint while
an insert or split was in progress, and the checkpoint finishes quickly so
that there is no WAL record related to the insert between RedoRecPtr and the
checkpoint record, recovery from that checkpoint would not know to finish
the incomplete insert. IOW, we have the same issue we solved with the
rm_safe_restartpoint mechanism during normal operation too. It's highly
unlikely to happen in practice, and this fix is far too large to backpatch,
so we're just going to live with in previous versions, but this refactoring
fixes it going forward.

With this patch, you don't get the annoying
'index "FOO" needs VACUUM or REINDEX to finish crash recovery' notices
anymore if you crash at an unfortunate moment.
2010-12-23 16:21:47 +02:00
Bruce Momjian
7a1ca8977f Document that BBU's do not allow partial page writes to be safely turned
off unless they guarantee that all writes to the BBU arrive in 8kB chunks.

Per discussion with Greg Smith
2010-12-22 21:12:00 -05:00
Robert Haas
2a0f13a765 Typo fix.
Noted by Thom Brown.
2010-12-22 09:33:34 -05:00
Bruce Momjian
28d5c565ce Wording improvements for pg_ctl manual page. 2010-12-22 09:11:33 -05:00
Magnus Hagander
de9a4c27fe Add PQlibVersion() function to libpq
This function is like the PQserverVersion() function except
it returns the version of libpq, making it possible for a client
program or driver to determine which version of libpq is in
use at runtime, and not just at link time.

Suggested by Harald Armin Massa and several others.
2010-12-22 14:23:56 +01:00
Alvaro Herrera
f9e9763b62 Fix typo
Jaime Casanova
2010-12-20 12:05:12 -03:00
Magnus Hagander
dcb09b595f Support for collecting crash dumps on Windows
Add support for collecting "minidump" style crash dumps on
Windows, by setting up an exception handling filter. Crash
dumps will be generated in PGDATA/crashdumps if the directory
is created (the existance of the directory is used as on/off
switch for the generation of the dumps).

Craig Ringer and Magnus Hagander
2010-12-19 16:45:28 +01:00
Robert Haas
df142bf82c Waiting for complete startup is now a well-defined operation.
Per report from Fujii Masao, and subsequent discussion.
2010-12-16 20:57:33 -05:00
Robert Haas
290f1603b4 Some copy editing of pg_read_binary_file() patch. 2010-12-15 21:02:31 -05:00
Robert Haas
afc8f47b58 Document timestamptz a little better. 2010-12-15 20:53:40 -05:00
Itagaki Takahiro
03db44eae3 Add pg_read_binary_file() and whole-file-at-once versions of pg_read_file().
One of the usages of the binary version is to read files in a different
encoding from the server encoding.

Dimitri Fontaine and Itagaki Takahiro.
2010-12-16 06:56:28 +09:00
Bruce Momjian
16b5e08dec Use "upgrade" in preference over "migrate" in pg_upgrade messages and
documentation.  (Many were left over from the old pg_migrator naming.)
2010-12-15 07:11:31 -05:00
Tom Lane
f9224c8ec2 Update release notes for releases 9.0.2, 8.4.6, 8.3.13, 8.2.19, and 8.1.23. 2010-12-13 20:22:52 -05:00
Peter Eisentraut
843a490f0a Remove recently reintroduced CVS keyword 2010-12-13 23:22:52 +02:00
Robert Haas
d26849ee26 Document replacement of pg_class.relistemp with relpersistence.
Noted by Tom Lane.
2010-12-13 13:08:45 -05:00
Robert Haas
d3d414696f Allow bidirectional copy messages in streaming replication mode.
Fujii Masao.  Review by Alvaro Herrera, Tom Lane, and myself.
2010-12-11 09:27:37 -05:00
Robert Haas
1490946c57 Minor documentation cleanup.
Fujii Masao
2010-12-10 23:22:50 -05:00
Tom Lane
576477e73c Force default wal_sync_method to be fdatasync on Linux.
Recent versions of the Linux system header files cause xlogdefs.h to
believe that open_datasync should be the default sync method, whereas
formerly fdatasync was the default on Linux.  open_datasync is a bad
choice, first because it doesn't actually outperform fdatasync (in fact
the reverse), and second because we try to use O_DIRECT with it, causing
failures on certain filesystems (e.g., ext4 with data=journal option).
This part of the patch is largely per a proposal from Marti Raudsepp.
More extensive changes are likely to follow in HEAD, but this is as much
change as we want to back-patch.

Also clean up confusing code and incorrect documentation surrounding the
fsync_writethrough option.  Those changes shouldn't result in any actual
behavioral change, but I chose to back-patch them anyway to keep the
branches looking similar in this area.

In 9.0 and HEAD, also do some copy-editing on the WAL Reliability
documentation section.

Back-patch to all supported branches, since any of them might get used
on modern Linux versions.
2010-12-08 20:01:09 -05:00
Simon Riggs
e620ee35b2 Optimize commit_siblings in two ways to improve group commit.
First, avoid scanning the whole ProcArray once we know there
are at least commit_siblings active; second, skip the check
altogether if commit_siblings = 0.

Greg Smith
2010-12-08 18:48:03 +00:00
Tom Lane
b525bf771e Add KNNGIST support to contrib/pg_trgm.
Teodor Sigaev, with some revision by Tom
2010-12-04 00:16:21 -05:00
Tom Lane
b576757d7e Add external documentation for KNNGIST. 2010-12-03 23:49:06 -05:00
Robert Haas
c0a4d3e051 Clarify that LOCK TABLE requires a table-level privilege. 2010-12-03 09:29:14 -05:00
Tom Lane
d583f10b7e Create core infrastructure for KNNGIST.
This is a heavily revised version of builtin_knngist_core-0.9.  The
ordering operators are no longer mixed in with actual quals, which would
have confused not only humans but significant parts of the planner.
Instead, ordering operators are carried separately throughout planning and
execution.

Since the API for ambeginscan and amrescan functions had to be changed
anyway, this commit takes the opportunity to rationalize that a bit.
RelationGetIndexScan no longer forces a premature index_rescan call;
instead, callers of index_beginscan must call index_rescan too.  Aside from
making the AM-side initialization logic a bit less peculiar, this has the
advantage that we do not make a useless extra am_rescan call when there are
runtime key values.  AMs formerly could not assume that the key values
passed to amrescan were actually valid; now they can.

Teodor Sigaev and Tom Lane
2010-12-02 20:51:37 -05:00
Heikki Linnakangas
3c42efceb2 Be consistent about writing "[, ...]" instead "[,...]" in the docs.
Christoph Berg.
2010-11-29 11:53:27 +02:00
Tom Lane
c623365ff9 Point out in default_tablespace's description that CREATE DATABASE ignores it.
Per gripe from Andreas Scherbaum.
2010-11-27 16:08:32 -05:00
Robert Haas
fe7a32fc87 New contrib module, auth_delay.
KaiGai Kohei, with a few changes by me.
2010-11-27 07:22:25 -05:00
Tom Lane
d53c1255d9 A bit more wordsmithing on the PQping documentation. 2010-11-27 02:42:22 -05:00
Tom Lane
db96e1ccfc Rewrite PQping to be more like what we agreed to last week.
Basically, we want to distinguish all cases where the connection was
not made from those where it was.  A convenient proxy for this is to
see if we got a message with a SQLSTATE code back from the postmaster.
This presumes that the postmaster will always send us a SQLSTATE in
a failure message, which is true for 7.4 and later postmasters in
every case except fork failure.  (We could possibly complicate the
postmaster code to do something about that, but it seems not worth
the trouble, especially since pg_ctl's response for that case should
be to keep waiting anyway.)

If we did get a SQLSTATE from the postmaster, there are basically only
two cases, as per last week's discussion: ERRCODE_CANNOT_CONNECT_NOW
and everything else.  Any other error code implies that the postmaster
is in principle willing to accept connections, it just didn't like or
couldn't handle this particular request.  We want to make a special
case for ERRCODE_CANNOT_CONNECT_NOW so that "pg_ctl start -w" knows
it should keep waiting.

In passing, pick names for the enum constants that are a tad less
likely to present collision hazards in future.
2010-11-27 01:30:34 -05:00
Robert Haas
55109313f9 Add more ALTER <object> .. SET SCHEMA commands.
This adds support for changing the schema of a conversion, operator,
operator class, operator family, text search configuration, text search
dictionary, text search parser, or text search template.

Dimitri Fontaine, with assorted corrections and other kibitzing.
2010-11-26 17:31:54 -05:00
Bruce Momjian
afd7d9adca Add PQping and PQpingParams to libpq to allow detection of the server's
status, including a status where the server is running but refuses a
postgres connection.

Have pg_ctl use this new function.  This fixes the case where pg_ctl
reports that the server is not running (cannot connect) but in fact it
is running.
2010-11-25 13:09:38 -05:00
Bruce Momjian
7276ab5888 Document that a CHECKPOINT before taking a file system snapshot can
reduce recovery time.
2010-11-24 18:41:28 -05:00
Bruce Momjian
ba11258ccb When reporting the server as not responding, if the hostname was
supplied, also print the IP address.  This allows IPv4 and IPv6 failures
to be distinguished.  Also useful when a hostname resolves to multiple
IP addresses.

Also, remove use of inet_ntoa() and use our own inet_net_ntop() in all
places, including in libpq, because it is thread-safe.
2010-11-24 17:04:19 -05:00
Tom Lane
725d52d0c2 Create the system catalog infrastructure needed for KNNGIST.
This commit adds columns amoppurpose and amopsortfamily to pg_amop, and
column amcanorderbyop to pg_am.  For the moment all the entries in
amcanorderbyop are "false", since the underlying support isn't there yet.

Also, extend the CREATE OPERATOR CLASS/ALTER OPERATOR FAMILY commands with
[ FOR SEARCH | FOR ORDER BY sort_operator_family ] clauses to allow the new
columns of pg_amop to be populated, and create pg_dump support for dumping
that information.

I also added some documentation, although it's perhaps a bit premature
given that the feature doesn't do anything useful yet.

Teodor Sigaev, Robert Haas, Tom Lane
2010-11-24 14:22:17 -05:00
Peter Eisentraut
4fc09ad00c Add index entries for more functions
Also, move index entries into the tables, closer to the function description,
for easier editing in the future.  Resort some tables to be more alphabetical.
Remove the entries for count, max, min, and sum in the tutorial area, because
that was felt to be confusing.

Thom Brown
2010-11-24 00:00:34 +02:00
Peter Eisentraut
f2a4278330 Propagate ALTER TYPE operations to typed tables
This adds RESTRICT/CASCADE flags to ALTER TYPE ... ADD/DROP/ALTER/
RENAME ATTRIBUTE to control whether to alter typed tables as well.
2010-11-23 22:50:17 +02:00
Peter Eisentraut
fc946c39ae Remove useless whitespace at end of lines 2010-11-23 22:34:55 +02:00
Robert Haas
7504870778 Add new SQL function, format(text).
Currently, three conversion format specifiers are supported: %s for a
string, %L for an SQL literal, and %I for an SQL identifier.  The latter
two are deliberately designed not to overlap with what sprintf() already
supports, in case we want to add more of sprintf()'s functionality here
later.

Patch by Pavel Stehule, heavily revised by me.  Reviewed by Jeff Janes
and, in earlier versions, by Itagaki Takahiro and Tom Lane.
2010-11-20 22:33:27 -05:00
Alvaro Herrera
6cc2deb86e Add pg_describe_object function
This function is useful to obtain textual descriptions of objects as
stored in pg_depend.
2010-11-18 17:06:19 -03:00
Robert Haas
1fc2d60d8c Minor corrections to dummy_seclabel documentation.
Problems noted by Thom Brown.
2010-11-18 10:30:24 -05:00
Robert Haas
45768d10e3 Document the dummy_seclabel contrib module.
KaiGai Kohei, with editing and markup fixes by me.
2010-11-17 20:50:51 -05:00
Tom Lane
511e902b51 Make TRUNCATE ... RESTART IDENTITY restart sequences transactionally.
In the previous coding, we simply issued ALTER SEQUENCE RESTART commands,
which do not roll back on error.  This meant that an error between
truncating and committing left the sequences out of sync with the table
contents, with potentially bad consequences as were noted in a Warning on
the TRUNCATE man page.

To fix, create a new storage file (relfilenode) for a sequence that is to
be reset due to RESTART IDENTITY.  If the transaction aborts, we'll
automatically revert to the old storage file.  This acts just like a
rewriting ALTER TABLE operation.  A penalty is that we have to take
exclusive lock on the sequence, but since we've already got exclusive lock
on its owning table, that seems unlikely to be much of a problem.

The interaction of this with usual nontransactional behaviors of sequence
operations is a bit weird, but it's hard to see what would be completely
consistent.  Our choice is to discard cached-but-unissued sequence values
both when the RESTART is executed, and at rollback if any; but to not touch
the currval() state either time.

In passing, move the sequence reset operations to happen before not after
any AFTER TRUNCATE triggers are fired.  The previous ordering was not
logically sensible, but was forced by the need to minimize inconsistency
if the triggers caused an error.  Transactional rollback is a much better
solution to that.

Patch by Steve Singer, rather heavily adjusted by me.
2010-11-17 16:42:18 -05:00
Andrew Dunstan
b7fcf68e86 Require VALUE keyword when extending an enum type. Based on a patch from Alvaro Herrera. 2010-11-16 22:18:33 -05:00
Robert Haas
3134d8863e Add new buffers_backend_fsync field to pg_stat_bgwriter.
This new field counts the number of times that a backend which writes a
buffer out to the OS must also fsync() it.  This happens when the
bgwriter fsync request queue is full, and is generally detrimental to
performance, so it's good to know when it's happening.  Along the way,
log a new message at level DEBUG1 whenever we fail to hand off an fsync,
so that the problem can also be seen in examination of log files
(if the logging level is cranked up high enough).

Greg Smith, with minor tweaks by me.
2010-11-15 12:42:59 -05:00
Peter Eisentraut
19e231bbda Improved parallel make support
Replace for loops in makefiles with proper dependencies.  Parallel
make can now span across directories.  Also, make -k and make -q work
properly.

GNU make 3.80 or newer is now required.
2010-11-12 22:15:16 +02:00
Peter Eisentraut
d6754f67b0 docs -> documentation 2010-11-12 21:25:57 +02:00
Bruce Momjian
8f742d1cda Mention that pg_upgrade requires compatible 32/64-bit binaries. 2010-11-10 14:08:43 +00:00
Robert Haas
7ba6e4f0e0 Add monitoring function pg_last_xact_replay_timestamp.
Fujii Masao, with a little wordsmithing by me.
2010-11-09 22:52:19 -05:00
Alvaro Herrera
b47953f9c6 Merge docs for CREATE CONSTRAINT TRIGGER and CREATE TRIGGER 2010-11-09 16:52:46 -03:00
Tom Lane
0de92fd13c Improve pg_ctl's man page.
Explicitly document that the -o options of pg_ctl init mode are meant
for initdb, not postgres (Euler Taveira de Oliveira).  Assorted other
copy-editing (Tom).
2010-11-09 14:05:11 -05:00
Alvaro Herrera
73bc5218df plpython has plpy.Error instead of plpy.ERROR
Author: Marti Raudsepp <marti@juffo.org>
2010-11-09 11:02:17 -03:00
Tom Lane
543d22fc74 Prevent invoking I/O conversion casts via functional/attribute notation.
PG 8.4 added a built-in feature for casting pretty much any data type to
string types (text, varchar, etc).  We allowed this to work in any of the
historically-allowed syntaxes: CAST(x AS text), x::text, text(x), or
x.text.  However, multiple complaints have shown that it's too easy to
invoke such casts unintentionally in the latter two styles, particularly
field selection.  To cure the problem with the narrowest possible change
of behavior, disallow use of I/O conversion casts from composite types to
string types via functional/attribute syntax.  The new functionality is
still available via cast syntax.

In passing, document the equivalence of functional and attribute syntax
in a more visible place.
2010-11-07 13:03:19 -05:00
Tom Lane
e43fb604d6 Implement an "S" option for psql's \dn command.
\dn without "S" now hides all pg_XXX schemas as well as information_schema.
Thus, in a bare database you'll only see "public".  ("public" is considered
a user schema, not a system schema, mainly because it's droppable.)
Per discussion back in late September.
2010-11-06 21:41:14 -04:00
Tom Lane
5e8b7b0b73 Allow moddatetime's target column to be of type timestamptz.
Dirk Heinrichs
2010-11-04 16:34:47 -04:00
Peter Eisentraut
bd1ff97133 Change version number in release notes to 9.1alpha2 2010-10-30 23:37:36 +03:00
Peter Eisentraut
71165685b2 Last-minute updates to 9.1alpha2 release notes 2010-10-30 22:34:20 +03:00
Peter Eisentraut
e9eb4f4013 Release notes for 9.1alpha2 2010-10-28 17:42:58 +03:00
Peter Eisentraut
18d6437885 Remove obsolete release-alpha.sgml
This was only used while the final release notes for 9.0 were being prepared.
The alpha release notes are now in release-9.1.sgml.
2010-10-28 17:40:56 +03:00
Peter Eisentraut
2999f4ef35 Remove tabs from SGML 2010-10-28 17:40:27 +03:00
Robert Haas
2cae0aeb9c Revert "Correct WAL space calculation formula in docs."
This reverts commit 915116bc62.

Per discussion, the previous formula was in fact correct.

http://archives.postgresql.org/pgsql-docs/2010-10/msg00038.php
2010-10-27 21:24:02 -04:00
Robert Haas
0d5deebe11 Reorganize OS-specific details about write caching into a list.
Along the way, clarify that sdparm can be used on Linux as well as FreeBSD.
2010-10-27 21:20:58 -04:00
Robert Haas
5a12c808cf Note that effective_io_concurrency only affects bitmap heap scans.
Josh Kupershmidt
2010-10-26 21:44:14 -04:00
Heikki Linnakangas
5c38782cc8 Note explicitly that hash indexes are also not replicated because they're not
WAL-logged. Make the notice about the lack of WAL-logging more visible by
making it a <caution>. Also remove the false statement from hot standby
caveats section that hash indexes are not used during hot standby.
2010-10-26 22:53:41 +03:00
Tom Lane
84c123be1d Allow new values to be added to an existing enum type.
After much expenditure of effort, we've got this to the point where the
performance penalty is pretty minimal in typical cases.

Andrew Dunstan, reviewed by Brendan Jurd, Dean Rasheed, and Tom Lane
2010-10-24 23:05:41 -04:00
Peter Eisentraut
24b29ca8f9 Support suffix matching of host names in pg_hba.conf
A name starting with a dot can be used to match a suffix of the actual
host name (e.g., .example.com matches foo.example.com).
2010-10-24 15:54:00 +03:00
Heikki Linnakangas
57b80b4c46 Add semicolon, missed in previous patch. And update the keyword list in
the docs to reflect that OFF is now unreserved. Spotted by Tom Lane.
2010-10-22 18:38:31 +03:00
Bruce Momjian
71be8db5df Mention limited usefulness of .pgpass database field. 2010-10-21 22:00:11 +00:00
Tom Lane
529cb267a6 Improve handling of domains over arrays.
This patch eliminates various bizarre behaviors caused by sloppy thinking
about the difference between a domain type and its underlying array type.
In particular, the operation of updating one element of such an array
has to be considered as yielding a value of the underlying array type,
*not* a value of the domain, because there's no assurance that the
domain's CHECK constraints are still satisfied.  If we're intending to
store the result back into a domain column, we have to re-cast to the
domain type so that constraints are re-checked.

For similar reasons, such a domain can't be blindly matched to an ANYARRAY
polymorphic parameter, because the polymorphic function is likely to apply
array-ish operations that could invalidate the domain constraints.  For the
moment, we just forbid such matching.  We might later wish to insert an
automatic downcast to the underlying array type, but such a change should
also change matching of domains to ANYELEMENT for consistency.

To ensure that all such logic is rechecked, this patch removes the original
hack of setting a domain's pg_type.typelem field to match its base type;
the typelem will always be zero instead.  In those places where it's really
okay to look through the domain type with no other logic changes, use the
newly added get_base_element_type function in place of get_element_type.
catversion bumped due to change in pg_type contents.

Per bug #5717 from Richard Huxton and subsequent discussion.
2010-10-21 16:07:17 -04:00
Robert Haas
4b6623a7e8 Add some caveats to the contrib/isn docs. 2010-10-19 22:48:19 -04:00
Tom Lane
c33bfb8b9b Update storage.sgml to describe the 9.0 tablespace directory layout. 2010-10-19 21:53:26 -04:00
Bruce Momjian
f75d6a1b19 Add mention of using tools/fsync to test fsync methods. Restructure
recent wal_sync_method doc paragraph to be clearer.
2010-10-19 14:56:53 +00:00
Robert Haas
604ab08145 Add levenshtein_less_equal, optimized version for small distances.
Alexander Korotkov, heavily revised by me.
2010-10-19 09:51:06 -04:00
Peter Eisentraut
bc8624b15d Support key word 'all' in host column of pg_hba.conf 2010-10-18 22:15:44 +03:00
Bruce Momjian
433c7a6545 Document the tablespace directory "should" be empty, rather than "must"
be empty.  Because of binary migration usage, it might not be empty.
2010-10-18 18:15:58 +00:00
Robert Haas
9c73e20f38 Change example pg_hba.conf in docs to match altered pg_hba.conf.sample
Peter Eisentraut's recent patch to allow host names in pg_hba.conf
changed the contents of pg_hba.conf.sample

Fujii Masao
2010-10-18 12:18:45 -04:00
Alvaro Herrera
33ae03f400 Document that translate() removes characters in "from" that don't have
a corresponding "to" character.

Author: Josh Kupershmidt
2010-10-16 01:15:10 -03:00
Tom Lane
07f1264dda Allow WITH clauses to be attached to INSERT, UPDATE, DELETE statements.
This is not the hoped-for facility of using INSERT/UPDATE/DELETE inside
a WITH, but rather the other way around.  It seems useful in its own
right anyway.

Note: catversion bumped because, although the contents of stored rules
might look compatible, there's actually a subtle semantic change.
A single Query containing a WITH and INSERT...VALUES now represents
writing the WITH before the INSERT, not before the VALUES.  While it's
not clear that that matters to anyone, it seems like a good idea to
have it cited in the git history for catversion.h.

Original patch by Marko Tiikkaja, with updating and cleanup by
Hitoshi Harada.
2010-10-15 19:55:25 -04:00
Peter Eisentraut
6ab42ae367 Support host names in pg_hba.conf
Peter Eisentraut, reviewed by KaiGai Kohei and Tom Lane
2010-10-15 22:56:18 +03:00
Tom Lane
71d24466fb Document the DISTINCT noise word in the UNION/INTERSECT/EXCEPT constructs.
I also rearranged the order of the sections to match the logical order
of processing steps: the distinct-elimination implied by SELECT DISTINCT
happens before, not after, any UNION/INTERSECT/EXCEPT combination.

Per a suggestion from Hitoshi Harada.
2010-10-15 15:48:45 -04:00
Alvaro Herrera
0c9b166db5 Allow pg_ctl to register the service in either AUTO or DEMAND start type
Author: Quan Zongliang
Documentation updates by David Fetter
2010-10-15 14:30:03 -03:00
Simon Riggs
915116bc62 Correct WAL space calculation formula in docs.
Error pointed out by Fujii Masao, though not his patch.
2010-10-15 10:17:12 +01:00
Robert Haas
e468213358 Add pg_user_mappings to the table of system views. 2010-10-14 19:13:01 -04:00
Peter Eisentraut
402e11913f Remove reference.ced
This is a parsed DocBook DTD for the PSGML Emacs mode, but it hasn't
been updated since we switched to DocBook 4.2 about seven years ago.
Also, PSGML has deprecated this method of DTD parsing.
2010-10-14 23:16:46 +03:00
Peter Eisentraut
9f2d7f6e2d Complete the documentation of the USAGE privilege for foreign servers
The GRANT reference page failed to mention that the USAGE privilege
allows modifying associated user mappings, although this was already
documented on the CREATE/ALTER/DROP USER MAPPING pages.
2010-10-14 23:16:46 +03:00
Peter Eisentraut
80ada4c0db Document (compositeval).* field selection syntax 2010-10-14 23:16:46 +03:00
Simon Riggs
7085891784 Improvements to docs about pg_archive_cleanup and use of archives
Brendan Jurd
2010-10-14 19:30:15 +01:00
Peter Eisentraut
1a996d6c29 Remove executable permission from files where it doesn't belong 2010-10-13 22:30:25 +03:00
Peter Eisentraut
e8a47b3cb9 Add index entries for pg_stat* views 2010-10-13 21:29:10 +03:00
Peter Eisentraut
ceb5b787c6 Mention the default pg_ctl wait time in the -t option documentation 2010-10-13 20:24:51 +03:00
Peter Eisentraut
ef204db577 Make title capitalization consistent with surroundings 2010-10-13 20:05:16 +03:00
Peter Eisentraut
3bf79839c8 Put per-letter quicklinks at the top of the HTML bookindex page 2010-10-13 19:46:05 +03:00
Itagaki Takahiro
d0f876ca8c Accept 'public' as a pseudo-role name in has_table_privilege() and friends
to see if a particular privilege has been granted to PUBLIC.

The issue was reported by Jim Nasby.
Patch by Alvaro Herrera, and reviewed by KaiGai Kohei.
2010-10-13 14:37:23 +09:00
Alvaro Herrera
82659e0456 Fix typo 2010-10-12 13:24:10 -03:00
Tom Lane
2ec993a7cb Support triggers on views.
This patch adds the SQL-standard concept of an INSTEAD OF trigger, which
is fired instead of performing a physical insert/update/delete.  The
trigger function is passed the entire old and/or new rows of the view,
and must figure out what to do to the underlying tables to implement
the update.  So this feature can be used to implement updatable views
using trigger programming style rather than rule hacking.

In passing, this patch corrects the names of some columns in the
information_schema.triggers view.  It seems the SQL committee renamed
them somewhere between SQL:99 and SQL:2003.

Dean Rasheed, reviewed by Bernd Helmle; some additional hacking by me.
2010-10-10 13:45:07 -04:00
Peter Eisentraut
f7b15b5098 Extensive ECPG documentation improvements
Satoshi Nagayasu, reviewed and revised by Peter Eisentraut

Since this introduces new refentries that we probably don't want to publish as
man pages, tweak man page stylesheet to omit man pages without manvolnum
element.

Peter Eisentraut
2010-10-10 13:46:02 +03:00
Robert Haas
ab6d9f1641 Adjust EXPLAIN documentation, so that it's not unreasonably wide.
The new formatting matches what we do for COPY.

Per a complaint from Bruce Momjian.
2010-10-08 22:59:48 -04:00
Robert Haas
56ccff5980 Warn that views can be safely used to hide columns, but not rows. 2010-10-08 09:15:17 -04:00
Tom Lane
3ba11d3df2 Teach CLUSTER to use seqscan-and-sort when it's faster than indexscan.
... or at least, when the planner's cost estimates say it will be faster.

Leonardo Francalanci, reviewed by Itagaki Takahiro and Tom Lane
2010-10-07 20:00:28 -04:00
Robert Haas
694c56af2b Improve WAL reliability documentation, and add more cross-references to it.
In particular, we are now more explicit about the fact that you may need
wal_sync_method=fsync_writethrough for crash-safety on some platforms,
including MaxOS X.  There's also now an explicit caution against assuming
that the default setting of wal_sync_method is either crash-safe or best
for performance.
2010-10-07 12:22:00 -04:00
Simon Riggs
bdf45797ab Correct docs for behaviour of ALTER DATABASE .. RENAME during Hot Standby.
Actual behaviour did not match documented behaviour and we have agreed
that it should be the docs that change.

Spotted by Bernd Helmle
2010-10-06 00:19:05 +01:00
Tom Lane
d79a1a138e Undo some poorly-thought-out "proofreading improvements".
Per Tatsuhito Kasahara.
2010-10-05 18:48:13 -04:00
Tom Lane
50595b5fce Use a separate interpreter for each calling SQL userid in plperl and pltcl.
There are numerous methods by which a Perl or Tcl function can subvert
the behavior of another such function executed later; for example, by
redefining standard functions or operators called by the target function.
If the target function is SECURITY DEFINER, or is called by such a
function, this means that any ordinary SQL user with Perl or Tcl language
usage rights can do essentially anything with the privileges of the target
function's owner.

To close this security hole, create a separate Perl or Tcl interpreter for
each SQL userid under which plperl or pltcl functions are executed within
a session.  However, all plperlu or pltclu functions run within a session
still share a single interpreter, since they all execute at the trust
level of a database superuser anyway.

Note: this change results in a functionality loss when libperl has been
built without the "multiplicity" option: it's no longer possible to call
plperl functions under different userids in one session, since such a
libperl can't support multiple interpreters in one process.  However, such
a libperl already failed to support concurrent use of plperl and plperlu,
so it's likely that few people use such versions with Postgres.

Security: CVE-2010-3433
2010-09-30 17:18:51 -04:00
Robert Haas
1f0eb5de9e Adjust pg_archivecleanup docs to match message changes made 2010-06-17.
Erik Rijkers
2010-09-30 17:10:43 -04:00
Tom Lane
a5683ea042 Update release notes for releases 9.0.1, 8.4.5, 8.3.12, 8.2.18, 8.1.22,
8.0.26, and 7.4.30.
2010-09-30 14:27:15 -04:00
Peter Eisentraut
fe48d9471e Update ecpglib error code listing
Satoshi Nagayasu
2010-09-29 13:58:35 +03:00
Bruce Momjian
ae9acb6779 Mention that pg_upgrade requires write permission in the current
directory.

Per report from Harald Armin Massa.
2010-09-28 18:43:01 +00:00
Bruce Momjian
6b44b9ba56 Mention in pg_upgrade docs that the proper Win32 service name should be used.
Per report from Harald Armin Massa
2010-09-28 18:33:38 +00:00
Bruce Momjian
9c5f4f6cb5 Add mention of installing pg_upgrade_support in pg_upgrade doc section
title, per suggestion from Ian Barwick.
2010-09-28 17:25:20 +00:00
Alvaro Herrera
3bb27fb503 Add missing agg_type nonterminal description in new reference page. 2010-09-28 11:24:00 -04:00
Robert Haas
4d355a8336 Add a SECURITY LABEL command.
This is intended as infrastructure to support integration with label-based
mandatory access control systems such as SE-Linux. Further changes (mostly
hooks) will be needed, but this is a big chunk of it.

KaiGai Kohei and Robert Haas
2010-09-27 20:55:27 -04:00
Peter Eisentraut
e440e12c56 Add ALTER TYPE ... ADD/DROP/ALTER/RENAME ATTRIBUTE
Like with tables, this also requires allowing the existence of
composite types with zero attributes.

reviewed by KaiGai Kohei
2010-09-26 14:41:03 +03:00
Peter Eisentraut
635de8365f Fix man page markup for <cmdsynopsis> with multiple variants
Command synopses using <cmdsynopsis> with multiple variants previously used
<sbr> to break lines between variants.  The new man page toolchain introduced
in 9.0 makes a mess out of that, and that markup was probably wrong all along,
because <sbr> is supposed to break lines within a synopsis, not between them.
So fix that by using multiple <cmdsynopsis> elements inside <refsynopsisdiv>.

backpatched to 9.0
2010-09-25 09:57:09 +03:00
Robert Haas
3186560f46 Replace doc references to install-win32 with install-windows.
Windows is not necessarily 32-bit, any more.

As suggested by Mike Toews.
2010-09-23 17:45:39 -04:00
Robert Haas
0c8ed2dafb Fix inconsistent capitalization of "PL/pgSQL".
Josh Kupershmidt
2010-09-22 21:57:37 -04:00
Tom Lane
8687fbbe42 Do some copy-editing on the Git usage docs. 2010-09-22 20:22:26 -04:00
Tom Lane
651377933e Fix remaining stray references to CVS.
These are just cosmetic and don't seem worth back-patching far.
I put them into 9.0 just because it was trivial to do so.
2010-09-22 19:51:39 -04:00
Tom Lane
cb71efe164 Add assorted other documentation build targets to documentation gitignore. 2010-09-22 18:08:45 -04:00
Magnus Hagander
726f9ddcd1 Remove anonymous cvs instructions, and replace them with instructions
for git. Change other references from cvs to git as well.
2010-09-22 20:10:28 +02:00
Magnus Hagander
fe9b36fd59 Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
Tom Lane
2cdf6c1551 Fix a missed explanation of auto-analyze threshold, per Joe Miller. 2010-09-21 16:40:41 -04:00
Magnus Hagander
9f2e211386 Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Tom Lane
9eef3318a2 Fix several broken $PostgreSQL$ keywords. Noted while experimenting
with Magnus's script to remove these.
2010-09-19 16:17:45 +00:00
Robert Haas
48f0a28b48 Move pg_db_role_setting docs to correct place in alphabetical order. 2010-09-17 18:49:54 +00:00
Tom Lane
f7270a65b3 Stamp 9.0 release notes with expected release date; also some last-minute
copy-editing.
2010-09-16 18:15:21 +00:00
Tom Lane
7acf6f9bab Fix bad grammar. 2010-09-16 14:31:20 +00:00
Tom Lane
e1089e34eb Add a compatibility note about plpgsql's treatment of SELECT INTO rec.fld
when fld is of composite type.  Per discussion of bug #5644 from Valentine
Gogichashvili.
2010-09-15 17:45:57 +00:00
Robert Haas
d7a541a9a7 Elaborate on what gets stored in pg_authid.rolpasswd.
Also, add cross-reference from pg_shadow.passwd to pg_authid.rolpasswd and
fix a bit of markup I muffed in my previous commit.

Per discussion with Josh Kupershmidt.
2010-09-13 17:02:34 +00:00
Bruce Momjian
df57a5e898 Don't try aligning comments for new archive_command Win32 doc example;
it doesn't work.

Backpatch to 9.0.X.
2010-09-13 01:35:46 +00:00
Robert Haas
1400b738a0 Link from pg_shadow docs to pg_authid docs.
Per discussion with Josh Kupershmidt.
2010-09-13 01:23:35 +00:00
Bruce Momjian
39fa4d0b31 Re-add documentation for Win32 copy syntax for archive_command.
Backpatch to 9.0.X.
2010-09-12 13:47:12 +00:00
Tom Lane
0b81c7c417 Remove obsolete claim that gzip is needed while installing PG's documentation.
It isn't, now that we ship the docs as loose files rather than a sub-tarball.

Also adjust the wording in a couple of places to make the lists of required
software read more consistently.
2010-09-09 17:19:40 +00:00
Bruce Momjian
152c626105 Doc fixes:
- remove excessive table cells
- moving function parameters into function tags rather than having
  them being considered separate
- add return type column on XML2 contrib module functions list and
  removing return types from function
- add table header to XML2 contrib parameter table

Thom Brown

Backpatch to 9.0.X.
2010-09-09 00:48:22 +00:00
Peter Eisentraut
8586306048 Add tip about building plpython 2 and 3. Fix link to Python docs. 2010-09-08 20:35:51 +00:00
Peter Eisentraut
7cd082f907 Clarify that surrogate pairs are not encoded in UTF-8 directly 2010-09-07 18:54:09 +00:00
Tom Lane
303696c3b4 Install a data-type-based solution for protecting pg_get_expr().
Since the code underlying pg_get_expr() is not secure against malformed
input, and can't practically be made so, we need to prevent miscreants
from feeding arbitrary data to it.  We can do this securely by declaring
pg_get_expr() to take a new datatype "pg_node_tree" and declaring the
system catalog columns that hold nodeToString output to be of that type.
There is no way at SQL level to create a non-null value of type pg_node_tree.
Since the backend-internal operations that fill those catalog columns
operate below the SQL level, they are oblivious to the datatype relabeling
and don't need any changes.
2010-09-03 01:34:55 +00:00
Tom Lane
c89a1198f9 9.1alpha1 release notes. 2010-09-02 17:30:06 +00:00
Tom Lane
9b3c19d8f2 Clean up description of ecpg's dtcvfmtasc function.
Per KOIZUMI Satoru.
2010-09-02 14:57:04 +00:00
Tom Lane
f3b330ec01 Clean up some bad grammar and punctuation in description of ecpg's decimal
type.  Per KOIZUMI Satoru.
2010-09-02 14:46:44 +00:00
Tom Lane
21076076e9 Clarify documentation of handling of null arguments for aggregates.
Per discussion.
2010-09-01 18:22:29 +00:00
Tom Lane
4ff6856cb1 Improve release notes' description of Teodor's fixes for polygon overlaps
and contains operators.
2010-09-01 15:14:42 +00:00
Alvaro Herrera
e4b96380c3 Add missing markup for translatability 2010-08-31 05:57:54 +00:00
Tom Lane
a9a999bc1a Remove obsolete remark that PQprepare() is more flexible than PREPARE.
Spotted by Dmitriy Igrishin.  Back-patch to 8.2, which is when the PREPARE
statement was improved to allow parameter types to be omitted.
2010-08-29 15:19:05 +00:00
Tom Lane
73b3bd5574 Document the existence of the socket lock file under unix_socket_directory,
which is perhaps not a terribly good spot for it but there doesn't seem to be
a better place.  Also add a source-code comment pointing out a couple reasons
for having a separate lock file.  Per suggestion from Greg Smith.
2010-08-26 22:00:19 +00:00
Tom Lane
4832291655 Explain automatic creation (or lack of it) of indexes for the various types
of constraints.

Kevin Grittner
2010-08-26 21:08:35 +00:00
Bruce Momjian
13e6d6c5da Remove docs for "Incrementally Updated Backups" because it was of
questionable reliability;  information moved to a wiki:

	http://wiki.postgresql.org/wiki/Incrementally_Updated_Backups

Backpatch to 9.0.
2010-08-25 23:55:54 +00:00
Tom Lane
9389ac8928 Document filtering dictionaries in textsearch.sgml.
While at it, copy-edit the description of prefix-match marker support in
synonym dictionaries, and clarify the description of the default unaccent
dictionary a bit more.
2010-08-25 21:42:55 +00:00
Bruce Momjian
0d812f1966 Update release notes, per comments from Simon Riggs. 2010-08-25 19:41:38 +00:00
Peter Eisentraut
52ba9a537b Add missing description of reloftype field 2010-08-25 18:18:41 +00:00
Tom Lane
7fc614c698 Docs review for unaccent: fix grammar, markup, etc. 2010-08-25 02:12:00 +00:00
Tom Lane
f121c408e2 Update 9.0 release notes for changes since beta4.
Note: as usual, bug fixes that were also applied in back branches are not
considered material to include in a new major release's notes.
2010-08-25 00:47:57 +00:00
Tom Lane
7dc04cd204 Further editing of release notes. 2010-08-24 23:45:32 +00:00
Bruce Momjian
b1e2e9c1ef Fix awkward wording in Incrementally Updated Backups docs.
Backpatch to 9.0.X.
2010-08-24 15:22:12 +00:00
Bruce Momjian
f5878cd38f Clarifications for 9.0 release notes
Josh Berkus
2010-08-24 14:46:29 +00:00
Bruce Momjian
c107c35df3 Update autovacuum_freeze_max_age documentation to mention that the
default is low because of pg_clog file removal.

Backpatch to 9.0.X.
2010-08-24 13:32:25 +00:00
Itagaki Takahiro
49b27ab551 Add string functions: concat(), concat_ws(), left(), right(), and reverse().
Pavel Stehule, reviewed by me.
2010-08-24 06:30:44 +00:00
Tom Lane
005e427a22 Make an editorial pass over the 9.0 release notes.
This is mostly about grammar, style, and presentation, though I did find
a few small factual errors.
2010-08-23 02:43:25 +00:00
Bruce Momjian
d8986332cb Document that autovacuum_freeze_max_age is used for pg_clog recycling.
We already mentioned xid wraparound.
2010-08-22 02:37:32 +00:00
Magnus Hagander
946045f04d Add vacuum and analyze counters to pg_stat_*_tables views. 2010-08-21 10:59:17 +00:00
Tom Lane
5344945810 Avoid saying "random" when randomness is not actually meant.
Per Thom Brown.
2010-08-20 13:59:45 +00:00
Tom Lane
79dc97a401 Bring some sanity to the trace_recovery_messages code and docs.
Per gripe from Fujii Masao, though this is not exactly his proposed patch.
Categorize as DEVELOPER_OPTIONS and set context PGC_SIGHUP, as per Fujii,
but set the default to LOG because higher values aren't really sensible
(see the code for trace_recovery()).  Fix the documentation to agree with
the code and to try to explain what the variable actually does.  Get rid
of no-op calls trace_recovery(LOG), which accomplish nothing except to
demonstrate that this option confuses even its author.
2010-08-19 22:55:01 +00:00
Peter Eisentraut
3f11971916 Remove extra newlines at end and beginning of files, add missing newlines
at end of files.
2010-08-19 05:57:36 +00:00
Peter Eisentraut
7b243aa666 Revert: looks like Binary Large OBject[sic] wasn't a misspelling 2010-08-17 04:47:04 +00:00
Peter Eisentraut
5194b9d049 Spell and markup checking 2010-08-17 04:37:21 +00:00
Tom Lane
f0f46ed66a Assorted improvements to backup/restore documentation, per Thom Brown. 2010-08-15 23:04:49 +00:00
Tom Lane
521c26ebf7 Clarify bit numbering in get_bit/set_bit etc. Per gripe from
Boszormenyi Zoltan.
2010-08-15 21:26:36 +00:00
Tom Lane
d915a275c1 Improve pgarchivecleanup documentation, per comments from Satoshi Nagayasu. 2010-08-15 20:20:30 +00:00
Tom Lane
82954d49e4 Avoid unnecessary use of TPS acronym.
Robert Haas, per gripe from Erik Rijkers
2010-08-15 19:46:24 +00:00
Robert Haas
4730a54083 Add link and additional index reference to pgcrypto.
Kevin Grittner, with markup adjustments.
2010-08-15 01:57:03 +00:00
Tom Lane
b6e06942c6 Add a \sf (show function) command to psql, for those times when you need to
look at a function but don't wish to fire up an editor.

Pavel Stehule, reviewed by Jan Urbanski
2010-08-14 13:59:49 +00:00
Robert Haas
27f145a40e Further dtrace adjustments for the backend-IDs-in-relpath patch.
Update the documentation, and back out a few ill-considered changes
whose folly I failed to realize for failure to read the documentation.
2010-08-14 02:22:10 +00:00
Robert Haas
debcec7dc3 Include the backend ID in the relpath of temporary relations.
This allows us to reliably remove all leftover temporary relation
files on cluster startup without reference to system catalogs or WAL;
therefore, we no longer include temporary relations in XLOG_XACT_COMMIT
and XLOG_XACT_ABORT WAL records.

Since these changes require including a backend ID in each
SharedInvalSmgrMsg, the size of the SharedInvalidationMessage.id
field has been reduced from two bytes to one, and the maximum number
of connections has been reduced from INT_MAX / 4 to 2^23-1.  It would
be possible to remove these restrictions by increasing the size of
SharedInvalidationMessage by 4 bytes, but right now that doesn't seem
like a good trade-off.

Review by Jaime Casanova and Tom Lane.
2010-08-13 20:10:54 +00:00
Tom Lane
a0b7b717a4 Add xml_is_well_formed, xml_is_well_formed_document, xml_is_well_formed_content
functions to the core XML code.  Per discussion, the former depends on
XMLOPTION while the others do not.  These supersede a version previously
offered by contrib/xml2.

Mike Fowler, reviewed by Pavel Stehule
2010-08-13 18:36:26 +00:00
Robert Haas
9b0a86861a Reorder docs on lexical structure slightly for clarity.
Thom Brown
2010-08-13 01:12:38 +00:00
Tom Lane
5a4e19abe6 Add the ability to compute per-statement latencies (ie, average execution
times) to pgbench.

Florian Pflug, reviewed by Greg Smith
2010-08-12 20:39:39 +00:00
Bruce Momjian
47eeb5e662 Back out syntax case changes --- seems they were intentional. 2010-08-12 02:03:58 +00:00
Tom Lane
568e709372 Extend psql's \e and \ef commands so that a line number can be specified,
and the editor's cursor will be initially placed on that line.  In \e the
lines are counted with respect to the query buffer, while in \ef they are
counted with line 1 = first line of function body.  These choices are useful
for positioning the cursor on the line of a previously-reported error.

To avoid assumptions about what switch the user's editor takes for this
purpose, invent a new psql variable EDITOR_LINENUMBER_SWITCH with (at
present) no default value.

One incompatibility from previous behavior is that "\e 1234" will now
take "1234" as a line number not a file name.  There are at least two
ways to select a numerically-named file if you really want to.

Pavel Stehule, reviewed by Jan Urbanski, with further editing by Robert Haas
and Tom Lane
2010-08-12 00:40:59 +00:00
Bruce Momjian
a4a3ef344e Properly lowercase identifiers, uppercase keywords, in doc examples 2010-08-11 21:48:51 +00:00
Robert Haas
741396936e Fix one more incorrect errno definition in the ECPG manual.
Again, back-patch all the way to 7.4.
2010-08-11 19:03:16 +00:00
Robert Haas
ffcd7a1167 Fix incorrect errno definitions in ECPG manual.
ecpgerrno.h hasn't materially changed since PostgreSQL 7.4, so this has
been wrong for a very long time.  Back-patch all the way.

Satoshi Nagayasu
2010-08-11 18:52:02 +00:00
Tom Lane
33f43725fb Add three-parameter forms of array_to_string and string_to_array, to allow
better handling of NULL elements within the arrays.  The third parameter
is a string that should be used to represent a NULL element, or should
be translated into a NULL element, respectively.  If the third parameter
is NULL it behaves the same as the two-parameter form.

There are two incompatible changes in the behavior of the two-parameter form
of string_to_array.  First, it will return an empty (zero-element) array
rather than NULL when the input string is of zero length.  Second, if the
field separator is NULL, the function splits the string into individual
characters, rather than returning NULL as before.  These two changes make
this form fully compatible with the behavior of the new three-parameter form.

Pavel Stehule, reviewed by Brendan Jurd
2010-08-10 21:51:00 +00:00
Peter Eisentraut
5148a04636 Add some links to tables 2010-08-10 20:42:01 +00:00
Peter Eisentraut
6d5afc2003 <example> is a floating element, so it's use is inappropriate when the
surrounding text refers to the example inline.
2010-08-10 20:41:27 +00:00
Robert Haas
20bf5e03e5 Use double quotes rather than double quotes for libpq target anchors.
Per observation from Tom Lane that the previous patch to these files was
not consistent with what is done elsewhere in the docs.
2010-08-10 02:56:46 +00:00
Robert Haas
477319829c Provide stable target anchors for libpq functions.
Daniele Varrazzo
2010-08-09 12:00:24 +00:00
Tom Lane
2e35d4f35c Modify the handling of RAISE without parameters so that the error it throws
can be caught in the same places that could catch an ordinary RAISE ERROR
in the same location.  The previous coding insisted on throwing the error
from the block containing the active exception handler; which is arguably
more surprising, and definitely unlike Oracle's behavior.

Not back-patching, since this is a pretty obscure corner case.  The risk
of breaking somebody's code in a minor version update seems to outweigh
any possible benefit.

Piyush Newe, reviewed by David Fetter
2010-08-09 02:25:07 +00:00
Tom Lane
4dfc457854 Add an xpath_exists() function. This is equivalent to XMLEXISTS except that
it offers support for namespace mapping.

Mike Fowler, reviewed by David Fetter
2010-08-08 19:15:27 +00:00
Tom Lane
46aa77c7bd Add stats functions and views to provide access to a transaction's own
statistics counts.  These numbers are being accumulated but haven't yet been
transmitted to the collector (and won't be, until the transaction ends).
For some purposes, though, it's handy to be able to look at them.

Joel Jacobson, reviewed by Itagaki Takahiro
2010-08-08 16:27:06 +00:00
Bruce Momjian
83f5491c63 Fix 9.0 release notes vacuum mention, not -> now
Peter Fokkinga
2010-08-07 13:07:06 +00:00
Tom Lane
e49ae8d3bc Recognize functional dependency on primary keys. This allows a table's
other columns to be referenced without listing them in GROUP BY, so long as
the primary key column(s) are listed in GROUP BY.

Eventually we should also allow functional dependency on a UNIQUE constraint
when the columns are marked NOT NULL, but that has to wait until NOT NULL
constraints are represented in pg_constraint, because we need to have
pg_constraint OIDs for all the conditions needed to ensure functional
dependency.

Peter Eisentraut, reviewed by Alex Hunsaker and Tom Lane
2010-08-07 02:44:09 +00:00
Peter Eisentraut
ce6ce1a09d Fix indexterm spelling 2010-08-06 20:09:03 +00:00
Tom Lane
4672093a8e Let's put that </link> in a sane place ... 2010-08-06 19:13:13 +00:00
Tom Lane
a209b9850f Fix inaccurate description of deferrable unique constraints, per Dean Rasheed. 2010-08-06 18:55:24 +00:00
Robert Haas
7ae6163a4e Rearrange "big features" section of the release notes.
Josh Berkus
2010-08-06 17:56:43 +00:00
Peter Eisentraut
2e6dc5328c Document which Python environment variables affect PL/Python 2010-08-05 18:36:33 +00:00
Tom Lane
b0c451e145 Remove the single-argument form of string_agg(). It added nothing much in
functionality, while creating an ambiguity in usage with ORDER BY that at
least two people have already gotten seriously confused by.  Also, add an
opr_sanity test to check that we don't in future violate the newly minted
policy of not having built-in aggregates with the same name and different
numbers of parameters.  Per discussion of a complaint from Thom Brown.
2010-08-05 18:21:19 +00:00
Peter Eisentraut
641459f269 Add xmlexists function
by Mike Fowler, reviewed by Peter Eisentraut
2010-08-05 04:21:54 +00:00
Tom Lane
ba19b23676 Fix sloppy mistakes in documentation of PQescapeLiteral and PQescapeIdentifier.
Noted by Dmitriy Igrishin.
2010-08-04 16:27:05 +00:00
Tom Lane
72150db0c5 Add an example to clarify the use of ORDER BY in multiple-argument
aggregates.  People seem to not get this right without help.
2010-08-04 15:27:57 +00:00
Tom Lane
e20df55cca Fix mangled grammar. 2010-08-03 19:02:21 +00:00
Tom Lane
5b92ef44dd Kibitzing on \conninfo patch: adjust the order of field output to match
the parameters of \connect, and fix oversight of not enabling translation
of the messages.  Also, adjust \connect's similar messages to match, and
deal with 8.2-era violation of basic translatability guidelines there.
2010-08-03 18:33:09 +00:00
Bruce Momjian
83527b1339 Add EXPLAIN documentation example.
gabrielle <gorthx@gmail.com>
2010-08-03 17:14:19 +00:00
Tom Lane
8c19d14be5 Fix markup, other minor editing for recent btree_gist doc changes. 2010-08-03 15:15:31 +00:00
Robert Haas
57d9aefcaa Teach levenshtein() about multi-byte characters.
Based on a patch by, and further ideas from, Alexander Korotkov.
2010-08-02 23:20:23 +00:00
Robert Haas
ad17ff95cf Add btree_gist support for searching on "not equals".
Jeff Davis, with slight editorialization by me.
2010-08-02 16:26:48 +00:00
Tom Lane
478a2c1208 Update release notes for 9.0 beta 4. Back-patch some changes that were made only in HEAD. 2010-07-29 21:18:11 +00:00
Peter Eisentraut
66424a2848 Fix indentation of verbatim block elements
Block elements with verbatim formatting (literallayout, programlisting,
screen, synopsis) should be aligned at column 0 independent of the surrounding
SGML, because whitespace is significant, and indenting them creates erratic
whitespace in the output.  The CSS stylesheets already take care of indenting
the output.

Assorted markup improvements to go along with it.
2010-07-29 19:34:41 +00:00
Tom Lane
5b48e2ecd4 Work around a documentation toolchain problem by replacing the "AIX-fixlevels"
table with a <variablelist> carrying the same information.  Previously the
9.0 documentation was failing to build as a US-size PDF file.  It's quite
obscure what the real problem is or why this avoids it, but we need a hack
now so we can build docs for beta4.

In passing do a bit of editing in the AIX installation docs, in particular
remove a long-obsolete claim that the regression tests are likely to fail.
2010-07-29 18:29:52 +00:00
Simon Riggs
2dbbda02e7 Reduce lock levels of CREATE TRIGGER and some ALTER TABLE, CREATE RULE actions.
Avoid hard-coding lockmode used for many altering DDL commands, allowing easier
future changes of lock levels. Implementation of initial analysis on DDL
sub-commands, so that many lock levels are now at ShareUpdateExclusiveLock or
ShareRowExclusiveLock, allowing certain DDL not to block reads/writes.
First of number of planned changes in this area; additional docs required
when full project complete.
2010-07-28 05:22:24 +00:00
Robert Haas
6d16902eda Add ssl_cipher() and ssl_version() functions to contrib/sslinfo.
Review by Dave Page.
2010-07-27 23:43:42 +00:00
Robert Haas
9b6b0b0d9a Fix typo in PL/pgsql code example.
Backpatch to 8.4.

Marc Cousin.  Review by Kevin Grittner.
2010-07-27 20:02:06 +00:00
Peter Eisentraut
d33cfbd2e0 Spelling fixes 2010-07-27 19:01:16 +00:00
Peter Eisentraut
314ef0ec36 Fix grammar
backpatched to 8.1
2010-07-26 20:28:49 +00:00
Peter Eisentraut
b4d7ea5f6e Add table creation and population to example
from John Gage
2010-07-26 20:14:05 +00:00
Bruce Momjian
d017f8359c Remove tabs from sgml file. 2010-07-26 01:43:52 +00:00
Robert Haas
a3b012b560 CREATE TABLE IF NOT EXISTS.
Reviewed by Bernd Helmle.
2010-07-25 23:21:22 +00:00
Peter Eisentraut
edff75bef8 Add INSERT statement to example so that it can be reproduced
from John Gage
2010-07-25 08:30:42 +00:00
Bruce Momjian
f31b1fd7c1 Prevent pg_upgrade from migrating databases that use reg* data types
where the oid is not preserved by pg_upgrade (everything but pg_type).
Update documentation.

Per bug report from depstein@alliedtesting.com.
2010-07-25 03:28:32 +00:00
Peter Eisentraut
c3f903aca7 Fix typo 2010-07-24 16:46:57 +00:00
Peter Eisentraut
caf2d69ee0 Tidy up boolean data type page
by Thom Brown
2010-07-24 12:17:35 +00:00
Peter Eisentraut
f581215660 Remove tab from SGML file 2010-07-24 12:16:20 +00:00
Robert Haas
ce68df468a Add options to force quoting of all identifiers.
I've added a quote_all_identifiers GUC which affects the behavior
of the backend, and a --quote-all-identifiers argument to pg_dump
and pg_dumpall which sets the GUC and also affects the quoting done
internally by those applications.

Design by Tom Lane; review by Alex Hunsaker; in response to bug #5488
filed by Hartmut Goebel.
2010-07-22 01:22:35 +00:00
Robert Haas
013ed0bd81 Add \conninfo command to psql, to show current connection info.
David Christensen. Reviewed by Steve Singer.  Some further changes by me.
2010-07-20 03:54:19 +00:00
Robert Haas
5ffaa9005c Add restart_after_crash GUC.
Normally, we automatically restart after a backend crash, but in some
cases when PostgreSQL is invoked by clusterware it may be desirable to
suppress this behavior, so we provide an option which does this.
Since no existing GUC group quite fits, create a new group called
"error handling options" for this and the previously undocumented GUC
exit_on_error, which is now documented.

Review by Fujii Masao.
2010-07-20 00:47:53 +00:00
Robert Haas
0839f312e9 Change the default value of standard_conforming_strings to on.
This change should be publicized to driver maintainers at once and
release-noted as an incompatibility with previous releases.
2010-07-20 00:34:44 +00:00
Peter Eisentraut
040aee295e Add server authentication over Unix-domain sockets
This adds a libpq connection parameter requirepeer that specifies the user
name that the server process is expected to run under.

reviewed by KaiGai Kohei
2010-07-18 11:37:26 +00:00
Tom Lane
3ec694e17b Add a log_file_mode GUC that allows control of the file permissions set on
log files created by the syslogger process.

In passing, make unix_file_permissions display its value in octal, same
as log_file_mode now does.

Martin Pihlak
2010-07-16 22:25:51 +00:00
Heikki Linnakangas
6b0937cd58 Fix typo spotted by Thom Brown. 2010-07-16 11:35:40 +00:00
Heikki Linnakangas
8f9c461175 Add a paragraph explaining what restartpoints are. Mention that
wal_keep_segments does not take effect during recovery.

Fujii Masao
2010-07-16 11:20:23 +00:00
Tom Lane
7590ddb3eb Add support for dividing money by money (yielding a float8 result) and for
casting between money and numeric.

Andy Balholm, reviewed by Kevin Grittner
2010-07-16 02:15:56 +00:00
Tom Lane
25be9b1d54 Use an <xref> for restore_command reference. Marko Tiikkaja 2010-07-14 22:04:21 +00:00
Tom Lane
d494e685c5 Allow full SSL certificate verification (wherein libpq checks its host name
parameter against server cert's CN field) to succeed in the case where
both host and hostaddr are specified.  As with the existing precedents
for Kerberos, GSSAPI, SSPI, it is the calling application's responsibility
that host and hostaddr match up --- we just use the host name as given.
Per bug #5559 from Christopher Head.

In passing, make the error handling and messages for the no-host-name-given
failure more consistent among these four cases, and correct a lie in the
documentation: we don't attempt to reverse-lookup host from hostaddr
if host is missing.

Back-patch to 8.4 where SSL cert verification was introduced.
2010-07-14 17:09:45 +00:00
Tom Lane
1cc29fe7c6 Teach EXPLAIN to print PARAM_EXEC Params as the referenced expressions,
rather than just $N.  This brings the display of nestloop-inner-indexscan
plans back to where it's been, and incidentally improves the display of
SubPlan parameters as well.  In passing, simplify the EXPLAIN code by
having it deal primarily in the PlanState tree rather than separately
searching Plan and PlanState trees.  This is noticeably cleaner for
subplans, and about a wash elsewhere.

One small difference from previous behavior is that EXPLAIN will no longer
qualify local variable references in inner-indexscan plan nodes, since it
no longer sees such nodes as possibly referencing multiple tables.  Vars
referenced through PARAM_EXEC Params are still forcibly qualified, though,
so I don't think the display is any more confusing than before.  Adjust a
couple of examples in the documentation to match this behavior.
2010-07-13 20:57:19 +00:00
Bruce Momjian
f0fd939655 Restore pl/pgsql default install release note item. 2010-07-12 18:30:36 +00:00
Bruce Momjian
5d4faf07ab 9.0 release note improvements
Erik Rijkers
2010-07-12 18:25:21 +00:00
Bruce Momjian
d89e72c475 Spellcheck 9.0 release notes. 2010-07-12 17:47:39 +00:00
Tom Lane
4720ad515e Add a note about preferred window width to the section about code
formatting conventions.
2010-07-10 18:37:00 +00:00
Robert Haas
2e6d24a621 Clarify that "psql -c" ignores psqlrc files.
Tim Landscheidt
2010-07-10 00:50:24 +00:00
Tom Lane
b40466c337 Stamp HEAD as 9.1devel.
(And there was much rejoicing.)
2010-07-09 04:10:58 +00:00
Marc G. Fournier
1084f31770 tag beta3 2010-07-09 02:43:12 +00:00
Bruce Momjian
c4314e150d Update release notes for 9.0 beta 3. 2010-07-08 22:26:14 +00:00
Peter Eisentraut
4b7f50eb81 Some small changes for plperl.sgml:
- wrapped long code-lines, for pdf
   - typo

Erik Rijkers
2010-07-08 21:35:33 +00:00
Peter Eisentraut
803716013d Install safeguard against running PL/Python 2 and 3 in the same session 2010-07-08 18:42:12 +00:00
Bruce Momjian
c9b142d965 Doc change: effected -> affected, per correction from Matthew Wakeling 2010-07-08 16:44:12 +00:00
Tom Lane
7f882768dc Add a cross-reference to precedence information to CREATE OPERATOR's
documentation.  Per suggestion from Marc Cousin.
2010-07-08 16:30:13 +00:00
Magnus Hagander
44b0d1671a Add support for TCP keepalives on Windows, both for backend and the new
libpq support.
2010-07-08 10:20:14 +00:00
Bruce Momjian
e3243488b0 Document the interaction of write-barrier-enabled file systems, and BBU
caches, per June email thread.
2010-07-07 14:42:09 +00:00
Robert Haas
20be0d480a Make log_temp_files based on kB, and revert docs & comments to match.
Per extensive discussion on pgsql-hackers.  We are deliberately not
back-patching this even though the behavior of 8.3 and 8.4 is
unquestionably broken, for fear of breaking existing users of this
parameter.  This incompatibility should be release-noted.
2010-07-06 22:55:26 +00:00
Peter Eisentraut
46ee42b816 Add note that using PL/Python 2 and 3 in the same session will probably crash 2010-07-06 21:37:31 +00:00
Robert Haas
5acd417c8f Support setting the keepalive idle time on MacOS X.
MacOS X uses TCP_KEEPALIVE rather than TCP_KEEPIDLE for this purpose.

Thanks to Fujii Masao for the review.
2010-07-06 21:14:25 +00:00
Tom Lane
291a957745 Split the LDFLAGS make variable into two parts: LDFLAGS is now used for
linking both executables and shared libraries, and we add on LDFLAGS_EX when
linking executables or LDFLAGS_SL when linking shared libraries.  This
provides a significantly cleaner way of dealing with link-time switches than
the former behavior.  Also, make sure that the various platform-specific
%.so: %.o rules incorporate LDFLAGS and LDFLAGS_SL; most of them missed that
before.  (I did not add these variables for the platforms that invoke $(LD)
directly, however.  It's not clear if we can do that safely, since for the
most part we assume these variables use CC command-line syntax.)

Per gripe from Aaron Swenson and subsequent investigation.
2010-07-05 18:54:38 +00:00
Bruce Momjian
a520b78f3e Remove SGML tab. 2010-07-03 22:52:25 +00:00
Tom Lane
aceedd88f6 Make vacuum_defer_cleanup_age be PGC_SIGHUP level, since it's not sensible
to have different values in different processes of the primary server.
Also put it into the "Streaming Replication" GUC category; it doesn't belong
in "Standby Servers" because you use it on the master not the standby.
In passing also correct guc.c's idea of wal_keep_segments' category.
2010-07-03 21:23:58 +00:00
Tom Lane
e76c1a0f4d Replace max_standby_delay with two parameters, max_standby_archive_delay and
max_standby_streaming_delay, and revise the implementation to avoid assuming
that timestamps found in WAL records can meaningfully be compared to clock
time on the standby server.  Instead, the delay limits are compared to the
elapsed time since we last obtained a new WAL segment from archive or since
we were last "caught up" to WAL data arriving via streaming replication.
This avoids problems with clock skew between primary and standby, as well
as other corner cases that the original coding would misbehave in, such
as the primary server having significant idle time between transactions.
Per my complaint some time ago and considerable ensuing discussion.

Do some desultory editing on the hot standby documentation, too.
2010-07-03 20:43:58 +00:00
Bruce Momjian
e6a7416e28 Document more clearly on XML namespaces inside xpath function
Nikolay Samokhvalov
2010-07-03 17:21:48 +00:00
Tom Lane
4b200a2769 Fix assorted misstatements and poor wording in the descriptions of the I/O
formats for geometric types.  Per bug #5536 from Jon Strait, and my own
testing.

Back-patch to all supported branches, since this doco has been wrong right
along -- we certainly haven't changed the I/O behavior of these types in
many years.
2010-07-03 04:03:06 +00:00
Robert Haas
276a8f4e99 Additional cross-references to window functions documentation.
Erik Rijkers
2010-07-03 02:57:46 +00:00
Robert Haas
ce51747673 Remove hstore % text[] operator; use slice() function instead.
David Wheeler, with one small correction by me.
2010-07-02 20:36:49 +00:00
Bruce Momjian
c37e009678 Update 9.0 release notes so streaming replication and hot standby is not
assumed to require continuous archiving.

Per report from Fujii Masao
2010-07-01 02:33:21 +00:00
Andrew Dunstan
71a4d5c642 Correct missing/misspelled surname. 2010-06-30 14:25:24 +00:00
Bruce Momjian
67bc0b2b90 Document that /bin/true on Windows is implemented by 'REM'. 2010-06-30 02:43:10 +00:00
Bruce Momjian
e1f8d97e49 In documentation, use "lower case"/"upper case" consistently (use space
between words).
2010-06-29 22:29:14 +00:00
Bruce Momjian
5016b69cf1 Document that shared_preload_libraries and local_preload_libraries
lowercase the library names, unless double-quoted.
2010-06-29 22:23:02 +00:00
Tom Lane
5dbf489868 Add compatibility note warning that plpgsql is now stricter about the column
datatypes of composite results, per gripe from Marcel Asio.  Some desultory
copy-editing of plpgsql-related sections of the release notes.
2010-06-29 21:20:19 +00:00
Peter Eisentraut
e849b49406 Add note clarifying that XML fragments don't accept DTDs
per complaint from Craig Ringer
2010-06-29 00:03:39 +00:00
Bruce Momjian
93c81c6831 Fix doc double-wording in non-durable patch.
Report from Thom Brown
2010-06-28 22:46:11 +00:00
Bruce Momjian
c65f299894 Add new Non-Durable Settings documentation section.
Document that synchronous_commit can lose transactions in a db crash,
not just a OS crash.
2010-06-28 21:57:17 +00:00
Peter Eisentraut
ee37fb57c0 Add guidelines for formatting errcontext strings 2010-06-28 17:48:26 +00:00
Bruce Momjian
7bfc0e5e79 Remove tab from SGML. 2010-06-28 12:30:32 +00:00
Robert Haas
e351593922 Rewrite docs for new libpq keepalive parameters.
The revised documentation makes it more clear that these are client-side
parameters, rather than server side parameters.  It also puts the main
point of each parameter first, and consolidates the conditions under which
it might be ignored in a single list at the end.
2010-06-25 17:08:09 +00:00
Robert Haas
7c49bf9d5d Make AIX suggestions about disabling ipv6 more version-sensitive.
Chris Browne, based on a report from John Pierce.
2010-06-25 16:55:49 +00:00
Simon Riggs
3bdd23932b Fix log_temp_files docs and comments to say bytes not kilobytes.
stat(2) field st_size returns bytes not kilobytes.
Bug found during recent performance tuning for PostgreSQL user.
2010-06-25 13:11:25 +00:00
Robert Haas
fd3499be2f Some copy-editing of the Hot Standby documentation.
Thanks to Joshua Tolley for the review.
2010-06-24 19:50:25 +00:00
Robert Haas
dedb500e8a Further 9.0 release notes updates.
Josh Berkus
2010-06-24 18:33:05 +00:00
Bruce Momjian
f5dc03dc69 Mention that when alter rewrites a table, indexes are also rebuilt. 2010-06-24 14:57:21 +00:00
Robert Haas
d8cd283a08 Add TCP keepalive support to libpq.
This adds four additional connection parameters to libpq: keepalives,
keepalives_idle, keepalives_count, and keepalives_interval.
keepalives default to on, per discussion, but can be turned off by
specifying keepalives=0.  The remaining parameters, where supported,
can be used to adjust how often keepalives are sent and how many
can be lost before the connection is broken.

The immediate motivation for this patch is to make sure that
walreceiver will eventually notice if the master reboots without
closing the connection cleanly, but it should be helpful in other
cases as well.

Tollef Fog Heen, Fujii Masao, and me.
2010-06-23 21:54:13 +00:00
Bruce Momjian
7b6f29006e Update pg_ctl docs to explain server output behavior differences on
win32 and non-win32 platforms.
2010-06-22 16:19:36 +00:00
Robert Haas
f974212320 Deprecate the use of => as an operator name.
In HEAD, emit a warning when an operator named => is defined.
In both HEAD and the backbranches (except in 8.2, where contrib
modules do not have documentation), document that hstore's text =>
text operator may be removed in a future release, and encourage the
use of the hstore(text, text) function instead.  This function only
exists in HEAD (previously, it was called tconvert), so backpatch
it back to 8.2, when hstore was added.  Per discussion.
2010-06-22 11:36:16 +00:00
Robert Haas
9b2c14cf11 Minor markup improvements for Hot Standby documentation. 2010-06-22 02:57:50 +00:00
Robert Haas
31c47e53aa Rename hstore => text[] operator to %
This is not yet in any released version, so we still have the option to
change the name.  We may want to reserve the token => in a future release.
2010-06-18 03:52:03 +00:00
Tom Lane
f826f8fc69 Add missing close brackets in old-style COPY syntax diagram.
Spotted by Evan Carroll.
2010-06-17 17:03:57 +00:00
Tom Lane
8f4e121845 Fix typo, init => int, per KOIZUMI Satoru. 2010-06-17 16:03:30 +00:00
Robert Haas
5c5184c043 Document that receive location can rewind if replication restarts.
Fujii Masao, with some further wordsmithing by me.
2010-06-17 01:32:09 +00:00
Bruce Momjian
f25e5e5d47 Update doc description for 9.0 release note item:
Have <command>SELECT</> and <command>CREATE TABLE AS</> return
      row counts to the client
2010-06-16 18:46:18 +00:00
Bruce Momjian
a7b592722a 9.0 release notes updates.
Josh Berkus
2010-06-16 18:31:39 +00:00
Andrew Dunstan
3659c62350 Remove perl symbol table additions for plperl functions, and mention of it
in the release notes, as it is not apparently providing anything useful.
2010-06-16 14:50:34 +00:00
Peter Eisentraut
0c88e559d1 Add notes that CREATE/DROP CONVERSION is similar to CREATE/DROP
TRANSLATION in the SQL standard.
2010-06-16 02:12:51 +00:00
Tom Lane
c0989c67fa Change the interpretation of the primary_key_attnums parameter of
dblink_build_sql_insert() and related functions.  Now the column numbers
are treated as logical not physical column numbers.  This will provide saner
behavior in the presence of dropped columns; furthermore, if we ever get
around to allowing rearrangement of logical column ordering, the original
definition would become nearly untenable from a usability standpoint.
Per recent discussion of dblink's handling of dropped columns.
Not back-patched for fear of breaking existing applications.
2010-06-15 20:29:01 +00:00
Bruce Momjian
77a4c51af8 Clarify SELECT FOR UPDATE behavior in docs. 2010-06-15 20:04:53 +00:00
Robert Haas
b17129b589 Remove hstore's text[] => text[] operator.
This is not yet in any released version, so we still have the option to
backtrack.  Instead, document hstore(text[], text[]).  Per discussion.
2010-06-15 19:48:30 +00:00
Robert Haas
4a96908575 Document new 9.0 behavior of ANALYZE on inheritance hierarchies.
In particular, note that autovacuum does not yet understand that it might
need to vacuum inheritance parents as a result of changes to the child
tables.
2010-06-15 18:43:35 +00:00
Itagaki Takahiro
41f302b52a Add new GUC categories corresponding to sections in docs, and move
description for vacuum_defer_cleanup_age to the correct category.
Sections in postgresql.conf are also sorted in the same order with docs.

Per gripe by Fujii Masao, suggestion by Heikki Linnakangas, and patch by me.
2010-06-15 07:52:11 +00:00
Bruce Momjian
cbb0dcff4f Fix doc plperl doc with is -> are change. 2010-06-14 18:47:05 +00:00
Simon Riggs
24bfbb5857 Docs for pg_archivecleanup 2010-06-14 17:25:24 +00:00
Robert Haas
38736e2276 Fix misplaced modifier.
As suggested by Ian Barwick.
2010-06-14 02:18:43 +00:00
Robert Haas
dd6c1080d0 Fix typo. 2010-06-14 01:07:41 +00:00
Tom Lane
a079efa641 postgres.txt should get cleaned by 'make clean'. 2010-06-12 21:40:31 +00:00
Bruce Momjian
4c7d48bffb Remove lynx -stdin flag for postgres.text. 2010-06-12 17:17:25 +00:00
Bruce Momjian
99fdb4a9ea Add SGML Makefile rule for single-page text, postgres.txt. 2010-06-12 15:58:38 +00:00
Bruce Momjian
7d7780f40d Add space between after ">" in ">$@" in SGML Makefile, for clarity. 2010-06-12 15:42:44 +00:00
Peter Eisentraut
7de38696c4 Add target to build HTML documentation as single page 2010-06-12 09:55:12 +00:00
Heikki Linnakangas
e751b71b56 Use "replication" as the database name when constructing a connection
string for a streaming replication connection. It's ignored by the
server, but allows libpq to pick up the password from .pgpass where
"replication" is specified as the database name.

Patch by Fujii Masao per Tom's suggestion, with some wording changes by me.
2010-06-11 10:13:09 +00:00
Bruce Momjian
c46f861c0d Update text of 9.0 release notes
Josh Berkus
2010-06-10 21:48:28 +00:00
Itagaki Takahiro
56834fc759 Rename restartpoint_command to archive_cleanup_command. 2010-06-10 08:13:50 +00:00
Heikki Linnakangas
346d7cd7fa Return NULL instead of 0/0 in pg_last_xlog_receive_location() and
pg_last_xlog_replay_location(). Per Robert Haas's suggestion, after
Itagaki Takahiro pointed out an issue in the docs. Also, some wording
changes in the docs by me.
2010-06-10 07:00:27 +00:00
Alvaro Herrera
a5ec2986b3 Update ALTER TABLE docs to account for exclusion and deferrable uniqueness
constraints

Dean Rasheed
2010-06-09 17:48:10 +00:00
Alvaro Herrera
09811eff2e Add index entry for ::, per complaint from John Gage. 2010-06-09 16:43:47 +00:00
Robert Haas
8de14adc5f Make procedural language handler reference C-language function docs.
Based on suggestions from Jonathan Leto and Joshua Tolley.
2010-06-08 20:12:59 +00:00
Itagaki Takahiro
b5faba1284 Ensure default-only storage parameters for TOAST relations
to be initialized with proper values. Affected parameters are
fillfactor, analyze_threshold, and analyze_scale_factor.

Especially uninitialized fillfactor caused inefficient page usage
because we built a StdRdOptions struct in which fillfactor is zero
if any reloption is set for the toast table.

In addition, we disallow toast.autovacuum_analyze_threshold and
toast.autovacuum_analyze_scale_factor because we didn't actually
support them; they are always ignored.

Report by Rumko on pgsql-bugs on 12 May 2010.
Analysis by Tom Lane and Alvaro Herrera. Patch by me.

Backpatch to 8.4.
2010-06-07 02:59:02 +00:00
Itagaki Takahiro
3fd839950a Replace "slave" to "standby" in documentation for consistent terminology.
Almost all of the terms in docs and messages were replaced, but still
remains in a few comments and README files in codes.
2010-06-07 02:01:09 +00:00
Tom Lane
2944e6ecb6 Improve our explanation of the OVERLAPS operator.
Per gripe from Frank van Vugt.
2010-06-05 14:56:36 +00:00
Marc G. Fournier
dcd52a64bd tag 9.0beta2 2010-06-04 07:28:30 +00:00
Tom Lane
0cc59cc1f3 Add current WAL end (as seen by walsender, ie, GetWriteRecPtr() result)
and current server clock time to SR data messages.  These are not currently
used on the slave side but seem likely to be useful in future, and it'd be
better not to change the SR protocol after release.  Per discussion.
Also do some minor code review and cleanup on walsender.c, and improve the
protocol documentation.
2010-06-03 22:17:32 +00:00
Tom Lane
572ec5a276 Remove link that breaks HISTORY file generation. 2010-06-03 21:23:02 +00:00
Bruce Momjian
58028240bb Fix CREATE TRIGGER release mention, WHERE -> WHEN. 2010-06-03 19:38:39 +00:00
Bruce Momjian
a68055eab6 Update 9.0 release notes to current. 2010-06-03 16:33:36 +00:00
Bruce Momjian
319baeab21 Markup fix. 2010-06-03 14:41:25 +00:00
Bruce Momjian
0562820097 Document regexp_matches() better and show example of single-row usage. 2010-06-03 14:40:42 +00:00
Bruce Momjian
3b19a45964 Document use of C++ for extension use. 2010-06-03 14:39:58 +00:00
Bruce Momjian
f0c437cf54 Document that citext operators must be in the current search path. 2010-06-03 03:04:55 +00:00
Bruce Momjian
356e4dbf9a Clarify array generate_subscripts() documentation example.
Tim Landscheidt
2010-06-03 02:06:10 +00:00
Bruce Momjian
9b5c3611d7 Document that && geometric operator is true even if only a point
overlaps.

David Fetter
2010-06-03 01:34:02 +00:00
Bruce Momjian
2681c51eca Update C++ release note item wording. 2010-06-01 13:43:39 +00:00
Bruce Momjian
1f152c656b Comment out C++ docs for later user. Tone down C++ compatibility in 9.0
release notes.
2010-06-01 03:19:36 +00:00
Bruce Momjian
d149fbf411 Mention palloc/pfree for C++ memory allocation in docs. 2010-06-01 02:54:37 +00:00
Bruce Momjian
06625abeef Fix SGML markup for tag title. 2010-06-01 02:35:37 +00:00
Bruce Momjian
b67fbb6c57 Add documentation section "Using C++ for Extensibility".
Craig Ringer
2010-06-01 02:31:36 +00:00
Bruce Momjian
a128991705 Overflow box is on page after listed page number, per Alvaro. 2010-05-31 22:42:59 +00:00
Bruce Momjian
0b4150323b Update TeX overflow documentation page pattern mask, in docs. 2010-05-31 22:15:25 +00:00
Bruce Momjian
66dd050560 Document how to find TeX overflow boxes in our documentation build, per
details from Alvaro Herrera.
2010-05-31 22:14:20 +00:00
Alvaro Herrera
a7b2f694e7 Add note about database ownership to REASSIGN OWNED command documentation,
per Josh Berkus.  Add ALTER DATABASE to the "see also" section, too.
2010-05-31 18:47:35 +00:00
Bruce Momjian
6f1932c249 Reword fsync and full_page_writes docs to be clearer about when to turn
them off.

Josh Berkus, with slight wording changes by me.
2010-05-31 15:50:48 +00:00
Tom Lane
b12b7a9038 Change the notation for calling functions with named parameters from
"val AS name" to "name := val", as per recent discussion.

This patch catches everything in the original named-parameters patch,
but I'm not certain that no other dependencies snuck in later (grepping
the source tree for all uses of AS soon proved unworkable).

In passing I note that we've dropped the ball at least once on keeping
ecpg's lexer (as opposed to parser) in sync with the backend.  It would
be a good idea to go through all of pgc.l and see if it's in sync now.
I didn't attempt that at the moment.
2010-05-30 18:10:41 +00:00
Bruce Momjian
2bde07c198 Clarify the meaning of "trusted language" in the documentation. 2010-05-30 02:23:09 +00:00
Tom Lane
63f591e969 Add text to "Populating a Database" pointing out that bulk data load into a
table with foreign key constraints eats memory.  Per off-line discussion of
bug #5480 with its reporter.  Also do some minor wordsmithing elsewhere in
the same section.
2010-05-29 21:08:04 +00:00
Bruce Momjian
d800b036d2 Document that NOT NULL domain constraints are not always honored. 2010-05-29 19:06:16 +00:00
Heikki Linnakangas
23e9fe0391 Fix typos in recent doc patch. Fujii Masao 2010-05-29 09:01:10 +00:00
Bruce Momjian
9b94e3696e Document use of VPATH builds.
David Fetter
2010-05-28 18:04:36 +00:00
Heikki Linnakangas
fe76f93d11 Update High Availability docs. Clarify terms master/primary standby/slave,
move two paragraphs that apply to log shipping in general from the
"Alternative method for log shipping" section to the earlier sections.
Add varname tags where missing. Some small wording changes.
2010-05-28 14:03:31 +00:00
Peter Eisentraut
2175d4fa59 Small correction/clarification in discussion of Unicode literals 2010-05-27 18:23:47 +00:00
Heikki Linnakangas
aa5bec67de Make it more clear that you need to release savepoint with
RELEASE SAVEPOINT to make an older savepoint with the same name
accessible. It's also possible to implicitly release the savepoint by
rolling back to an earlier savepoint, but mentioning that too would make
the note just more verbose and confusing.
2010-05-27 06:25:32 +00:00
Bruce Momjian
f495020ede Fix SGML markup 2010-05-26 23:55:51 +00:00
Tom Lane
1e6b654edc Improve SSL-related documentation. Explain how to deal with certificate
chains, do assorted wordsmithing.
2010-05-26 23:49:19 +00:00
Bruce Momjian
092c38a2a8 Document pgFouine and check_postgres as log analysis options. 2010-05-26 23:29:45 +00:00
Bruce Momjian
238d21d7d2 Modify pg_standby, pgbench, and pg_upgrade manual pages to be consistent
in their display of command-line options with other client applications.
2010-05-25 15:55:28 +00:00
Bruce Momjian
7ff79fa425 Add pg_upgrade docs about binary compatibility, per Robert Haas. 2010-05-25 14:50:56 +00:00
Bruce Momjian
4b9904a0f8 Update pg_upgrade docs to show options in alphabetical order, and
improve 8.3 doc limitations paragraph.
2010-05-24 17:43:39 +00:00
Tom Lane
de98ef62c7 Fix index entry for lo_compat_privileges, per bug #5467 from KOIZUMI Satoru. 2010-05-20 20:32:27 +00:00
Bruce Momjian
47671aae77 Show oid2name command-line arguments in documentation like we do for
non-contrib command-line tools (no longer in a single table display).
2010-05-20 03:45:38 +00:00
Bruce Momjian
9974a46004 SGML markup cleanup for pg_upgrade. 2010-05-19 20:47:18 +00:00
Bruce Momjian
5add506838 Doc change: Rename of directory no longer required for pg_migrator 9.0.
Alvaro
2010-05-19 20:40:33 +00:00
Bruce Momjian
5eae7e1756 pg_upgrade doc cleanup
Stefan Kaltenbrunner
2010-05-19 20:37:03 +00:00
Bruce Momjian
2963d82281 Restore oid2name doc change. 2010-05-19 20:22:05 +00:00
Bruce Momjian
67fd5f3c85 Add command-line documentation for pg_upgrade. 2010-05-19 20:20:38 +00:00
Magnus Hagander
3ef9574102 Refer to pg_ident.conf as config file for username mapping, as it's
now used for other things than just ident authentication.

Noted by Stephen Frost
2010-05-18 19:05:17 +00:00
Magnus Hagander
60e7f45966 Make pg_upgrade documentation refer to 9.0 instead of 8.4.
Fujii Masao
2010-05-18 15:41:36 +00:00
Robert Haas
11f2efd12a Move pg_notify() details to a subsection within the NOTIFY reference page.
This allows the index to reference the pg_notify() subsection specifically,
rather than Notes section of the NOTIFY reference page more generally.

Fujii Masao
2010-05-18 02:28:53 +00:00
Alvaro Herrera
91e01e21a2 Make table in example less wide. 2010-05-17 20:50:44 +00:00
Andrew Dunstan
99ad9236bc Clarify plperl subroutine name release notes item, remove now redundant Safe.pm item. 2010-05-17 17:46:13 +00:00
Robert Haas
6d932df652 Insert line breaks in two places in SQL functions documentation.
This avoids a formatting problem in the PDF output.  In the HTML output this
isn't necessary, but we've done similar things elsewhere in the documentation
so I think it's OK to do it here, too.  I've refrained from breaking a longish
error message which also causes problems for the PDF output, because that would
make the HTML output look wrong.

Erik Rijkers
2010-05-16 04:35:04 +00:00
Robert Haas
4384a95a57 Fix longstanding typo in V1 calling conventions documentation.
Erik Rijkers
2010-05-16 03:55:41 +00:00
Tom Lane
d7b6c8c0a5 Improve documentation of pg_restore's -l and -L switches to point out their
interactions with filtering switches, such as -n and -t.  Per a complaint
from Russell Smith.
2010-05-15 18:11:07 +00:00
Bruce Momjian
36d3afd2d4 Remove all mentions of EnterpriseDB Advanced Server from pg_upgrade;
EDB must maintain their own patch set for this.
2010-05-13 22:51:00 +00:00
Tom Lane
20db9591b2 Update release notes with security issues.
Security: CVE-2010-1169, CVE-2010-1170
2010-05-13 21:26:59 +00:00
Tom Lane
4b8c969c74 Use an entity instead of non-ASCII letter. Thom Brown 2010-05-13 19:16:14 +00:00
Tom Lane
a4bbfb1aac Use "TOAST table" in place of the vague, not-used-elsewhere phrase
"supplementary storage table".
2010-05-13 18:54:18 +00:00
Tom Lane
9ead05b7c3 Prevent PL/Tcl from loading the "unknown" module from pltcl_modules unless
that is a regular table or view owned by a superuser.  This prevents a
trojan horse attack whereby any unprivileged SQL user could create such a
table and insert code into it that would then get executed in other users'
sessions whenever they call pltcl functions.

Worse yet, because the code was automatically loaded into both the "normal"
and "safe" interpreters at first use, the attacker could execute unrestricted
Tcl code in the "normal" interpreter without there being any pltclu functions
anywhere, or indeed anyone else using pltcl at all: installing pltcl is
sufficient to open the hole.  Change the initialization logic so that the
"unknown" code is only loaded into an interpreter when the interpreter is
first really used.  (That doesn't add any additional security in this
particular context, but it seems a prudent change, and anyway the former
behavior violated the principle of least astonishment.)

Security: CVE-2010-1170
2010-05-13 18:29:12 +00:00
Andrew Dunstan
1f474d299d Abandon the use of Perl's Safe.pm to enforce restrictions in plperl, as it is
fundamentally insecure. Instead apply an opmask to the whole interpreter that
imposes restrictions on unsafe operations. These restrictions are much harder
to subvert than is Safe.pm, since there is no container to be broken out of.
Backported to release 7.4.

In releases 7.4, 8.0 and 8.1 this also includes the necessary backporting of
the two interpreters model for plperl and plperlu adopted in release 8.2.

In versions 8.0 and up, the use of Perl's POSIX module to undo its locale
mangling on Windows has become insecure with these changes, so it is
replaced by our own routine, which is also faster.

Nice side effects of the changes include that it is now possible to use perl's
"strict" pragma in a natural way in plperl, and that perl's $a and
$b variables now work as expected in sort routines, and that function
compilation is significantly faster.

Tim Bunce and Andrew Dunstan, with reviews from Alex Hunsaker and
Alexey Klyukin.

Security: CVE-2010-1169
2010-05-13 16:39:43 +00:00
Bruce Momjian
10d66ac8f6 Comment out EnterpriseDB Advanced Server mention in SGML docs. 2010-05-13 15:03:24 +00:00
Magnus Hagander
4cb7536c6b Fix some spelling errors.
Thom Brown
2010-05-13 14:16:41 +00:00
Bruce Momjian
092c36ef99 Fix HISTORY.html build using </link>, not </>. 2010-05-13 12:47:50 +00:00
Peter Eisentraut
3393551d54 Fix vpath installation from distribution tarball (bug #5447) 2010-05-13 11:49:48 +00:00
Bruce Momjian
d8c311c379 Update release notes to current. 2010-05-13 01:57:01 +00:00
Bruce Momjian
9885206cab Move pg_upgrade shared library out into its own /contrib directory
(pg_upgrade_support).
2010-05-13 01:03:01 +00:00
Tom Lane
8aad797362 Preliminary release notes for releases 8.4.4, 8.3.11, 8.2.17, 8.1.21, 8.0.25,
7.4.29.
2010-05-12 23:20:49 +00:00
Bruce Momjian
c2e9b2f288 Add pg_upgrade to /contrib; will be in 9.0 beta2.
Add documentation.

Supports migration from PG 8.3 and 8.4.
2010-05-12 02:19:11 +00:00
Robert Haas
8b8009a20d Mention related ALTER TABLE variants in documentation for CLUSTER.
As suggested by Andy Lester.
2010-05-11 16:07:42 +00:00
Tom Lane
4768fd3fd8 Fix typo: PGTYPES_NUM_OVERFLOW should be PGTYPES_NUM_UNDERFLOW.
Noted by KOIZUMI Satoru.
2010-05-09 16:30:31 +00:00
Heikki Linnakangas
1ba23f767b Fix incorrect parameter tag in docs, spotted by KOIZUMI Satoru. 2010-05-05 15:10:25 +00:00
Alvaro Herrera
d64e81c07e Remove spurious dot, per bug #5446 reported by koizumistr@minos.ocn.ne.jp 2010-05-03 15:35:30 +00:00
Heikki Linnakangas
c0de88c415 Change wording so that you don't need to understand that wal_levels
form a hierarchy. Per Simon's suggestion.
2010-05-03 10:31:29 +00:00
Heikki Linnakangas
1b6c7b1c0b Change "literal" tag to the more appropriate "firstterm", when describing
what "eventually consistent" means.
2010-05-03 09:15:17 +00:00
Heikki Linnakangas
f35951619c Add cross-reference from wal_level to hot_standby setting. Update
the PITR documentation to mention that you need to set wal_level to
'archive' or 'hot_standby', to enable WAL archiving. Per Simon's request.
2010-05-03 09:14:17 +00:00
Simon Riggs
abeb17cdae Docs for standbycheck regression tests. 2010-05-02 12:22:40 +00:00
Simon Riggs
98bbab47bc Mention that max_standby_delay has units of milliseconds. Units are mentioned
for all other parameters where the default is expressed in a different unit.
2010-05-02 11:32:53 +00:00
Tom Lane
f9ed327f76 Clean up some awkward, inaccurate, and inefficient processing around
MaxStandbyDelay.  Use the GUC units mechanism for the value, and choose more
appropriate timestamp functions for performing tests with it.  Make the
ps_activity manipulation in ResolveRecoveryConflictWithVirtualXIDs have
behavior similar to ps_activity code elsewhere, notably not updating the
display when update_process_title is off and not truncating the display
contents at an arbitrarily-chosen length.  Improve the docs to be explicit
about what MaxStandbyDelay actually measures, viz the difference between
primary and standby servers' clocks, and the possible hazards if their clocks
aren't in sync.
2010-05-02 02:10:33 +00:00
Tom Lane
170456c9d8 Install hack workaround for failure of 'make all' in VPATH builds.
It appears that gmake gets confused if postgres.sgml is not present in
the working directory, and instantiates some default rule or other that
would let postgres.sgml be built from postgres.xml.  I haven't been able
to track down exactly where that's coming from, but the problem can be
dodged by specifying srcdir explicitly in the rule for postgres.xml.
Per report from Vladimir Kokovic.
2010-05-01 21:31:17 +00:00
Tom Lane
f856fad80b Adjust postgres.xml rule so that make will notice a failure exit from osx.
The previous coding had it in a pipe, which on most shells won't report
the error.  Per experimentation with a bug report from Vladimir Kokovic.
This doesn't actually fix his problem, but it does explain why make
didn't report that there was a problem.
2010-05-01 18:15:07 +00:00
Tom Lane
05f030837c Update our information about OS X shared memory configuration: it's now
possible to set most of the SHM kernel parameters without a reboot.
Also, reorder the paragraph to explain the modern configuration method first.
There are probably not too many people who still care about how to do it on
OS X 10.3 or older.
2010-04-30 22:24:50 +00:00
Tom Lane
854b5eb510 Improve COPY documentation to clarify that it doesn't copy data to or from
child tables.  Per gripe from Jaime Casanova.
2010-04-30 19:49:06 +00:00
Marc G. Fournier
f9d9b2b34a tag for 9.0beta1 2010-04-30 03:16:58 +00:00
Bruce Momjian
616a3b2df4 Documentation fix: CREATE TRIGGER 'WHERE' -> 'WHEN'
Selena Deckelmann
2010-04-29 22:03:41 +00:00
Tom Lane
69f7a4d8e3 Adjust error checks in pg_start_backup and pg_stop_backup to make it possible
to perform a backup without archive_mode being enabled.  This gives up some
user-error protection in order to improve usefulness for streaming-replication
scenarios.  Per discussion.
2010-04-29 21:49:03 +00:00
Tom Lane
f0488bd57c Rename the parameter recovery_connections to hot_standby, to reduce possible
confusion with streaming-replication settings.  Also, change its default
value to "off", because of concern about executing new and poorly-tested
code during ordinary non-replicating operation.  Per discussion.

In passing do some minor editing of related documentation.
2010-04-29 21:36:19 +00:00
Bruce Momjian
72e316e4c8 Doc fix -- last major item should not be a bullet. 2010-04-29 21:02:50 +00:00
Bruce Momjian
fbb68396bb Move alpha release notes into a separate file; re-align sgml tags. 2010-04-29 20:54:28 +00:00
Bruce Momjian
ca2c61caac Update 9.0 release notes to current; add major items and introductory
text.
2010-04-29 20:43:22 +00:00
Tom Lane
a5ec86a7c7 Install a workaround for 'TeX capacity exceeded' problem
when building PDF output for recent versions of the documentation.
There is probably a better answer out there somewhere, but
we need something now so we can build beta releases.
2010-04-29 16:32:41 +00:00
Tom Lane
fa171dd8e5 Fix typo, per Thom Brown. 2010-04-28 21:23:29 +00:00
Tom Lane
77acab75df Modify ShmemInitStruct and ShmemInitHash to throw errors internally,
rather than returning NULL for some-but-not-all failures as they used to.
Remove now-redundant tests for NULL from call sites.

We had to do something about this because many call sites were failing to
check for NULL; and changing it like this seems a lot more useful and
mistake-proof than adding checks to the call sites without them.
2010-04-28 16:54:16 +00:00
Alvaro Herrera
5f70a04c56 Make pg_stats example query result a bit less wide, and add comment about
pg_stats.inherited
2010-04-28 16:48:21 +00:00
Heikki Linnakangas
9b8a73326e Introduce wal_level GUC to explicitly control if information needed for
archival or hot standby should be WAL-logged, instead of deducing that from
other options like archive_mode. This replaces recovery_connections GUC in
the primary, where it now has no effect, but it's still used in the standby
to enable/disable hot standby.

Remove the WAL-logging of "unlogged operations", like creating an index
without WAL-logging and fsyncing it at the end. Instead, we keep a copy of
the wal_mode setting and the settings that affect how much shared memory a
hot standby server needs to track master transactions (max_connections,
max_prepared_xacts, max_locks_per_xact) in pg_control. Whenever the settings
change, at server restart, write a WAL record noting the new settings and
update pg_control. This allows us to notice the change in those settings in
the standby at the right moment, they used to be included in checkpoint
records, but that meant that a changed value was not reflected in the
standby until the first checkpoint after the change.

Bump PG_CONTROL_VERSION and XLOG_PAGE_MAGIC. Whack XLOG_PAGE_MAGIC back to
the sequence it used to follow, before hot standby and subsequent patches
changed it to 0x9003.
2010-04-28 16:10:43 +00:00
Heikki Linnakangas
8f9fe24b10 Add recovery.conf parameters to the documentation index, per suggestion
by Fujii Masao.
2010-04-28 07:34:11 +00:00
Alvaro Herrera
871e73bb27 Reformat code examples in plpgsql docs for better readability in PDF output
Erik Rijkers
2010-04-27 14:32:40 +00:00
Tom Lane
3456cf1831 Update documentation to match pg_stat_activity changes. 2010-04-26 19:56:55 +00:00
Bruce Momjian
132c40424a Document that pgpool can be used with master/slave servers to avoid
problems with non-deterministic functions.
2010-04-26 19:09:25 +00:00
Robert Haas
ab93cd9b05 When we're restricting who can connect, don't allow new walsenders.
Normal superuser processes are allowed to connect even when the database
system is shutting down, or when fewer than superuser_reserved_connection
slots remain.  This is intended to make sure an administrator can log in
and troubleshoot, so don't extend these same courtesies to users connecting
for replication.
2010-04-26 10:52:00 +00:00
Robert Haas
33980a0640 Fix various instances of "the the".
Two of these were pointed out by Erik Rijkers; the rest I found.
2010-04-23 23:21:44 +00:00
Tom Lane
a6dcd19a2a Enforce superuser permissions checks during ALTER ROLE/DATABASE SET, rather
than during define_custom_variable().  This entails rejecting an ALTER
command if the target variable doesn't have a known (non-placeholder)
definition, unless the calling user is superuser.  When the variable *is*
known, we can correctly apply the rule that only superusers can issue ALTER
for SUSET parameters.  This allows define_custom_variable to apply ALTER's
values for SUSET parameters at module load time, secure in the knowledge
that only a superuser could have set the ALTER value.  This change fixes a
longstanding gotcha in the usage of SUSET-level custom parameters; which
is a good thing to fix now that plpgsql defines such a parameter.
2010-04-21 20:54:19 +00:00
Tom Lane
a2c3931a24 Fix pg_hba.conf matching so that replication connections only match records
with database = replication.  The previous coding would allow them to match
ordinary records too, but that seems like a recipe for security breaches.
Improve the messages associated with no-such-pg_hba.conf entry to report
replication connections as such, since that's now a critical aspect of
whether the connection matches.  Make some cursory improvements in the related
documentation, too.
2010-04-21 03:32:53 +00:00
Robert Haas
481cb5d9b5 Rename standby_keep_segments to wal_keep_segments.
Also, make the name of the GUC and the name of the backing variable match.
Alnong the way, clean up a couple of slight typographical errors in the
related docs.
2010-04-20 11:15:06 +00:00
Robert Haas
ee7769bb76 Update docs as to when WAL logging can be skipped.
In 8.4 and prior, WAL-logging could potentially be skipped whenever
archive_mode=off.  With streaming replication, this is now true only
if max_wal_senders=0.

Fujii Masao, with light copyediting by me
2010-04-20 00:26:06 +00:00
Robert Haas
5b89ef384c Add an 'enable_material' GUC.
The logic for determining whether to materialize has been significantly
overhauled for 9.0.  In case there should be any doubt about whether
materialization is a win in any particular case, this should provide a
convenient way of seeing what happens without it; but even with enable_material
turned off, we still materialize in cases where it is required for
correctness.

Thanks to Tom Lane for the review.
2010-04-19 00:55:26 +00:00
Robert Haas
7b130fbc50 Provide better guidance for adjusting shared_buffers. 2010-04-16 21:46:07 +00:00
Bruce Momjian
b4fd1e246e Document that autovacuum cannot vacuum or analyze temporary tables. 2010-04-16 02:22:33 +00:00
Peter Eisentraut
b6c586a36c Improve punctuation 2010-04-15 20:56:13 +00:00
Peter Eisentraut
edde4169b5 IP port -> TCP port
backpatched to 8.1, where this first appeared
2010-04-15 20:48:22 +00:00
Heikki Linnakangas
95eaea4c27 Fix typo, spotted by Erik Rijkers. 2010-04-15 16:25:13 +00:00
Bruce Momjian
0993d2943e Doc change: anyways -> anyway; Erik Rijkers 2010-04-14 02:36:04 +00:00
Bruce Momjian
ea9c103237 Add "SSD" acronym mention for solid state drive mention. 2010-04-13 14:15:25 +00:00
Magnus Hagander
4f57c28da0 Fix typo.
Fujii Masao
2010-04-13 08:19:12 +00:00
Bruce Momjian
325e9cb3a0 Remove example of archive_command from configure section; instead have
users look at the referenced section for examples, per idea from Greg
Smith.
2010-04-12 22:09:58 +00:00
Bruce Momjian
202c655810 Spell out full archive directory specification in 'test -f' continuous
archiving example, per suggestion from Greg Smith.
2010-04-12 19:08:28 +00:00
Heikki Linnakangas
e76b4e0ddb Adjust paragraph about monitoring streaming replication, now that we have
standby_keep_segments.
2010-04-12 10:01:04 +00:00
Heikki Linnakangas
e57cd7f0a1 Change the logic to decide when to delete old WAL segments, so that it
doesn't take into account how far the WAL senders are. This way a hung
WAL sender doesn't prevent old WAL segments from being recycled/removed
in the primary, ultimately causing the disk to fill up. Instead add
standby_keep_segments setting to control how many old WAL segments are
kept in the primary. This also makes it more reliable to use streaming
replication without WAL archiving, assuming that you set
standby_keep_segments high enough.
2010-04-12 09:52:29 +00:00
Robert Haas
1c850fa807 Make smart shutdown work in combination with Hot Standby/Streaming Replication.
At present, killing the startup process does not release any locks it holds,
so we must wait to stop the startup and walreceiver processes until all
read-only backends have exited.  Without this patch, the startup and
walreceiver processes never exit, so the server gets permanently stuck in
a half-shutdown state.

Fujii Masao, with review, docs, and comment adjustments by me.
2010-04-08 01:39:37 +00:00
Heikki Linnakangas
0f11ed5886 Allow quotes to be escaped in recovery.conf, by doubling them. This patch
also makes the parsing a little bit stricter, rejecting garbage after the
parameter value and values with missing ending quotes, for example.
2010-04-07 10:58:49 +00:00
Heikki Linnakangas
370f770c15 Forbid using pg_xlogfile_name() and pg_xlogfile_name_offset() during
recovery. We might want to relax this in the future, but ThisTimeLineID
isn't currently correct in backends during recovery, so the filename
returned was wrong.
2010-04-07 06:12:52 +00:00
Bruce Momjian
08c1d4e560 Reword exclusion constriants to mention that the operator can return
false or null, per Tom.
2010-04-06 02:18:04 +00:00
Tom Lane
87d5c22925 Clean up description of 9.0's incompatible changes in SIMILAR TO and
SQL-style substring().
2010-04-05 02:46:42 +00:00
Tom Lane
60bd2b1941 Arrange to remove pg_default_acl entries completely if their ACL setting
is changed to match the hard-wired default.  This avoids accumulating useless
catalog entries, and also provides a path for dropping the owning role without
using DROP OWNED BY.  Per yesterday's complaint from Jaime Casanova, the
need to use DROP OWNED BY for that is less than obvious, so providing this
alternative method might save some user frustration.
2010-04-05 01:58:03 +00:00
Tom Lane
87ecae72ba Minor wording improvement. 2010-04-03 21:46:59 +00:00
Peter Eisentraut
a8af3d1a57 Clarify documentation of to_char EEEE pattern 2010-04-03 07:53:02 +00:00
Peter Eisentraut
6dcce3985b Remove unnecessary xref endterm attributes and title ids
The endterm attribute is mainly useful when the toolchain does not support
automatic link target text generation for a particular situation.  In  the
past, this was required by the man page tools for all reference page links,
but that is no longer the case, and it now actually gets in the way of
proper automatic link text generation.  The only remaining use cases are
currently xrefs to refsects.
2010-04-03 07:23:02 +00:00
Peter Eisentraut
7969145483 Allow for more room in the man page title, so that
"CREATE TEXT SEARCH CONFIGURATION" is not truncated.
2010-04-03 07:16:05 +00:00
Simon Riggs
3e754a89ea Clarify some behaviours of REASSIGN OWNED and DROP OWNED BY. 2010-04-02 17:29:22 +00:00
Peter Eisentraut
a5c317cf78 Fix the build and install rules for man pages with SQL section != 7
The previous coding failed in various scenarios possibly including vpath
builds and doing make install without preceding make all.
2010-04-02 14:02:49 +00:00
Bruce Momjian
399ea9e7a5 Change test -e to test -f in docs, for portability. 2010-04-01 13:52:56 +00:00
Bruce Momjian
0189c42f31 Add contraint exclusion section to contraint docs.
Takahiro Itagaki
2010-04-01 01:18:17 +00:00
Bruce Momjian
38672aaaa1 Add full names for release note item authors. 2010-04-01 00:32:53 +00:00
Bruce Momjian
570e01becc Use test -e rather than test -f. 2010-04-01 00:31:00 +00:00
Bruce Momjian
8ae5160bf3 Improve 9.0 release notes by removing extra parentheses and linking to a
more appropriate place for exclusion constraints.
2010-04-01 00:18:21 +00:00
Bruce Momjian
d93e4d819c Revert change that prevented ellipses from looking like ../. 2010-03-31 23:51:41 +00:00
Bruce Momjian
c2af244021 Clarify ellipses use in archive_command example, per Josh Kupershmidt. 2010-03-31 23:39:15 +00:00
Bruce Momjian
cba3498596 Document why 'cp -i </dev/null' is suggested for archive command. 2010-03-31 23:35:19 +00:00
Heikki Linnakangas
f185fc3c5e Fix typos, spotted by Thom Brown. 2010-03-31 20:41:50 +00:00
Heikki Linnakangas
ec9ee9381f Enhance standby documentation.
Original patch by Fujii Masao, with heavy editing and bitrot-fixing
after my other commit.
2010-03-31 20:35:09 +00:00
Heikki Linnakangas
259f60e9b6 Mention in the docs that if special keywords like "sameuser" and
"replication" are quoted in pg_hba.conf, they lose their special meaning.
2010-03-31 20:18:10 +00:00
Heikki Linnakangas
991bfe11d2 Enhance documentation of the build-in standby mode, explaining the retry
loop in standby mode, trying to restore from archive, pg_xlog and
streaming.

Move sections around to make the high availability chapter more
coherent: the most prominent part is now a "Log-Shipping Standby Servers"
section that describes what a standby server is (like the old
"Warm Standby Servers for High Availability" section), and how to
set up a warm standby server, including streaming replication, using the
built-in standby mode. The pg_standby method is desribed in another
section called "Alternative method for log shipping", with the added
caveat that it doesn't work with streaming replication.
2010-03-31 19:13:01 +00:00
Peter Eisentraut
29ccc32c30 Separate targets "make docs" and "make install-docs" for the documentation
It is no longer installed by default, but included in "make world"/"make
install-world".  Documentation updated accordingly.

Also, fix vpathsearch function to work when calling make install-docs
without previous make docs.
2010-03-30 00:10:46 +00:00
Peter Eisentraut
3f76f9613d Add note that XML Schema validation is not supported
requested by Andrew Lardinois
2010-03-29 22:01:08 +00:00
Peter Eisentraut
1e24678349 Add some information about what it means for PL/Python to be untrusted.
Similar information already appears in the PL/Perl and PL/Tcl chapters.
2010-03-29 21:35:59 +00:00
Peter Eisentraut
51d2c9b0bb Add some documentation about PL/Python limitations
suggested by Steve White (bug #5272)
2010-03-29 21:20:58 +00:00
Alvaro Herrera
be8cebc717 Prevent ALTER USER f RESET ALL from removing the settings that were put there
by a superuser -- "ALTER USER f RESET setting" already disallows removing such a
setting.

Apply the same treatment to ALTER DATABASE d RESET ALL when run by a database
owner that's not superuser.
2010-03-25 14:44:34 +00:00
Bruce Momjian
5f9d2316d5 Typo fix from IRC breinbaas 2010-03-23 22:37:14 +00:00
Itagaki Takahiro
7e2411429c Remove CRs for each line in pgbench.sgml. 2010-03-23 04:09:17 +00:00
Bruce Momjian
a9ae3c0a56 Add back other xlog() function author names. 2010-03-23 02:28:48 +00:00
Itagaki Takahiro
a887c486d5 Each worker thread will have its own log file in pgbench to avoid interleaved
writes. The first worker still uses "pgbench_log.<pid>" for the name, but
additional workers use "pgbench_log.<pid>.<serial-number>" instead.

Reported by Greg Smith.
2010-03-23 01:29:22 +00:00
Bruce Momjian
1d34814ac2 Properly credit Simon for functions pg_last_xlog_replay_location, etc. 2010-03-22 22:56:52 +00:00
Bruce Momjian
260d843d70 Re-order createuser and vacuumedb documentation options, for
consistency.

Gabrielle (Roth)
2010-03-22 14:56:09 +00:00
Bruce Momjian
0885dd1517 Remove 9.0 release notes xref's to HISTORY.html can be built.
Document this restriction.
2010-03-21 22:12:27 +00:00
Bruce Momjian
6ad4249b5c Add more 9.0 release note documentation links. 2010-03-21 02:24:29 +00:00
Bruce Momjian
4748faa50a Add links to documentation sections in 9.0 release notes.
Also update tagging instructions, and add id tags to a few documentation
sections.
2010-03-21 00:43:40 +00:00
Bruce Momjian
4a12e98c46 In 9.0 release notes, move libpq/ecpg up into their own sections, like I
did with server-side languages.
2010-03-20 16:31:09 +00:00
Bruce Momjian
9e6c5f1e74 Move server-side languages up one section in the 9.0 release notes. 2010-03-20 14:03:31 +00:00
Bruce Momjian
128b1c5022 Create 9.0 release notes; keep 9.0-alpha release notes in place. 2010-03-20 03:30:12 +00:00
Bruce Momjian
4430907d95 Update sgml release note markup suggestions. 2010-03-20 03:12:52 +00:00
Simon Riggs
f42ddc4772 Clarify docs about database parameter in streaming replication primary_conninfo.
Docs were unclear on whether or not database=replication was required,
nor did they mention the FATAL error this causes if database parameter is
mentioned explicitly, whatever its value.
2010-03-19 19:31:06 +00:00
Peter Eisentraut
a401226bd8 Prevent the injection of invalidly encoded strings by PL/Python into PostgreSQL
with a few strategically placed pg_verifymbstr calls.
2010-03-18 19:43:03 +00:00
Tom Lane
5f6285616d Fix missing parentheses for current_query(), per bug #5378.
Also make a couple other minor editorial improvements.
2010-03-18 15:29:44 +00:00
Heikki Linnakangas
c21ac0b58e Add restartpoint_command option to recovery.conf. Fix bug in %r handling
in recovery_end_command, it always came out as 0 because InRedo was
cleared before recovery_end_command was executed. Also, always take
ControlFileLock when reading checkpoint location for %r.

The recovery_end_command bug and the missing locking was present in 8.4
as well, that part of this patch will be backported separately.
2010-03-18 09:17:18 +00:00
Peter Eisentraut
b2640888d9 Make typography consistent 2010-03-17 20:53:19 +00:00
Magnus Hagander
ad8f6fec3b Typo fixes.
Fujii Masao
2010-03-17 18:03:55 +00:00
Peter Eisentraut
a95e51962d Update broken and permanently moved links 2010-03-17 17:12:31 +00:00
Tom Lane
f248e11f70 Fix incorrect example in CREATE INDEX reference page, per Josh Kupershmidt.
Also fix and uncomment an old example of creating a GIST index, and make
a couple of other minor editorial adjustments.
2010-03-17 15:55:50 +00:00
Simon Riggs
0131088f18 Fix typo in streaming replication protocol docs. 2010-03-17 00:28:15 +00:00
Simon Riggs
ce701c1e73 Fix typo in math function docs, spotted by Heikki. 2010-03-16 16:03:24 +00:00
Simon Riggs
bd11a0f67f Document that trig functions accept/return values in radians. 2010-03-15 19:03:31 +00:00
Peter Eisentraut
66cac8feab Add some more structure and bits of information to PL/Python documentation 2010-03-13 20:55:05 +00:00
Bruce Momjian
a6c1cea2b7 Add libpq warning message if the .pgpass-retrieved password fails.
Add ERRCODE_INVALID_PASSWORD sqlstate error code.
2010-03-13 14:55:57 +00:00
Peter Eisentraut
8b2ae44dc8 Update shared memory configuration information for Linux
In particular, the assertion that shmall is sufficiently sized by default
is slowly becoming untrue.
2010-03-13 11:00:19 +00:00
Bruce Momjian
5473df9eb7 Document what user name email symbols are supported by tsearch. 2010-03-13 03:09:04 +00:00
Bruce Momjian
c24b2ef217 Re-add comma, oops. 2010-03-12 23:21:48 +00:00
Bruce Momjian
cb08f6b688 Remove unnecessary comma in documentation. 2010-03-12 17:46:07 +00:00
Tom Lane
8c9a120f6b Preliminary release notes for releases 8.4.3, 8.3.10, 8.2.16, 8.1.20, 8.0.24,
7.4.28.
2010-03-10 01:58:11 +00:00
Magnus Hagander
aa8eed3172 Add missing space in example.
Tim Landscheidt
2010-03-08 12:38:37 +00:00
Magnus Hagander
43d07d63b1 Revert patch for --psqlrc=FILENAME in psql. 2010-03-07 17:02:34 +00:00
Magnus Hagander
66c2cc2ba9 Add --psqlrc=FILENAME parameter to psql, to process an explicitly named
file instead of ~/.psqlrc on startup.
2010-03-06 15:28:09 +00:00
Bruce Momjian
ea066f87c3 Document that "Q" is ignored by to_date and to_timestamp. Add C comment
about the behavior.

Document that quotes in to_date, to_timestamp, to_number skip input
characters.
2010-03-03 22:28:42 +00:00
Bruce Momjian
8b420770b3 Fix SGML markup. 2010-03-03 03:23:12 +00:00
Bruce Momjian
d859b17f0f Restructure CREATE FUNCTION "NOTES" section to be shorter; move items
into proper sections, per suggestion from Tom.
2010-03-03 03:14:08 +00:00
Bruce Momjian
7c55be792b Adjust max_standby_delay documentation to be clearer, and mention that
two adjacent long-running queries have much less than max_standby_delay
before query cancel is possible.
2010-03-02 23:38:17 +00:00
Bruce Momjian
b098dbec0d Document the effect of max_standby_delay on increasing the delay of data
from master to slave, and discourage its use during slave/master
keep-xid-alive connections.
2010-03-02 21:18:59 +00:00
Peter Eisentraut
9393bc62c5 Update keywords list for 9.0 2010-03-02 20:40:48 +00:00
Bruce Momjian
bd7246f65e Update complex locale example in the documentation. 2010-02-28 02:20:40 +00:00
Bruce Momjian
0ff1c3e547 *** empty log message *** 2010-02-28 02:19:47 +00:00
Bruce Momjian
9295eea839 Document ATAPI FLUSH CACHE EXT. 2010-02-27 20:16:17 +00:00
Bruce Momjian
c685b942e5 Document trace_recovery_messages() parameter as an enum, not string.
Fujii Masao
2010-02-27 14:46:05 +00:00
Heikki Linnakangas
7ab9305cc9 Document max_standby_delay=-1 option, now that it's allowed again. 2010-02-27 09:29:20 +00:00
Tom Lane
4ec700a8ec Entity-ify a few new uses of literal <, >, and &. 2010-02-27 04:29:44 +00:00
Bruce Momjian
f7c93458a9 Use <> for libpq #include in example programs, per suggestion from Josh Berkus. 2010-02-27 03:41:34 +00:00
Bruce Momjian
adfb444581 Document ATAPI drive flush command, and mention SSD drives. 2010-02-27 01:39:46 +00:00
Bruce Momjian
ca8e3a51a0 Document pg_restore --jobs as a performance enhancement. 2010-02-26 02:31:52 +00:00
Bruce Momjian
87f609c4fe Remove 'emphasis' markup inside literal; not allowed. 2010-02-26 01:11:46 +00:00
Bruce Momjian
d98039d896 Document that after triggers that need to see changed rows should not be
marked stable.
2010-02-25 22:24:00 +00:00
Bruce Momjian
1951c97805 Document clearly the meaning of none/all for log_statements. 2010-02-25 19:20:38 +00:00
Bruce Momjian
bfd0cd5568 Clearly document that timestamp alone means timestamp without timezone,
per SQL standard, and mention 7.3 behavior at the end.
2010-02-25 18:16:53 +00:00
Magnus Hagander
413d34be4e Add configuration parameter ssl_renegotiation_limit to control
how often we do SSL session key renegotiation. Can be set to
0 to disable renegotiation completely, which is required if
a broken SSL library is used (broken patches to CVE-2009-3555
a known cause) or when using a client library that can't do
renegotiation.
2010-02-25 13:26:16 +00:00
Magnus Hagander
0ccc5153f8 Fix typos, per Richard Huxton 2010-02-25 10:02:30 +00:00
Heikki Linnakangas
0a4807dd93 Clarify that the connection string for primary_conninfo is in the same
format as in PQconnectdb(). As pointed out by Thom Brown.
2010-02-25 09:32:19 +00:00
Heikki Linnakangas
6e11a10c4c Fix typo. 2010-02-25 09:16:42 +00:00
Heikki Linnakangas
7c6c09c039 Small streaming replication document improvements. Be more explicit that
it's asynchronous.
2010-02-25 08:57:47 +00:00
Tom Lane
aed0829c63 Improve warning about creating nested named subroutines in plperl.
Per discussion.
2010-02-25 03:08:07 +00:00
Bruce Momjian
673fb4da02 Document that pg_restore -t can use -n for its schema qualification. 2010-02-24 16:27:40 +00:00
Bruce Momjian
99ef515280 Revert removal of pre-7.4 documenation behavior mentions. 2010-02-24 15:54:31 +00:00
Alvaro Herrera
b5a6a52fba Remove stray semicolon, per report from strk 2010-02-24 14:10:24 +00:00
Bruce Momjian
7bfd95a4a2 Remove pre-7.4 documentaiton mentions, now that 8.0 is the oldest
supported release.
2010-02-24 03:33:49 +00:00
Tom Lane
11b5847058 Add an OR REPLACE option to CREATE LANGUAGE.
This operates in the same way as other CREATE OR REPLACE commands, ie,
it replaces everything but the ownership and ACL lists of an existing
entry, and requires the caller to have owner privileges for that entry.

While modifying an existing language has some use in development scenarios,
in typical usage all the "replaced" values come from pg_pltemplate so there
will be no actual change in the language definition.  The reason for adding
this is mainly to allow programs to ensure that a language exists without
triggering an error if it already does exist.

This commit just adds and documents the new option.  A followon patch
will use it to clean up some unpleasant cases in pg_dump and pg_regress.
2010-02-23 22:51:43 +00:00
Bruce Momjian
edf344a5e3 Revert recent COPY manual change about encoding; add mention of "server". 2010-02-23 21:38:35 +00:00
Tom Lane
1bc8acca25 Clarify statements about tar archive format. 2010-02-23 17:28:09 +00:00
Bruce Momjian
a54803149a Revert recent change of to_char('HH12') handling for intervals; instead
improve documentation, and add C comment.
2010-02-23 16:14:26 +00:00
Bruce Momjian
1180b64075 Make documentation more direct about the handling of COPY files based on
the client encoding.
2010-02-23 05:17:33 +00:00
Bruce Momjian
1379fb052f Document that expression indexes that call functions allow function-level
statistics.
2010-02-23 02:47:27 +00:00
Bruce Momjian
485b19ec3c Update pg_restore documentation to show new pg_restore custom listing
format.

Pavel Golub
2010-02-23 00:21:19 +00:00
Bruce Momjian
752672ced7 Remove long-commented-out paragraph in documentation about function
inheritance in create table, per Andrew Dunstan.
2010-02-22 23:51:40 +00:00
Bruce Momjian
c750cb4bd3 Document that pg_ctl cares about the PGHOST environment variable. 2010-02-22 22:30:10 +00:00
Bruce Momjian
f235c9208d Remove protocol documentation paragraph about environment variable
passing being "covered elsewhere", per Dave Page.
2010-02-22 18:12:04 +00:00
Bruce Momjian
dd1486ccd4 Briefly document in two places that pg_dump and pg_dumpall cannot be
used for continuous archiving.
2010-02-22 17:15:10 +00:00
Heikki Linnakangas
3229db2d42 Move documentation of all recovery.conf option to a new chapter.
They used to be scattered between the "backup and restore" and "streaming
replication" chapters.
2010-02-22 11:47:30 +00:00
Andrew Dunstan
f90a4c5df5 Adjust sample auto-explain output to reflect query text inclusion. 2010-02-20 22:24:29 +00:00
Bruce Momjian
fada4204b9 Make 'include_realm' ordering consistent in the docs, to match recent
doc change.
2010-02-20 21:04:28 +00:00
Bruce Momjian
786e2f6871 Clarify documentation about username mapping when authenticating with
GSSAPI or Kerberos.

Ian Turner
2010-02-20 19:21:14 +00:00
Bruce Momjian
de9ec65431 Document that many solid-state drives have volatile write-back caches. 2010-02-20 18:28:37 +00:00
Simon Riggs
7363021df3 Copy editing of Hot Standby docs. Some clarifications, addition
of missing items and minor edits.
2010-02-20 10:07:27 +00:00
Peter Eisentraut
2f6cf9192c Revert version stamping in wrong branch 2010-02-19 18:42:30 +00:00
Peter Eisentraut
a779afb40c Version stamp 9.0alpha4 2010-02-19 16:03:22 +00:00
Bruce Momjian
f8f0140d73 Document --version and --help options for all client applications (they
all support it).

Per report from Josh Kupershmidt
2010-02-19 14:36:45 +00:00
Bruce Momjian
2f6b4560af First pass over client applications documentation proofreading.
gabrielle
2010-02-19 03:50:03 +00:00
Bruce Momjian
4e3a616355 Remove mention that binary distributions pre-compile the tutorial files. 2010-02-19 01:15:54 +00:00
Peter Eisentraut
1222296768 Preliminary release notes for 9.0alpha4 2010-02-19 00:35:18 +00:00
Bruce Momjian
a70d039104 Hot Standby documentation updates
Greg Smith
2010-02-19 00:15:25 +00:00
Bruce Momjian
9529f4d532 Add missing close tag. 2010-02-18 04:14:38 +00:00
Bruce Momjian
1bee1a3725 Wordsmithing of HS and SR documentation, with some wording improvements
from Erik Rijkers too.
2010-02-18 03:16:09 +00:00
Tom Lane
50a90fac40 Stamp HEAD as 9.0devel, and update various places that were referring to 8.5
(hope I got 'em all).  Per discussion, this release will be 9.0 not 8.5.
2010-02-17 04:19:41 +00:00
Tom Lane
750ff8bdf7 Tweak description of payload parameter. 2010-02-17 00:57:06 +00:00
Tom Lane
d1e027221d Replace the pg_listener-based LISTEN/NOTIFY mechanism with an in-memory queue.
In addition, add support for a "payload" string to be passed along with
each notify event.

This implementation should be significantly more efficient than the old one,
and is also more compatible with Hot Standby usage.  There is not yet any
facility for HS slaves to receive notifications generated on the master,
although such a thing is possible in future.

Joachim Wieland, reviewed by Jeff Davis; also hacked on by me.
2010-02-16 22:34:57 +00:00
Bruce Momjian
813135d8c9 Move log_error_verbosity GUC setting to "What to log" section, and
document the behavior of terse and verbose output options.
2010-02-16 21:35:51 +00:00
Bruce Momjian
70d8a2c29e Honor to_char() "FM" specification in YYY, YY, and Y; it was already
honored by YYYY.  Also document Oracle "toggle" FM behavior.

Per report from Guy Rouillier
2010-02-16 21:18:02 +00:00
Bruce Momjian
aa7e7ae9a6 Have SELECT and CREATE TABLE AS queries return a row count. While this
is invisible in psql, other interfaces, like libpq, make this value
visible.

Boszormenyi Zoltan
2010-02-16 20:58:14 +00:00
Bruce Momjian
93a57c3b57 Clarify documentation on the behavior of unnamed bind queries. 2010-02-16 20:15:14 +00:00
Itagaki Takahiro
3d4a2cea57 Fix synopsis of DO statement. 2010-02-16 00:49:42 +00:00
Itagaki Takahiro
714f279457 Add psql tab completion for DO blocks.
Also adjust documentation of DO.

Patch from David Fetter and subsequent discussion.
2010-02-15 02:55:01 +00:00
Tom Lane
c5d644a867 Ooops, let's get the non-null vs null bit right ... 2010-02-14 01:01:35 +00:00
Tom Lane
a9aad1b868 Document the behavior of STRICT VARIADIC functions. 2010-02-14 00:48:12 +00:00
Bruce Momjian
a5acb7dfb9 Remove tabs from sgml. 2010-02-13 03:38:26 +00:00
Andrew Dunstan
1b04b8f1bc Add plperl.on_plperl_init and plperl.on_plperlu_init settings for language-specific startup. Rename recently added plperl.on_perl_init to plperl.on_init. Also, code cleanup for utf8 hack. Patch from Tim Bunce, reviewed by Alex Hunsaker. 2010-02-12 19:35:25 +00:00
Tom Lane
ec4be2ee68 Extend the set of frame options supported for window functions.
This patch allows the frame to start from CURRENT ROW (in either RANGE or
ROWS mode), and it also adds support for ROWS n PRECEDING and ROWS n FOLLOWING
start and end points.  (RANGE value PRECEDING/FOLLOWING isn't there yet ---
the grammar works, but that's all.)

Hitoshi Harada, reviewed by Pavel Stehule
2010-02-12 17:33:21 +00:00
Heikki Linnakangas
a5348fafd1 Update Hot Standby documentation to reflect the change in the LOG
messages printed at startup. As pointed out by Simon Riggs.
2010-02-12 14:53:22 +00:00
Heikki Linnakangas
1026be15b6 Clean up Streaming Replication documentation a little bit. A lot more
needs to be done, but it's a step forward..
2010-02-12 08:28:44 +00:00
Heikki Linnakangas
8740fe7136 Move "Warm Standby Servers for High Availability" and "Hot Standby"
sections under "High Availability, Load Balancing, and Replication"
chapter. Streaming replication chapter needs a lot more work, but this
commit just moves things around.
2010-02-09 16:50:25 +00:00
Tom Lane
d5768dce10 Create an official API function for C functions to use to check if they are
being called as aggregates, and to get the aggregate transition state memory
context if needed.  Use it instead of poking directly into AggState and
WindowAggState in places that shouldn't know so much.

We should have done this in 8.4, probably, but better late than never.

Revised version of a patch by Hitoshi Harada.
2010-02-08 20:39:52 +00:00
Bruce Momjian
3ab41f02ed Update high availability/replication documentation chart for new hot
standby featureset.
2010-02-08 13:41:06 +00:00
Tom Lane
0a469c8769 Remove old-style VACUUM FULL (which was known for a little while as
VACUUM FULL INPLACE), along with a boatload of subsidiary code and complexity.
Per discussion, the use case for this method of vacuuming is no longer large
enough to justify maintaining it; not to mention that we don't wish to invest
the work that would be needed to make it play nicely with Hot Standby.

Aside from the code directly related to old-style VACUUM FULL, this commit
removes support for certain WAL record types that could only be generated
within VACUUM FULL, redirect-pointer removal in heap_page_prune, and
nontransactional generation of cache invalidation sinval messages (the last
being the sticking point for Hot Standby).

We still have to retain all code that copes with finding HEAP_MOVED_OFF and
HEAP_MOVED_IN flag bits on existing tuples.  This can't be removed as long
as we want to support in-place update from pre-9.0 databases.
2010-02-08 04:33:55 +00:00
Tom Lane
b9b8831ad6 Create a "relation mapping" infrastructure to support changing the relfilenodes
of shared or nailed system catalogs.  This has two key benefits:

* The new CLUSTER-based VACUUM FULL can be applied safely to all catalogs.

* We no longer have to use an unsafe reindex-in-place approach for reindexing
  shared catalogs.

CLUSTER on nailed catalogs now works too, although I left it disabled on
shared catalogs because the resulting pg_index.indisclustered update would
only be visible in one database.

Since reindexing shared system catalogs is now fully transactional and
crash-safe, the former special cases in REINDEX behavior have been removed;
shared catalogs are treated the same as non-shared.

This commit does not do anything about the recently-discussed problem of
deadlocks between VACUUM FULL/CLUSTER on a system catalog and other
concurrent queries; will address that in a separate patch.  As a stopgap,
parallel_schedule has been tweaked to run vacuum.sql by itself, to avoid
such failures during the regression tests.
2010-02-07 20:48:13 +00:00
Bruce Momjian
6ba9b9102a Mention warm and now "hot" standby servers in the high availability docs. 2010-02-05 23:53:22 +00:00
Bruce Momjian
4b113d9cdc Document that archive_timeout will force new WAL files even if a single
checkpoint has happened, and recommend adjusting checkpoint_timeout to
reduce the impact of this.
2010-02-05 23:37:43 +00:00
Bruce Momjian
c1ae9bae7d Previous commit was: Properly document that OVER and WINDOW are Postgres reserved words. 2010-02-05 19:38:21 +00:00
Bruce Momjian
d5c861af6c Previous commit was to have tab checking as part of gmake check. 2010-02-05 19:31:18 +00:00
Bruce Momjian
2a93226f0d *** empty log message *** 2010-02-05 19:28:39 +00:00
Bruce Momjian
ac9f254684 Improve PL/Perl documentation of database access functions.
Alexey Klyukin
2010-02-05 18:11:46 +00:00
Bruce Momjian
cb4bd52ad9 Add SGML 'check-tabs' Makefile rule to check for tabs. 2010-02-05 14:51:50 +00:00
Joe Conway
f419a82c70 Modify recently added PQconnectdbParams() with new argument, expand_dbname.
If expand_dbname is non-zero and dbname contains an = sign, it is taken as
a conninfo string in exactly the same way as if it had been passed to
PQconnectdb. This is equivalent to the way PQsetdbLogin() works, allowing
PQconnectdbParams() to be a complete alternative.

Also improve the way the new function is called from psql and replace a
previously missed call to PQsetdbLogin() in psql. Additionally use
PQconnectdbParams() for pg_dump and friends, and the bin/scripts
command line utilities such as vacuumdb, createdb, etc.

Finally, update the documentation for the new parameter, as well as the
nuances of precedence in cases where key words are repeated or duplicated
in the conninfo string.
2010-02-05 03:09:05 +00:00
Tom Lane
c00353aa6c Three out of four of us like this phrasing better. 2010-02-04 00:19:28 +00:00
Bruce Momjian
73a835eea0 Mention "unquoted" identifiers are case-insensitive. 2010-02-03 22:48:55 +00:00
Bruce Momjian
bf62b1a078 Proofreading improvements for the Administration documentation book. 2010-02-03 17:25:06 +00:00
Heikki Linnakangas
808969d0e7 Add a message type header to the CopyData messages sent from primary
to standby in streaming replication. While we only have one message type
at the moment, adding a message type header makes this easier to extend.
2010-02-03 09:47:19 +00:00
Magnus Hagander
0a27347141 Make RADIUS authentication use pg_getaddrinfo_all() to get address of
the server.

Gets rid of a fairly ugly hack for Solaris, and also provides hostname
and IPV6 support.
2010-02-02 19:09:37 +00:00
Bruce Momjian
1526d4e38f Remove tabs in sgml. 2010-02-01 15:48:35 +00:00
Robert Haas
cccfc4efc4 Minor documentation improvements for new string_agg aggregate. 2010-02-01 15:38:21 +00:00
Simon Riggs
296578feb4 Revoke augmentation of WAL records for btree delete, per discussion. 2010-02-01 13:40:28 +00:00
Itagaki Takahiro
9ea9918e37 Add string_agg aggregate functions. The one argument version concatenates
the input values into a string. The two argument version also does the same
thing, but inserts delimiters between elements.

Original patch by Pavel Stehule, reviewed by David E. Wheeler and me.
2010-02-01 03:14:45 +00:00
Andrew Dunstan
85d67ccd75 Add plperl.on_perl_init setting to provide for initializing the perl library on load. Also, handle END blocks in plperl.
Database access is disallowed during both these operations, although it might be allowed in END blocks in future.

Patch from Tim Bunce.
2010-01-30 01:46:57 +00:00
Simon Riggs
6d2bc0a6cf Augment WAL records for btree delete with GetOldestXmin() to reduce
false positives during Hot Standby conflict processing. Simple
patch to enhance conflict processing, following previous discussions.
Controlled by parameter minimize_standby_conflicts = on | off, with
default off allows measurement of performance impact to see whether
it should be set on all the time.
2010-01-29 18:39:05 +00:00
Robert Haas
d0cfc01823 Allow psql variables to be interpolated with literal or identifier escaping.
Loosely based on a patch by Pavel Stehule.
2010-01-29 17:44:12 +00:00
Andrew Dunstan
7523960d63 Add new make targets "world", "install-world" and "installcheck-world" to build, install and check just about everything.
In addition to everything built installed and tested by all, install and installcheck targets, these build HTML Docs,
build and test contrib, and test PLs and ECPG.
2010-01-28 23:59:52 +00:00
Peter Eisentraut
e7b3349a8a Type table feature
This adds the CREATE TABLE name OF type command, per SQL standard.
2010-01-28 23:21:13 +00:00
Magnus Hagander
083e1b0f27 Add functions to reset the statistics counter for a single table/index or
a single function.
2010-01-28 14:25:41 +00:00
Joe Conway
e3f36838e5 Introduce two new libpq connection functions, PQconnectdbParams and
PQconnectStartParams. These are analogous to PQconnectdb and PQconnectStart
respectively. They differ from the legacy functions in that they accept
two NULL-terminated arrays, keywords and values, rather than conninfo
strings. This avoids the need to build the conninfo string in cases
where it might be inconvenient to do so. Includes documentation.

Also modify psql to utilize PQconnectdbParams rather than PQsetdbLogin.
This allows the new config parameter application_name to be set, which
in turn is displayed in the pg_stat_activity view and included in CSV
log entries. This will also ensure both new functions get regularly
exercised.

Patch by Guillaume Lelarge with review and minor adjustments by
Joe Conway.
2010-01-28 06:28:26 +00:00
Magnus Hagander
ab13d1e925 Fix typo.
Noted by Thom Brown.
2010-01-27 13:03:17 +00:00
Magnus Hagander
b3daac5a9c Add support for RADIUS authentication. 2010-01-27 12:12:00 +00:00
Andrew Dunstan
000416ac32 Fix plperl.sgml errors from recent commit. 2010-01-27 02:55:04 +00:00
Andrew Dunstan
1a7c2f9dea Various small improvements and cleanups for PL/Perl.
- Allow (ineffective) use of 'require' in plperl
    If the required module is not already loaded then it dies.
    So "use strict;" now works in plperl.

- Pre-load the feature module if perl >= 5.10.
    So "use feature :5.10;" now works in plperl.

- Stored procedure subs are now given names.
    The names are not visible in ordinary use, but they make
    tools like Devel::NYTProf and Devel::Cover much more useful.

- Simplified and generalized the subroutine creation code.
    Now one code path for generating sub source code, not four.
    Can generate multiple 'use' statements with specific imports
    (which handles plperl.use_strict currently and can easily
    be extended to handle a plperl.use_feature=':5.12' in future).

- Disallows use of Safe version 2.20 which is broken for PL/Perl.
    http://rt.perl.org/rt3/Ticket/Display.html?id=72068

- Assorted minor optimizations by pre-growing data structures.

Patch from Tim Bunce, reviewed by Alex Hunsaker.
2010-01-26 23:11:56 +00:00
Tom Lane
d879697cd2 Remove the default_do_language parameter, instead making DO use a hardwired
default of "plpgsql".  This is more reasonable than it was when the DO patch
was written, because we have since decided that plpgsql should be installed
by default.  Per discussion, having a parameter for this doesn't seem useful
enough to justify the risk of application breakage if the value is changed
unexpectedly.
2010-01-26 16:33:40 +00:00
Bruce Momjian
d36aa67152 Remove tabs in SGML. 2010-01-26 14:21:29 +00:00
Michael Meskes
96b8d5842c Finally applied patch by Boszormenyi Zoltan <zb@cybertec.at> to add the new features his patches added to the docs. 2010-01-26 09:10:11 +00:00
Peter Eisentraut
fd7673bc4e Make the default pg_hba.conf and pg_ident.conf align at 8-character boundaries
to make it easier to use with tabs.
2010-01-26 06:45:31 +00:00
Tom Lane
9507c8a1db Add get_bit/set_bit functions for bit strings, paralleling those for bytea,
and implement OVERLAY() for bit strings and bytea.

In passing also convert text OVERLAY() to a true built-in, instead of
relying on a SQL function.

Leonardo F, reviewed by Kevin Grittner
2010-01-25 20:55:32 +00:00
Heikki Linnakangas
1d1f425f8d Add note that PREPARE TRANSACTION is for transaction managers, not
regular applications. Also add a comment pointing out that tab-complition
for PREPARE TRANSACTION is missing on purpose.
2010-01-25 18:23:10 +00:00
Magnus Hagander
74f4be6c04 Add missing closing tag. 2010-01-24 14:46:01 +00:00
Simon Riggs
959ac58c04 In HS, Startup process sets SIGALRM when waiting for buffer pin. If
woken by alarm we send SIGUSR1 to all backends requesting that they
check to see if they are blocking Startup process. If so, they throw
ERROR/FATAL as for other conflict resolutions. Deadlock stop gap
removed. max_standby_delay = -1 option removed to prevent deadlock.
2010-01-23 16:37:12 +00:00
Bruce Momjian
4fa69e566c Revert mention that HTML documentation has to be built first.
Now require gmake 3.79.1 or later to build source/sgml.
2010-01-22 22:50:03 +00:00
Robert Haas
a3d8fbf3ae Fix mismatched tags introduced by attribute options patch.
Thanks to Devrim Gunduz for the report.
2010-01-22 17:30:24 +00:00
Robert Haas
76a47c0e74 Replace ALTER TABLE ... SET STATISTICS DISTINCT with a more general mechanism.
Attributes can now have options, just as relations and tablespaces do, and
the reloptions code is used to parse, validate, and store them.  For
simplicity and because these options are not performance critical, we store
them in a separate cache rather than the main relcache.

Thanks to Alex Hunsaker for the review.
2010-01-22 16:40:19 +00:00
Bruce Momjian
9ca0989037 Document that the HTML documentation must be built before the PDF
documentation.
2010-01-22 15:49:29 +00:00
Peter Eisentraut
adb7764030 PL/Python DO handler
Also cleaned up some redundancies between the primary error messages and the
error context in PL/Python.

Hannu Valtonen
2010-01-22 15:45:15 +00:00
Robert Haas
d66679672f Add new escaping functions PQescapeLiteral and PQescapeIdentifier.
PQescapeLiteral is similar to PQescapeStringConn, but it relieves the
caller of the need to know how large the output buffer should be, and
it provides the appropriate quoting (in addition to escaping special
characers within the string).  PQescapeIdentifier provides similar
functionality for escaping identifiers.

Per recent discussion with Tom Lane.
2010-01-21 14:58:53 +00:00
Peter Eisentraut
41a4e45957 Add user-specific .pg_service.conf file
This extends the existing pg_service.conf facility to first look for a
service definition file in the user's home directory.
2010-01-20 21:15:21 +00:00
Robert Haas
62b5c031f6 Fix doc build, which was broken by PL/perl utility functions patch. 2010-01-20 03:37:10 +00:00
Andrew Dunstan
05672e5045 Add utility functions to PLPerl:
quote_literal, quote_nullable, quote_ident,
    encode_bytea, decode_bytea, looks_like_number,
    encode_array_literal, encode_array_constructor.
Split SPI.xs into two - SPI.xs now contains only SPI functions. Remainder
are in new Util.xs.
Some more code and documentation cleanup along the way, as well as
adding some CVS markers to files missing them.

Original patch from Tim Bunce, with a little editing from me.
2010-01-20 01:08:21 +00:00
Robert Haas
5b13d1ff53 Reformat documentation of libpq escaping functions.
Modify the "Escaping Strings for Inclusion in SQL Commands" section
to use a <variablelist> as the preceding and following sections do,
and merge the "Escaping Binary Strings for Inclusion in SQL Commands"
section into it.

This changes only the formatting of these sections, not the content.
It is intended to lay the groundwork for a follow-on patch to add
some new escaping functions, but it makes sense to commit this first,
for clarity.
2010-01-20 00:42:28 +00:00
Magnus Hagander
7e40cdc075 Add pg_stat_reset_shared('bgwriter') to reset the cluster-wide shared
statistics of the bgwriter.

Greg Smith
2010-01-19 14:11:32 +00:00
Tom Lane
4f15699d70 Add pg_table_size() and pg_indexes_size() to provide more user-friendly
wrappers around the pg_relation_size() function.

Bernd Helmle, reviewed by Greg Smith
2010-01-19 05:50:18 +00:00
Tom Lane
309cd7cf18 Add "USING expressions" option to plpgsql's OPEN cursor FOR EXECUTE.
This is the last EXECUTE-like plpgsql statement that was missing
the capability of inserting parameter values via USING.

Pavel Stehule, reviewed by Itagaki Takahiro
2010-01-19 01:35:31 +00:00
Tom Lane
04ef404018 Update SET CONSTRAINTS reference page --- it failed to mention EXCLUDE
constraints and was lacking a couple of other interesting details.
2010-01-18 00:32:21 +00:00
Tom Lane
9a915e596f Improve the handling of SET CONSTRAINTS commands by having them search
pg_constraint before searching pg_trigger.  This allows saner handling of
corner cases; in particular we now say "constraint is not deferrable"
rather than "constraint does not exist" when the command is applied to
a constraint that's inherently non-deferrable.  Per a gripe several months
ago from hubert depesz lubaczewski.

To make this work without breaking user-defined constraint triggers,
we have to add entries for them to pg_constraint.  However, in return
we can remove the pgconstrname column from pg_constraint, which represents
a fairly sizable space savings.  I also replaced the tgisconstraint column
with tgisinternal; the old meaning of tgisconstraint can now be had by
testing for nonzero tgconstraint, while there is no other way to get
the old meaning of nonzero tgconstraint, namely that the trigger was
internally generated rather than being user-created.

In passing, fix an old misstatement in the docs and comments, namely that
pg_trigger.tgdeferrable is exactly redundant with pg_constraint.condeferrable.
Actually, we mark RI action triggers as nondeferrable even when they belong to
a nominally deferrable FK constraint.  The SET CONSTRAINTS code now relies on
that instead of hard-coding a list of exception OIDs.
2010-01-17 22:56:23 +00:00
Magnus Hagander
1db098974c Fix spelling error, noticed by Thomas Shinnick 2010-01-16 20:38:54 +00:00
Heikki Linnakangas
40f908bdcd Introduce Streaming Replication.
This includes two new kinds of postmaster processes, walsenders and
walreceiver. Walreceiver is responsible for connecting to the primary server
and streaming WAL to disk, while walsender runs in the primary server and
streams WAL from disk to the client.

Documentation still needs work, but the basics are there. We will probably
pull the replication section to a new chapter later on, as well as the
sections describing file-based replication. But let's do that as a separate
patch, so that it's easier to see what has been added/changed. This patch
also adds a new section to the chapter about FE/BE protocol, documenting the
protocol used by walsender/walreceivxer.

Bump catalog version because of two new functions,
pg_last_xlog_receive_location() and pg_last_xlog_replay_location(), for
monitoring the progress of replication.

Fujii Masao, with additional hacking by me
2010-01-15 09:19:10 +00:00
Magnus Hagander
b2aab42467 Update MSVC build instructions.
Updated to reflect building with Visual Studio 2008, with just the
Platform SDK, and for 64-bit Windows.
2010-01-12 20:13:32 +00:00
Bruce Momjian
6ce4e4f39b Remove tabs in SGML file. 2010-01-12 02:33:45 +00:00
Tom Lane
d5e0029862 Add some simple support and documentation for using process-specific oom_adj
settings to prevent the postmaster from being OOM-killed on Linux systems.

Alex Hunsaker and Tom Lane
2010-01-11 18:39:32 +00:00
Simon Riggs
f537e7dfa4 Docs for behaviour change of drop database during Hot Standby
Adding missing docs for previous Hot Standby patch.
2010-01-10 16:27:27 +00:00
Magnus Hagander
48eaa34d44 Update Windows installation notes.
pginstaller isn't used anymore, in favor of the one-click installers.
Make it clear that we support Windows 2000 and newer with the native
port, instead of first saying we support NT4 and then saying we don't.
2010-01-10 15:54:11 +00:00
Robert Haas
8b9fa7a93a Document pg_tablespace.spcoptions.
This should have been part of the original tablespace-options patch, but I
overlooked the need to update this portion of the documentation.
2010-01-10 01:23:08 +00:00
Andrew Dunstan
a2b34b16be Tidy up and refactor plperl.c.
- Changed MULTIPLICITY check from runtime to compiletime.
    No loads the large Config module.
- Changed plperl_init_interp() to return new interp
    and not alter the global interp_state
- Moved plperl_safe_init() call into check_interp().
- Removed plperl_safe_init_done state variable
    as interp_state now covers that role.
- Changed plperl_create_sub() to take a plperl_proc_desc argument.
- Simplified return value handling in plperl_create_sub.
- Changed perl.com link in the docs to perl.org and tweaked
    wording to clarify that require, not use, is what's blocked.
- Moved perl code in large multi-line C string literal macros
    out to plc_*.pl files.
- Added a test2macro.pl utility to convert the plc_*.pl files to
    macros in a perlchunks.h file which is #included
- Simplifed plperl_safe_init() slightly
- Optimized pg_verifymbstr calls to avoid unneeded strlen()s.

Patch from Tim Bunce, with minor editing from me.
2010-01-09 02:40:50 +00:00
Itagaki Takahiro
8964dbd51e Add buffer access counters to pg_stat_statements.
This uses the same infrastructure with EXPLAIN BUFFERS to support
{shared|local}_blks_{hit|read|written} andtemp_blks_{read|written}
columns in the pg_stat_statements view. The dumped file format
also updated.

Thanks to Robert Haas for the review.
2010-01-08 00:38:20 +00:00
Bruce Momjian
6fb791199d Use -Z for vacuumdb --analyze-only, rather than -o. 2010-01-07 14:35:44 +00:00
Bruce Momjian
1a8d4c9277 Rename new vacuumdb option to --analyze-only from --only-analyze. 2010-01-07 12:38:55 +00:00
Tom Lane
f883e2007a Fix missing <manvolnum> markers in dblink reference entries.
Silences complaints from "make man", and allows these man pages
to be included in man3/.
2010-01-06 19:07:05 +00:00
Itagaki Takahiro
946cf229e8 Support rewritten-based full vacuum as VACUUM FULL. Traditional
VACUUM FULL was renamed to VACUUM FULL INPLACE. Also added a new
option -i, --inplace for vacuumdb to perform FULL INPLACE vacuuming.

Since the new VACUUM FULL uses CLUSTER infrastructure, we cannot
use it for system tables. VACUUM FULL for system tables always
fall back into VACUUM FULL INPLACE silently.

Itagaki Takahiro, reviewed by Jeff Davis and Simon Riggs.
2010-01-06 05:31:14 +00:00
Bruce Momjian
3ccb97b2e4 pg_dump --only-analyze
Implement pg_dump --only-analyze for use by pg_migrator to only analyze
all databases.
2010-01-06 02:59:46 +00:00
Bruce Momjian
8cdb85b512 Remove tabs in SGML.
Move OIDCHARS to proper include file.
2010-01-06 02:41:37 +00:00
Robert Haas
d86d51a958 Support ALTER TABLESPACE name SET/RESET ( tablespace_options ).
This patch only supports seq_page_cost and random_page_cost as parameters,
but it provides the infrastructure to scalably support many more.
In particular, we may want to add support for effective_io_concurrency,
but I'm leaving that as future work for now.

Thanks to Tom Lane for design help and Alvaro Herrera for the review.
2010-01-05 21:54:00 +00:00
Tom Lane
64737e9313 Get rid of the need for manual maintenance of the initial contents of
pg_attribute, by having genbki.pl derive the information from the various
catalog header files.  This greatly simplifies modification of the
"bootstrapped" catalogs.

This patch finally kills genbki.sh and Gen_fmgrtab.sh; we now rely entirely on
Perl scripts for those build steps.  To avoid creating a Perl build dependency
where there was not one before, the output files generated by these scripts
are now treated as distprep targets, ie, they will be built and shipped in
tarballs.  But you will need a reasonably modern Perl (probably at least
5.6) if you want to build from a CVS pull.

The changes to the MSVC build process are untested, and may well break ---
we'll soon find out from the buildfarm.

John Naylor, based on ideas from Robert Haas and others
2010-01-05 01:06:57 +00:00
Tom Lane
4c5b4c8bd0 Improve PGXS makefile system to allow the module's makefile to specify
where to install DATA and DOCS files.  This is mainly intended to allow
versioned installation, eg, install into contrib/fooM.N/ rather than
directly into contrib/.

Mark Cave-Ayland
2010-01-04 16:34:11 +00:00
Bruce Momjian
0239800893 Update copyright for the year 2010. 2010-01-02 16:58:17 +00:00
Tom Lane
29c4ad9829 Support "x IS NOT NULL" clauses as indexscan conditions. This turns out
to be just a minor extension of the previous patch that made "x IS NULL"
indexable, because we can treat the IS NOT NULL condition as if it were
"x < NULL" or "x > NULL" (depending on the index's NULLS FIRST/LAST option),
just like IS NULL is treated like "x = NULL".  Aside from any possible
usefulness in its own right, this is an important improvement for
index-optimized MAX/MIN aggregates: it is now reliably possible to get
a column's min or max value cheaply, even when there are a lot of nulls
cluttering the interesting end of the index.
2010-01-01 21:53:49 +00:00
Peter Eisentraut
c584d11bb3 Add information_schema.triggered_update_columns
This reflects the recently added support for triggers on columns.
2009-12-31 14:41:23 +00:00
Peter Eisentraut
3c505ef577 Fill in information schema column for trigger WHEN condition 2009-12-30 22:48:10 +00:00
Peter Eisentraut
ab1725d50b Revert makefile refactoring (version 1.123) because it doesn't work
when building several files at once (e.g.,
gmake postgres-A4.pdf postgres-US.pdf).
2009-12-30 13:48:52 +00:00
Tom Lane
649b5ec7c8 Add the ability to store inheritance-tree statistics in pg_statistic,
and teach ANALYZE to compute such stats for tables that have subclasses.
Per my proposal of yesterday.

autovacuum still needs to be taught about running ANALYZE on parent tables
when their subclasses change, but the feature is useful even without that.
2009-12-29 20:11:45 +00:00
Peter Eisentraut
50ef9f7b06 Small wording improvement and clarification in PL/pgSQL trigger documentation 2009-12-28 19:11:51 +00:00
Bruce Momjian
1fd9883ff4 Zero-label enums:
Allow enums to be created with zero labels, for use during binary upgrade.
2009-12-26 16:55:21 +00:00
Robert Haas
666c845c75 Add missing <indexterm><primary>...</primary>...</indexterm> tags for a couple
of HS-related parameters.

Fujii Masao
2009-12-25 01:09:31 +00:00
Tom Lane
5b7d2a9465 Try to improve the clarity of the psql documentation for the \d family of
commands, as per recent discussion.  Includes suggestions from Adrian Klaver
and Filip Rembialkowski.
2009-12-24 23:36:39 +00:00
Tom Lane
d68e08d1fe Allow the index name to be omitted in CREATE INDEX, causing the system to
choose an index name the same as it would do for an unnamed index constraint.
(My recent changes to the index naming logic have helped to ensure that this
will be a reasonable choice.)  Per a suggestion from Peter.

A necessary side-effect is to promote CONCURRENTLY to type_func_name_keyword
status, ie, it can't be a table/column/index name anymore unless quoted.
This is not all bad, since we have heard more than once of people typing
CREATE INDEX CONCURRENTLY ON foo (...) and getting a normal index build of
an index named "concurrently", which was not what they wanted.  Now this
syntax will result in a concurrent build of an index with system-chosen
name; which they can rename afterwards if they want something else.
2009-12-23 17:41:45 +00:00
Heikki Linnakangas
4e766f2d17 Always pass catalog id to the options validator function specified in
CREATE FOREIGN DATA WRAPPER. Arguably it wasn't a bug because the
documentation said that it's passed the catalog ID or zero, but surely
we should provide it when it's known. And there isn't currently any
scenario where it's not known, and I can't imagine having one in the
future either, so better remove the "or zero" escape hatch and always
pass a valid catalog ID. Backpatch to 8.4.

Martin Pihlak
2009-12-23 12:23:59 +00:00
Robert Haas
7d672e1e1d Fix two small typos in Hot Standby docs.
John Naylor
2009-12-20 03:49:58 +00:00
Peter Eisentraut
8f649c9ac4 Add documentation why reassigning PL/Python function parameters in the
function body can have undesirable outcomes. (bug #5232)
2009-12-19 22:23:21 +00:00
Peter Eisentraut
16dc6f0cf2 Add hot standby to release notes 2009-12-19 20:33:12 +00:00
Bruce Momjian
7ba1f8fcb5 Convert tabs to spaces in SGML. 2009-12-19 17:49:50 +00:00
Tom Lane
0e9c1b1c99 Sigh, I managed to break the no-links-in-plain-text-docs rule too... 2009-12-19 05:37:01 +00:00
Itagaki Takahiro
50b5bec485 Add missing Id keyword to alter_large_object.sgml. 2009-12-19 03:29:28 +00:00
Tom Lane
d2903637b8 Join in the fun of editorializing on the alpha release notes. 2009-12-19 02:38:54 +00:00
Alvaro Herrera
40ee42b447 Update tutorial on the fact that backslash commands are no longer listed in
psql's startup banner.
2009-12-19 02:34:17 +00:00
Tom Lane
c43d26c1af Adjust some more places in the documentation to match the fact that
plpgsql is now installed by default.
2009-12-19 01:49:02 +00:00
Simon Riggs
efc16ea520 Allow read only connections during recovery, known as Hot Standby.
Enabled by recovery_connections = on (default) and forcing archive recovery using a recovery.conf. Recovery processing now emulates the original transactions as they are replayed, providing full locking and MVCC behaviour for read only queries. Recovery must enter consistent state before connections are allowed, so there is a delay, typically short, before connections succeed. Replay of recovering transactions can conflict and in some cases deadlock with queries during recovery; these result in query cancellation after max_standby_delay seconds have expired. Infrastructure changes have minor effects on normal running, though introduce four new types of WAL record.

New test mode "make standbycheck" allows regression tests of static command behaviour on a standby server while in recovery. Typical and extreme dynamic behaviours have been checked via code inspection and manual testing. Few port specific behaviours have been utilised, though primary testing has been on Linux only so far.

This commit is the basic patch. Additional changes will follow in this release to enhance some aspects of behaviour, notably improved handling of conflicts, deadlock detection and query cancellation. Changes to VACUUM FULL are also required.

Simon Riggs, with significant and lengthy review by Heikki Linnakangas, including streamlined redesign of snapshot creation and two-phase commit.

Important contributions from Florian Pflug, Mark Kirkwood, Merlin Moncure, Greg Stark, Gianni Ciolli, Gabriele Bartolini, Hannu Krosing, Robert Haas, Tatsuo Ishii, Hiroyuki Yamada plus support and feedback from many other community members.
2009-12-19 01:32:45 +00:00
Robert Haas
2e9468f2c8 Fix a few typos in the latest 8.5alpha3 release notes. 2009-12-19 00:05:27 +00:00
Peter Eisentraut
2692274dd9 8.5alpha3 release notes up to Fri Dec 18 21:37:38 2009 +0000 2009-12-18 22:11:09 +00:00
Tom Lane
b35b16e696 Fix link that doesn't work in standalone INSTALL document. 2009-12-18 21:37:38 +00:00
Bruce Momjian
96c102fe27 Install server-side language PL/pgSQL by default. 2009-12-18 21:28:42 +00:00
Robert Haas
f5fd651e1b Improve documentation for pg_largeobject changes.
Rewrite the documentation in more idiomatic English, and in the process make
it somewhat more succinct.  Move the discussion of specific large object
privileges out of the "server-side functions" section, where it certainly
doesn't belong, and into "implementation features".  That might not be
exactly right either, but it doesn't seem worth creating a new section for
this amount of information. Fix a few spelling and layout problems, too.
2009-12-17 14:36:16 +00:00
Magnus Hagander
3dfe7e8e0f Remove spurious '22' that clearly shouldn't be there.
David E. Wheeler
2009-12-16 19:38:54 +00:00
Peter Eisentraut
dd4cd55c15 Python 3 support in PL/Python
Behaves more or less unchanged compared to Python 2, but the new language
variant is called plpython3u.  Documentation describing the naming scheme
is included.
2009-12-15 22:59:55 +00:00
Tom Lane
a5495cd841 Add a hook to let loadable modules get control at ProcessUtility execution,
and use it to extend contrib/pg_stat_statements to track utility commands.

Itagaki Takahiro, reviewed by Euler Taveira de Oliveira.
2009-12-15 20:04:49 +00:00
Tom Lane
34d26872ed Support ORDER BY within aggregate function calls, at long last providing a
non-kluge method for controlling the order in which values are fed to an
aggregate function.  At the same time eliminate the old implementation
restriction that DISTINCT was only supported for single-argument aggregates.

Possibly release-notable behavioral change: formerly, agg(DISTINCT x)
dropped null values of x unconditionally.  Now, it does so only if the
agg transition function is strict; otherwise nulls are treated as DISTINCT
normally would, ie, you get one copy.

Andrew Gierth, reviewed by Hitoshi Harada
2009-12-15 17:57:48 +00:00
Tom Lane
6a6efb9640 Fix broken markup. 2009-12-15 15:59:57 +00:00
Itagaki Takahiro
7d67e06297 Add \shell and \setshell meta commands to pgbench.
\shell command runs an external shell command.
\setshell also does the same and sets the result to a variable.

original patch by Michael Paquier with some editorialization by Itagaki,
and reviewed by Greg Smith.
2009-12-15 07:17:57 +00:00
Robert Haas
cddca5ec13 Add an EXPLAIN (BUFFERS) option to show buffer-usage statistics.
This patch also removes buffer-usage statistics from the track_counts
output, since this (or the global server statistics) is deemed to be a better
interface to this information.

Itagaki Takahiro, reviewed by Euler Taveira de Oliveira.
2009-12-15 04:57:48 +00:00
Magnus Hagander
0182d6f646 Allow LDAP authentication to operate in search+bind mode, meaning it
does a search for the user in the directory first, and then binds with
the DN found for this user.

This allows for LDAP logins in scenarios where the DN of the user cannot
be determined simply by prefix and suffix, such as the case where different
users are located in different containers.

The old way of authentication can be significantly faster, so it's kept
as an option.

Robert Fleming and Magnus Hagander
2009-12-12 21:35:21 +00:00
Itagaki Takahiro
f1325ce213 Add large object access control.
A new system catalog pg_largeobject_metadata manages
ownership and access privileges of large objects.

KaiGai Kohei, reviewed by Jaime Casanova.
2009-12-11 03:34:57 +00:00
Andrew Dunstan
324385d67f Add YAML to list of EXPLAIN formats. Greg Sabino Mullane, reviewed by Takahiro Itagaki. 2009-12-11 01:33:35 +00:00
Peter Eisentraut
db7386187f PL/Python array support
Support arrays as parameters and return values of PL/Python functions.
2009-12-10 20:43:40 +00:00
Peter Eisentraut
a37b001b80 Add init[db] option to pg_ctl
pg_ctl gets a new mode that runs initdb.  Adjust the documentation a bit to
not assume that initdb is the only way to run database cluster initialization.
But don't replace initdb as the canonical way.

Author: Zdenek Kotala <Zdenek.Kotala@Sun.COM>
2009-12-10 06:32:28 +00:00
Tom Lane
03d7b0647f Update release notes for releases 8.4.2, 8.3.9, 8.2.15, 8.1.19, 8.0.23,
7.4.27.
2009-12-10 00:31:14 +00:00
Magnus Hagander
2367d6893f Update size references in installation instructions to be a bit
more up-to-date with current versions.
2009-12-09 16:16:34 +00:00
Magnus Hagander
28519de02d Fix a couple of broken links to third-party sites. 2009-12-08 20:08:30 +00:00
Magnus Hagander
ac1b614cc0 Replace broken link to custom local gettext package with one to the main
GNU site for gettext.
2009-12-08 19:22:43 +00:00
Magnus Hagander
8df283d25a Update CVS documentation to be more current and add documentation about
git mirror.

Remove information about cvsup and documentation that's more about cvs
than our use of cvs.

Backpatch to 8.4 so we get the git information up on the website as
soon as possible.
2009-12-07 19:19:56 +00:00
Tom Lane
0cb65564e5 Add exclusion constraints, which generalize the concept of uniqueness to
support any indexable commutative operator, not just equality.  Two rows
violate the exclusion constraint if "row1.col OP row2.col" is TRUE for
each of the columns in the constraint.

Jeff Davis, reviewed by Robert Haas
2009-12-07 05:22:23 +00:00
Peter Eisentraut
636bac6e46 Information schema documentation
Add a sentence of documentation about the differences between the
*_privileges and the role_*_grants views.
2009-12-05 21:31:05 +00:00
Tom Lane
dc588058a0 Clarify what's supposed to happen when a cursor FETCH is rolled back
by aborting a subtransaction.  Per discussion with Heikki.
2009-12-02 21:11:12 +00:00
Bruce Momjian
8c1c2e38f6 thread-safety
Apply full patch to enable thread-safety by default, e.g. doc changes.
2009-12-02 14:07:26 +00:00
Tom Lane
59ed94ad0c Mark application_name as GUC_REPORT so that the value will be reported back
to the client by the server.  This might seem pretty pointless but apparently
it will help pgbouncer, and perhaps other connection poolers.  Anyway it's
practically free to do so for the normal use-case where appname is only set
in the startup packet --- we're just adding a few more bytes to the initial
ParameterStatus response packet.  Per comments from Marko Kreen.
2009-12-02 04:54:10 +00:00
Bruce Momjian
ef51395e24 Revert due to Tom's concerns:
Add ProcessUtility_hook() to handle all DDL to
contrib/pg_stat_statements.
2009-12-01 02:31:13 +00:00
Bruce Momjian
d85cb27293 ProcessUtility_hook:
Add ProcessUtility_hook() to handle all DDL to contrib/pg_stat_statements.

Itagaki Takahiro
2009-12-01 01:08:46 +00:00
Bruce Momjian
29fd97d982 hstore docs
Update hstore docs, mostly word-smithing.

David E. Wheeler
2009-11-30 17:56:09 +00:00
Peter Eisentraut
bb1e8bea02 In SRF example, move oldcontext variable definition into the FIRSTCALL
branch, which is how most actual code is actually structured.  Also fix
slight whitespace misalignment.
2009-11-30 15:49:35 +00:00
Bruce Momjian
be64b3edd1 Properly indent SGML. 2009-11-30 14:47:37 +00:00
Tom Lane
0c61cff57a Make pg_stat_activity.application_name visible to all users, rather than
being hidden when current_query is.  Relocate it to a column position
more consistent with that behavior.  Per discussion.
2009-11-29 18:14:32 +00:00
Tom Lane
42b2907d12 Add support for anonymous code blocks (DO blocks) to PL/Perl.
Joshua Tolley, reviewed by Brendan Jurd and Tim Bunce
2009-11-29 03:02:27 +00:00
Tom Lane
8217cfbd99 Add support for an application_name parameter, which is displayed in
pg_stat_activity and recorded in log entries.

Dave Page, reviewed by Andres Freund
2009-11-28 23:38:08 +00:00
Bruce Momjian
cb98f61538 fsync test tools
Add link to exteran fsync testing script and our fsync test tool.
2009-11-28 16:21:31 +00:00
Bruce Momjian
fe83b975b2 Document ath vacuumdb --analyze does analyze _also_, not in place of
vacuum.
2009-11-27 17:41:26 +00:00
Tom Lane
f0edaecd48 Fix missing end tag, per Jeff Davis. 2009-11-26 21:20:12 +00:00
Tom Lane
da29cc8022 Simplify psql's new linestyle behavior to default to linestyle=ascii all
the time, rather than hoping we can tell whether the terminal supports
UTF8 characters.  Per discussion.
2009-11-25 20:26:31 +00:00
Peter Eisentraut
f6a79c5901 Fix syntax in extract() examples
Author: Erik Rijkers <er@xs4all.nl>
2009-11-24 19:21:15 +00:00
Peter Eisentraut
6e3117c3c9 Add PG_MODULE_MAGIC and some missing include files to examples
Author: Euler Taveira de Oliveira <euler@timbira.com>
2009-11-23 21:41:20 +00:00
Tom Lane
c194ff20d2 Assorted wordsmithing on the documentation of \pset --- try to make it
a bit more consistent and less obviously written by different people at
different times.
2009-11-22 22:06:30 +00:00
Tom Lane
1753337cf5 Improve psql's tabular display of wrapped-around data by inserting markers
in the formerly-always-blank columns just to left and right of the data.
Different marking is used for a line break caused by a newline in the data
than for a straight wraparound.  A newline break is signaled by a "+" in the
right margin column in ASCII mode, or a carriage return arrow in UNICODE mode.
Wraparound is signaled by a dot in the right margin as well as the following
left margin in ASCII mode, or an ellipsis symbol in the same places in UNICODE
mode.  "\pset linestyle old-ascii" is added to make the previous behavior
available if anyone really wants it.

In passing, this commit also cleans up a few regression test files that
had unintended spacing differences from the current actual output.

Roger Leigh, reviewed by Gabrielle Roth and other members of PDXPUG.
2009-11-22 05:20:41 +00:00
Tom Lane
7fc0f06221 Add a WHEN clause to CREATE TRIGGER, allowing a boolean expression to be
checked to determine whether the trigger should be fired.

For BEFORE triggers this is mostly a matter of spec compliance; but for AFTER
triggers it can provide a noticeable performance improvement, since queuing of
a deferred trigger event and re-fetching of the row(s) at end of statement can
be short-circuited if the trigger does not need to be fired.

Takahiro Itagaki, reviewed by KaiGai Kohei.
2009-11-20 20:38:12 +00:00
Tom Lane
c742b795dd Add a hook to CREATE/ALTER ROLE to allow an external module to check the
strength of database passwords, and create a sample implementation of
such a hook as a new contrib module "passwordcheck".

Laurenz Albe, reviewed by Takahiro Itagaki
2009-11-18 21:57:56 +00:00
Tom Lane
5e66a51c2e Provide a parenthesized-options syntax for VACUUM, analogous to that recently
adopted for EXPLAIN.  This will allow additional options to be implemented
in future without having to make them fully-reserved keywords.  The old syntax
remains available for existing options, however.

Itagaki Takahiro
2009-11-16 21:32:07 +00:00
Tom Lane
6317609986 Add control knobs for plpgsql's variable resolution behavior, and make the
default be "throw error on conflict", as per discussions.  The GUC variable
is plpgsql.variable_conflict, with values "error", "use_variable",
"use_column".  The behavior can also be specified per-function by inserting
one of
	#variable_conflict error
	#variable_conflict use_variable
	#variable_conflict use_column
at the start of the function body.

The 8.5 release notes will need to mention using "use_variable" to retain
backward-compatible behavior, although we should encourage people to migrate
to the much less mistake-prone "error" setting.

Update the plpgsql documentation to match this and other recent changes.
2009-11-13 22:43:42 +00:00
Alvaro Herrera
af054db6ef Document the previous FETCH and MOVE changes. 2009-11-11 20:07:57 +00:00
Bruce Momjian
b538b72eeb DIAGNOSTICS/FOUND wording
Update wording of GET DIAGNOSTICS/FOUND, per David Fetter.
2009-11-10 14:22:45 +00:00
Bruce Momjian
6ac697f180 PL/pgSQL FOUND
Document that GET DIAGNOSTICS is affected by EXECUTE, while FOUND is
not.
2009-11-10 02:09:54 +00:00
Tom Lane
593f4b854a Don't treat NEW and OLD as reserved words anymore. For the purposes of rules
it works just as well to have them be ordinary identifiers, and this gets rid
of a number of ugly special cases.  Plus we aren't interfering with non-rule
usage of these names.

catversion bump because the names change internally in stored rules.
2009-11-05 23:24:27 +00:00
Tom Lane
c29ae527e9 Remove plpgsql's RENAME declaration, which has bizarre and mostly nonfunctional
behavior, and is so little used that no one has been interested in fixing it.
To ensure that possible uses are covered, remove the ALIAS declaration's
arbitrary restriction that only $n identifiers can be aliased.

(We could alternatively make RENAME act just like ALIAS, but per discussion
having two different ways to do the same thing is probably more confusing than
helpful.)
2009-11-05 16:58:36 +00:00
Tom Lane
9bedd128d6 Add support for invoking parser callback hooks via SPI and in cached plans.
As proof of concept, modify plpgsql to use the hooks.  plpgsql is still
inserting $n symbols textually, but the "back end" of the parsing process now
goes through the ParamRef hook instead of using a fixed parameter-type array,
and then execution only fetches actually-referenced parameters, using a hook
added to ParamListInfo.

Although there's a lot left to be done in plpgsql, this already cures the
"if (TG_OP = 'INSERT' and NEW.foo ...)"  problem, as illustrated by the
changed regression test.
2009-11-04 22:26:08 +00:00
Tom Lane
46e3a16b05 When FOR UPDATE/SHARE is used with LIMIT, put the LockRows plan node
underneath the Limit node, not atop it.  This fixes the old problem that such
a query might unexpectedly return fewer rows than the LIMIT says, due to
LockRows discarding updated rows.

There is a related problem that LockRows might destroy the sort ordering
produced by earlier steps; but fixing that by pushing LockRows below Sort
would create serious performance problems that are unjustified in many
real-world applications, as well as potential deadlock problems from locking
many more rows than expected.  Instead, keep the present semantics of applying
FOR UPDATE after ORDER BY within a single query level; but allow the user to
specify the other way by writing FOR UPDATE in a sub-select.  To make that
work, track whether FOR UPDATE appeared explicitly in sub-selects or got
pushed down from the parent, and don't flatten a sub-select that contained an
explicit FOR UPDATE.
2009-10-28 14:55:47 +00:00
Tom Lane
61e5328208 Make FOR UPDATE/SHARE in the primary query not propagate into WITH queries;
for example in
  WITH w AS (SELECT * FROM foo) SELECT * FROM w, bar ... FOR UPDATE
the FOR UPDATE will now affect bar but not foo.  This is more useful and
consistent than the original 8.4 behavior, which tried to propagate FOR UPDATE
into the WITH query but always failed due to assorted implementation
restrictions.  Even though we are in process of removing those restrictions,
it seems correct on philosophical grounds to not let the outer query's
FOR UPDATE affect the WITH query.

In passing, fix isLockedRel which frequently got things wrong in
nested-subquery cases: "FOR UPDATE OF foo" applies to an alias foo in the
current query level, not subqueries.  This has been broken for a long time,
but it doesn't seem worth back-patching further than 8.4 because the actual
consequences are minimal.  At worst the parser would sometimes get
RowShareLock on a relation when it should be AccessShareLock or vice versa.
That would only make a difference if someone were using ExclusiveLock
concurrently, which no standard operation does, and anyway FOR UPDATE
doesn't result in visible changes so it's not clear that the someone would
notice any problem.  Between that and the fact that FOR UPDATE barely works
with subqueries at all in existing releases, I'm not excited about worrying
about it.
2009-10-27 17:11:18 +00:00
Alvaro Herrera
b091b9769a Fix documentation on the toast.fillfactor reloption: it doesn't exist.
Per note from Zoltan Boszormenyi.
2009-10-27 13:58:28 +00:00
Peter Eisentraut
76d8883c8e When querying a table with child tables, do not check permissions on the
child tables.  This was found to be useless and confusing in virtually all
cases, and also contrary to the SQL standard.
2009-10-23 05:24:52 +00:00
Tom Lane
ab61df9e52 Remove regex_flavor GUC, so that regular expressions are always "advanced"
style by default.  Per discussion, there seems to be hardly anything that
really relies on being able to change the regex flavor, so the ability to
select it via embedded options ought to be enough for any stragglers.
Also, if we didn't remove the GUC, we'd really be morally obligated to
mark the regex functions non-immutable, which'd possibly create performance
issues.
2009-10-21 20:38:58 +00:00
Tom Lane
289e2905c8 Remove add_missing_from GUC and associated parser support for "implicit RTEs".
Per recent discussion, add_missing_from has been deprecated for long enough to
consider removing, and it's getting in the way of planned parser refactoring.
The system now always behaves as though add_missing_from were OFF.
2009-10-21 20:22:38 +00:00
Peter Eisentraut
e1c96527c7 Finalize 8.5alpha2 release notes, with updates from Josh Berkus 2009-10-21 19:43:06 +00:00
Peter Eisentraut
7bd93589c8 Preliminary release notes for 8.5alpha2 2009-10-20 19:52:58 +00:00
Tom Lane
b2734a0d79 Support SQL-compliant triggers on columns, ie fire only if certain columns
are named in the UPDATE's SET list.

Note: the schema of pg_trigger has not actually changed; we've just started
to use a column that was there all along.  catversion bumped anyway so that
this commit is included in the history of potentially interesting changes
to system catalog contents.

Itagaki Takahiro
2009-10-14 22:14:25 +00:00
Peter Eisentraut
207b4da51d Replace unmatched " by &quot; to avoid throwing off syntax highlighters. 2009-10-13 22:46:13 +00:00
Tom Lane
42ec8ad628 Add "\pset linestyle ascii/unicode" option to psql, allowing our traditional
ASCII-art style of table output to be upgraded to use Unicode box drawing
characters if desired.  By default, psql will use the Unicode characters
whenever client_encoding is UTF8.

The patch forces linestyle=ascii in pg_regress usage, ensuring we don't
break the regression tests in Unicode locales.

Roger Leigh
2009-10-13 21:04:01 +00:00
Tom Lane
8d54c2482b Code review for LIKE INCLUDING patch --- clean up some cosmetic and not
so cosmetic stuff.
2009-10-13 00:53:08 +00:00
Tom Lane
5ec1341136 Use plurals (TABLES, FUNCTIONS, etc) in ALTER DEFAULT PRIVILEGES. We have
the keywords as a consequence of the GRANT ALL patch, so we might as well
use them and make the ALTER commands read more naturally.
2009-10-12 23:41:45 +00:00
Tom Lane
11ca04b4b7 Support GRANT/REVOKE ON ALL TABLES/SEQUENCES/FUNCTIONS IN SCHEMA.
Petr Jelinek
2009-10-12 20:39:42 +00:00
Andrew Dunstan
faa1afc6c1 CREATE LIKE INCLUDING COMMENTS and STORAGE, and INCLUDING ALL shortcut. Itagaki Takahiro. 2009-10-12 19:49:24 +00:00
Tom Lane
05d249717d Improve similar_escape() in two different ways:
* Stop escaping ? and {.  As of SQL:2008, SIMILAR TO is defined to have
POSIX-compatible interpretation of ? as well as {m,n} and related constructs,
so we should allow these things through to our regex engine.

* Escape ^ and $.  It appears that our regex engine will treat ^^ at the
beginning of the string the same as ^, and similarly for $$ at the end of
the string, which meant that SIMILAR TO was effectively ignoring ^ at the
start of the pattern and $ at the end.  Since these are not supposed to be
metacharacters, this is a bug.

The second part of this is arguably a back-patchable bug fix, but I'm
hesitant to do that because it might break applications that are expecting
something like "col SIMILAR TO '^foo$'" to work like a POSIX pattern.
Seems safer to only change it at a major version boundary.

Per discussion of an example from Doug Gorley.
2009-10-10 03:50:15 +00:00
Tom Lane
8a5849b7ff Split the processing of INSERT/UPDATE/DELETE operations out of execMain.c.
They are now handled by a new plan node type called ModifyTable, which is
placed at the top of the plan tree.  In itself this change doesn't do much,
except perhaps make the handling of RETURNING lists and inherited UPDATEs a
tad less klugy.  But it is necessary preparation for the intended extension of
allowing RETURNING queries inside WITH.

Marko Tiikkaja
2009-10-10 01:43:50 +00:00
Peter Eisentraut
b865d27582 Use pg_get_triggerdef in pg_dump
Add a variant of pg_get_triggerdef with a second argument "pretty" that
causes the output to be formatted in the way pg_dump used to do.  Use this
variant in pg_dump with server versions >= 8.5.

This insulates pg_dump from most future trigger feature additions, such as
the upcoming column triggers patch.

Author: Itagaki Takahiro <itagaki.takahiro@oss.ntt.co.jp>
2009-10-09 21:02:56 +00:00
Alvaro Herrera
474f825574 Add the new psql command \drds to the psql docs, help and tab completion.
I also thank Bernd Helmle for the documentation help on the previous settings
patch, which I forgot on the commit message.
2009-10-08 16:34:01 +00:00
Tom Lane
822b0159cc Update plhandler.sgml to describe validators and inline handlers for
procedural languages.
2009-10-08 04:41:07 +00:00
Tom Lane
717fa274d1 Support use of function argument names to identify which actual arguments
match which function parameters.  The syntax uses AS, for example
	funcname(value AS arg1, anothervalue AS arg2)

Pavel Stehule
2009-10-08 02:39:25 +00:00
Alvaro Herrera
2eda8dfb52 Make it possibly to specify GUC params per user and per database.
Create a new catalog pg_db_role_setting where they are now stored, and better
encapsulate the code that deals with settings into its realm.  The old
datconfig and rolconfig columns are removed.

psql has gained a \drds command to display the settings.

Backwards compatibility warning: while the backwards-compatible system views
still have the config columns, they no longer completely represent the
configuration for a user or database.

Catalog version bumped.
2009-10-07 22:14:26 +00:00
Peter Eisentraut
603e72b0be Clean up the clean rules of the documentation
Most things should be cleaned by "make clean", except the parts that are
shipped in the tarball.  These rules had gotten a bit out of whack after
the various restructurings of the documentation build rules.
2009-10-06 20:00:44 +00:00
Alvaro Herrera
051168b6ac Really unbreak maintainer-clean.
(Or rather, unbreak what the previous commit broke)
2009-10-06 00:54:26 +00:00
Alvaro Herrera
1cb4d22e18 Unbreak doc/src/sgml maintainer-clean rule on VPATH builds. 2009-10-05 23:58:49 +00:00
Tom Lane
249724cb01 Create an ALTER DEFAULT PRIVILEGES command, which allows users to adjust
the privileges that will be applied to subsequently-created objects.

Such adjustments are always per owning role, and can be restricted to objects
created in particular schemas too.  A notable benefit is that users can
override the traditional default privilege settings, eg, the PUBLIC EXECUTE
privilege traditionally granted by default for functions.

Petr Jelinek
2009-10-05 19:24:49 +00:00
Bruce Momjian
41f89e3bbc Document the purpose of the GUC listen_addresses. 2009-10-03 23:10:47 +00:00
Tom Lane
d691cb9141 Fix erroneous handling of shared dependencies (ie dependencies on roles)
in CREATE OR REPLACE FUNCTION.  The original code would update pg_shdepend
as if a new function was being created, even if it wasn't, with two bad
consequences: pg_shdepend might record the wrong owner for the function,
and any dependencies for roles mentioned in the function's ACL would be lost.
The fix is very easy: just don't touch pg_shdepend at all when doing a
function replacement.

Also update the CREATE FUNCTION reference page, which never explained
exactly what changes and doesn't change in a function replacement.
In passing, fix the CREATE VIEW reference page similarly; there's no
code bug there, but the docs didn't say what happens.
2009-10-02 18:13:04 +00:00
Tom Lane
f3aec2c7f5 Support "samehost" and "samenet" specifications in pg_hba.conf,
by enumerating the machine's IP interfaces to look for a match.

Stef Walter
2009-10-01 01:58:58 +00:00
Tom Lane
172eacba43 Assorted improvements in contrib/hstore.
Remove the 64K limit on the lengths of keys and values within an hstore.
(This changes the on-disk format, but the old format can still be read.)
Add support for btree/hash opclasses for hstore --- this is not so much
for actual indexing purposes as to allow use of GROUP BY, DISTINCT, etc.
Add various other new functions and operators.

Andrew Gierth
2009-09-30 19:50:22 +00:00
Peter Eisentraut
1d43e5314e Add tooltips to the header links, and make title a link to the home page
based on an idea by Richard Huxton
2009-09-29 20:25:01 +00:00
Tom Lane
960d7ff022 Allow MOVE FORWARD n, MOVE BACKWARD n, MOVE FORWARD ALL, MOVE BACKWARD ALL
in plpgsql.  Clean up a couple of corner cases in the MOVE/FETCH syntax.

Pavel Stehule
2009-09-29 20:05:29 +00:00
Tom Lane
4985635230 Extend the BKI infrastructure to allow system catalogs to be given
hand-assigned rowtype OIDs, even when they are not "bootstrapped" catalogs
that have handmade type rows in pg_type.h.  Give pg_database such an OID.
Restore the availability of C macros for the rowtype OIDs of the bootstrapped
catalogs.  (These macros are now in the individual catalogs' .h files,
though, not in pg_type.h.)

This commit doesn't do anything especially useful by itself, but it's
necessary infrastructure for reverting some ill-considered changes in
relcache.c.
2009-09-26 22:42:03 +00:00
Tom Lane
e33eeb249e Improve example for DO, per Petr Jelinek. 2009-09-23 15:41:51 +00:00
Peter Eisentraut
c2bb0378cf Unicode escapes in E'...' strings
Author: Marko Kreen <markokr@gmail.com>
2009-09-22 23:52:53 +00:00
Tom Lane
9048b73184 Implement the DO statement to support execution of PL code without having
to create a function for it.

Procedural languages now have an additional entry point, namely a function
to execute an inline code block.  This seemed a better design than trying
to hide the transient-ness of the code from the PL.  As of this patch, only
plpgsql has an inline handler, but probably people will soon write handlers
for the other standard PLs.

In passing, remove the long-dead LANCOMPILER option of CREATE LANGUAGE.

Petr Jelinek
2009-09-22 23:43:43 +00:00
Peter Eisentraut
02faeb4ac8 Surrogate pair support for U& string and identifier syntax
This is mainly to make the functionality consistent with the proposed \u
escape syntax.
2009-09-21 22:22:07 +00:00
Tom Lane
923413ac6d Define a new, more extensible syntax for COPY options.
This is intentionally similar to the recently revised syntax for EXPLAIN
options, ie, (name value, ...).  The old syntax is still supported for
backwards compatibility, but we intend that any options added in future
will be provided only in the new syntax.

Robert Haas, Emmanuel Cecchet
2009-09-21 20:10:21 +00:00
Peter Eisentraut
f7e508a759 Make the placeholder naming in the synopses of the SQL help more consistent 2009-09-19 10:23:27 +00:00
Tom Lane
726725d4d9 A bit more wordsmithing on the COPY CSV NULL business. 2009-09-18 20:01:13 +00:00
Michael Meskes
dacaeff5ae Added patch by Bernd Helmle <bernd.helmle@credativ.de> that adds a low level
function that returns the current transaction status.
2009-09-18 13:13:32 +00:00
Peter Eisentraut
20f7f019f9 Easier to translate psql help
Instead of requiring translators to translate the entire SQL command
synopses, change create_help.pl to only require them to translate the
placeholders, and paste those into the synopsis using a printf mechanism.
Make some small updates to the markup to make it easier to parse.

Note: This causes msgmerge of gettext 0.17 to segfault.  You will need
the patch from https://savannah.gnu.org/bugs/?27474 to make it work.
msgmerge usually only runs on babel.postgresql.org, however.
2009-09-18 05:00:42 +00:00
Bruce Momjian
ef9619609a CSV NULL Documentation
Update docs to clearly explain NULL value matching behavior, per Andrew.

Backpatch to 8.4.X.
2009-09-17 21:49:15 +00:00
Bruce Momjian
41a40fe4a2 CVS NULL Documentation
Clearify documentation of CVS's output of NULL values, per suggestion
from Magnus.

Backpatch to 8.4.X.
2009-09-17 21:13:01 +00:00
Peter Eisentraut
c82fdb6984 Print builds don't actually depend on html target (anymore). 2009-09-14 13:23:48 +00:00
Peter Eisentraut
6689ce3e6a Document that autovacuum_max_workers can only be set at server start
per Joshua Tolley
2009-09-13 19:52:29 +00:00
Tom Lane
5f1b32ddf8 Improve GRANT reference page's description of object ownership
privileges by mentioning the possibility of granting membership in
the owning role.
2009-09-12 16:26:06 +00:00
Tom Lane
8c5463a511 Increase the maximum value of extra_float_digits to 3, and have pg_dump
use that value when the backend is new enough to allow it.  This responds
to bug report from Keh-Cheng Chu pointing out that although 2 extra digits
should be sufficient to dump and restore float8 exactly, it is possible to
need 3 extra digits for float4 values.
2009-09-11 19:17:04 +00:00
Peter Eisentraut
680bf3268c Remove claim that this chapter discusses rules and triggers.
per Bruno Guimarães Carneiro
2009-09-11 12:53:24 +00:00
Alvaro Herrera
19fd0c2e56 Add note that the logging collector can block backends in high load situations. 2009-09-10 15:02:46 +00:00
Tom Lane
eeb6cb143a Add a boolean GUC parameter "bonjour" to control whether a Bonjour-enabled
build actually attempts to advertise itself via Bonjour.  Formerly it always
did so, which meant that packagers had to decide for their users whether
this behavior was wanted or not.  The default is "off" to be on the safe
side, though this represents a change in the default behavior of a
Bonjour-enabled build.  Per discussion.
2009-09-08 17:08:36 +00:00
Tom Lane
a2367f89ff Add a note warning that COPY BINARY is very datatype-specific.
Per a complaint from Gordon Shannon.
2009-09-05 23:58:01 +00:00
Tom Lane
1608489b2d Final updates of release notes for 8.4.1, 8.3.8, 8.2.14, 8.1.18, 8.0.22,
7.4.26.
2009-09-03 22:13:47 +00:00
Tom Lane
602a9ef5a7 Make LOAD of an already-loaded library into a no-op, instead of attempting
to unload and re-load the library.

The difficulty with unloading a library is that we haven't defined safe
protocols for doing so.  In particular, there's no safe mechanism for
getting out of a "hook" function pointer unless libraries are unloaded
in reverse order of loading.  And there's no mechanism at all for undefining
a custom GUC variable, so GUC would be left with a pointer to an old value
that might or might not still be valid, and very possibly wouldn't be in
the same place anymore.

While the unload and reload behavior had some usefulness in easing
development of new loadable libraries, it's of no use whatever to normal
users, so just disabling it isn't giving up that much.  Someday we might
care to expend the effort to develop safe unload protocols; but even if
we did, there'd be little certainty that every third-party loadable module
was following them, so some security restrictions would still be needed.

Back-patch to 8.2; before that, LOAD was superuser-only anyway.

Security: unprivileged users could crash backend.  CVE not assigned yet
2009-09-03 22:11:07 +00:00
Peter Eisentraut
234c7ce9f2 Derived files that are shipped in the distribution used to be built in the
source directory even for out-of-tree builds.  They are now alsl built in
the build tree.  This should be more convenient for certain developers'
workflows, and shouldn't really break anything else.
2009-08-28 20:26:19 +00:00
Tom Lane
bb16dc49ab Modify the definition of window-function PARTITION BY and ORDER BY clauses
so that their elements are always taken as simple expressions over the
query's input columns.  It originally seemed like a good idea to make them
act exactly like GROUP BY and ORDER BY, right down to the SQL92-era behavior
of accepting output column names or numbers.  However, that was not such a
great idea, for two reasons:

1. It permits circular references, as exhibited in bug #5018: the output
column could be the one containing the window function itself.  (We actually
had a regression test case illustrating this, but nobody thought twice about
how confusing that would be.)

2. It doesn't seem like a good idea for, eg, "lead(foo) OVER (ORDER BY foo)"
to potentially use two completely different meanings for "foo".

Accordingly, narrow down the behavior of window clauses to use only the
SQL99-compliant interpretation that the expressions are simple expressions.
2009-08-27 20:08:03 +00:00
Alvaro Herrera
f065b17d9f Fix broken markup
Jan Urbański
2009-08-27 20:05:28 +00:00
Bruce Momjian
a814170d89 Update release notes for 7.4.26, 8.0.22, 8.1.18, 8.2.14, 8.3.8, 8.4.1. 2009-08-27 01:27:34 +00:00
Peter Eisentraut
9d182ef002 Update of install-sh, mkinstalldirs, and associated configury
Update install-sh to that from Autoconf 2.63, plus our Darwin-specific
changes (which I simplified a bit).  install-sh is now able to install
multiple files in one run, so we could simplify our makefiles sometime.

install-sh also now has a -d option to create directories, so we don't need
mkinstalldirs anymore.

Use AC_PROG_MKDIR_P in configure.in, so we can use mkdir -p when available
instead of install-sh -d.  For consistency with the rest of the world,
the corresponding make variable has been renamed from $(mkinstalldirs) to
$(MKDIR_P).
2009-08-26 22:24:44 +00:00
Peter Eisentraut
6c74c9dad8 Correct my overly enthusiastic CSS simplification. 2009-08-26 21:18:29 +00:00
Peter Eisentraut
ae3da8ad40 Update the documentation CSS stylesheet to current web site style 2009-08-26 13:56:24 +00:00
Tom Lane
8bed238c87 Try to make silent_mode behave somewhat reasonably.
Instead of sending stdout/stderr to /dev/null after forking away from the
terminal, send them to postmaster.log within the data directory.  Since
this opens the door to indefinite logfile bloat, recommend even more
strongly that log output be redirected when using silent_mode.

Move the postmaster's initial calls of load_hba() and load_ident() down
to after we have started the log collector, if we are going to.  This
is so that errors reported by them will appear in the "usual" place.

Reclassify silent_mode as a LOGGING_WHERE, not LOGGING_WHEN, parameter,
since it's got absolutely nothing to do with the latter category.

In passing, fix some obsolete references to -S ... this option hasn't
had that switch letter for a long time.

Back-patch to 8.4, since as of 8.4 load_hba() and load_ident() are more
picky (and thus more likely to fail) than they used to be.  This entire
change was driven by a complaint about those errors disappearing into
the bit bucket.
2009-08-24 20:08:32 +00:00
Bruce Momjian
1710800813 Remove tabs from SGML. 2009-08-20 12:12:37 +00:00
Peter Eisentraut
c9ebd16dfa Alter release note item about PL/pgSQL functions and dropped columns.
per Pavel Stehule
2009-08-19 08:18:48 +00:00
Peter Eisentraut
215988f766 Update alpha release notes to current. 2009-08-19 07:54:21 +00:00
Tom Lane
be4cd18f71 Allow mixing of traditional and SQL:2008 LIMIT/OFFSET syntax. Being rigid
about it doesn't simplify the grammar at all, and it does invite confusion
among those who only read the SELECT syntax summary and not the full details.
Per gripe from Jaime Casanova.
2009-08-18 23:40:20 +00:00
Peter Eisentraut
e31b35faa5 Remove duplicate from release notes, and reorganize slightly. 2009-08-18 16:54:12 +00:00
Teodor Sigaev
92e05bc6a5 Unaccent dictionary. 2009-08-18 10:34:39 +00:00
Peter Eisentraut
77dfb64df4 Add release notes for 8.5alpha1 2009-08-17 22:14:44 +00:00
Peter Eisentraut
42d2470c38 Make version.sgml depend on configure instead of Makefile.global. This
cheats a bit, but it avoids unsatisfied dependencies in distribution
tarballs.  (found by make distcheck)
2009-08-17 21:29:30 +00:00
Tom Lane
26a90c654f Fix imprecise documentation of random(): it never returns 1.0.
This was changed in 8.2 but the documentation was not corrected.
Per gripe from Sam Mason.
2009-08-16 19:55:21 +00:00
Tom Lane
b328853733 Make sure that 'make distclean' cleans out all files that are not meant
to be shipped.  Also, allow 'make clean' to remove intermediate working files.
2009-08-15 01:56:35 +00:00
Peter Eisentraut
1a6d678f00 Clarify the documentation about PL/Perl nested subroutines, per Josh
Berkus.
2009-08-15 00:33:12 +00:00
Teodor Sigaev
abd8c94ff9 Add prefix support for synonym dictionary 2009-08-14 14:53:20 +00:00
Tom Lane
5d3e2324a6 The html-stamp and man-stamp files also need to be cvsignore'd. 2009-08-12 21:03:52 +00:00
Peter Eisentraut
ef7574eb01 Document the minimum required Python version.
It turns out that Python 2.2 is the oldest version that PL/Python compiles
with, apparently related to the introduction of iterators.  Might as well
document this.
2009-08-12 16:32:35 +00:00
Peter Eisentraut
f4a4aec4b3 Add .cvsignore entries for documentation files 2009-08-11 22:22:15 +00:00
Peter Eisentraut
99909881fb Remove unnecessary files from distribution 2009-08-11 22:21:51 +00:00
Peter Eisentraut
a16461dfad Simplify and speed up man page installation 2009-08-11 21:53:06 +00:00
Alvaro Herrera
61c4513cc9 Refactor some $(JADE.tex.call)s 2009-08-11 20:16:03 +00:00
Bruce Momjian
6f44878018 Remove tab in SGML. 2009-08-11 12:02:58 +00:00
Alvaro Herrera
6c157684c7 Fix URL to "The Hitch-Hiker's Guide to Evolutionary Computation".
Per Andreas Wenk, Andres Freund and Rob Wultsh.  Thanks, Robert Haas, for the
patch.
2009-08-10 22:41:38 +00:00
Alvaro Herrera
59ab8c6c73 Fix number of columns declared for pg_user_mappings description table. 2009-08-10 22:13:50 +00:00
Tom Lane
e61fd4ac74 Support EEEE (scientific notation) in to_char().
Pavel Stehule, Brendan Jurd
2009-08-10 18:29:27 +00:00
Tom Lane
f3f6737af9 Adjust extract(epoch) example to clarify that it includes fractional
seconds, per gripe from Richard Neill.  Also, add a cross-reference to
the to_timestamp function.
2009-08-10 16:10:19 +00:00
Tom Lane
9bd27b7c9e Extend EXPLAIN to support output in XML or JSON format.
There are probably still some adjustments to be made in the details
of the output, but this gets the basic structure in place.

Robert Haas
2009-08-10 05:46:50 +00:00
Andrew Dunstan
18894c401f Re-add documentation for --no-readline option of psql, mistakenly removed a decade ago. Backpatch to release 7.4. 2009-08-10 02:39:04 +00:00
Peter Eisentraut
ed9208829a Ship documentation without intermediate tarballs
Documentation files in HTML and man formats are now prepared for
distribution using the distprep make target, like everything else.  They
are placed in doc/src/sgml/html and manX and installed from there by
make install, if present.  The business with the tarballs in the tarball
is gone.
2009-08-09 22:47:59 +00:00
Alvaro Herrera
05f43650fc Document that autovacuum may run ANALYZE 2009-08-07 20:54:31 +00:00
Peter Eisentraut
7798147a76 Expand test coverage support to entire tree
Test coverage support now covers the entire source tree, including
contrib, instead of just src/backend.  In a related but independent
development, the commands make coverage and make coverage-html can be run
in any directory.

This turned out to be much easier than feared.  Besides a few ad hoc fixes
to pass the make target down the tree, change all affected makefiles to
list their directories in the SUBDIRS variable, changed from variants like
DIRS and WANTED_DIRS.  MSVC build fix was attempted as well.
2009-08-07 20:50:22 +00:00
Alvaro Herrera
6403c35ee6 Fix manpages related to SPI functions.
This patch adds declaration so that they end up in section 3, and adds
them to the Makefiles to install them.

Also, some synopses needed reflowing so that they look nice in 80-column
terminals.
2009-08-05 19:31:50 +00:00
Tom Lane
25bd9ce31b Add matchorig, matchsynonyms, and keepsynonyms options to contrib/dict_xsyn.
Sergey Karpov
2009-08-05 18:06:49 +00:00
Joe Conway
f4095b4c4b Implement dblink_get_notify().
Adds the ability to retrieve async notifications using dblink,
via the addition of the function dblink_get_notify(). Original patch
by Marcus Kempe, suggestions by Tom Lane and Alvaro Herrera, patch
review and adjustments by Joe Conway.
2009-08-05 16:11:07 +00:00
Peter Eisentraut
c29d7f02c2 Use DocBook XSL stylesheets for man page building
This switches the man page building process to use the DocBook XSL stylesheet
toolchain.  The previous targets for Docbook2X are removed. configure has been
updated to look for the new tools.  The Documentation appendix contains the
new build instructions.  There are also a few isolated tweaks in the
documentation to improve places that came out strangely in the man pages.
2009-08-04 22:04:37 +00:00
Tom Lane
a2a8c7a662 Support hex-string input and output for type BYTEA.
Both hex format and the traditional "escape" format are automatically
handled on input.  The output format is selected by the new GUC variable
bytea_output.

As committed, bytea_output defaults to HEX, which is an *incompatible
change*.  We will keep it this way for awhile for testing purposes, but
should consider whether to switch to the more backwards-compatible
default of ESCAPE before 8.5 is released.

Peter Eisentraut
2009-08-04 16:08:37 +00:00
Tom Lane
f192e4a5d0 Cause pg_proc.probin to be declared as text, not bytea. Everything was
already treating it as text anyway, to the point that I couldn't find anything
to change except the datatype markings in catalog/*.h.  The only effect that
the bytea declaration had was to cause byteaout() to be invoked when pg_dump
(or another client program) inspected the column value.  Since pg_dump wasn't
expecting that, but just treating what it got as text, the net result is that
dump and reload would mangle any backslashes or non-ASCII characters in the
filename string for a C-language function.  That is a very long-standing bug,
but given the lack of field complaints it doesn't seem worth trying to find
a back-patchable fix.  We'll just make this change to fix it going forward.

This change will also forestall problems after the planned change to let bytea
emit hex output instead of escaped characters.
2009-08-04 04:04:12 +00:00
Joe Conway
be6bca23b3 Implement has_sequence_privilege()
Add family of functions that did not exist earlier,
mainly due to historical omission. Original patch by
Abhijit Menon-Sen, with review and modifications by
Joe Conway. catversion.h bumped.
2009-08-03 21:11:40 +00:00
Tom Lane
7ffb14f9db Portability and documentation fixes for threaded pgbench patch. 2009-08-03 18:30:55 +00:00
Tatsuo Ishii
3da0dfb4b1 Multi-threaded version of pgbench contributed by ITAGAKI Takahiro,
reviewed by Greg Smith and Josh Williams.

Following is the proposal from ITAGAKI Takahiro:

Pgbench is a famous tool to measure postgres performance, but nowadays
it does not work well because it cannot use multiple CPUs. On the other
hand, postgres server can use CPUs very well, so the bottle-neck of
workload is *in pgbench*.

Multi-threading would be a solution. The attached patch adds -j
(number of jobs) option to pgbench. If the value N is greater than 1,
pgbench runs with N threads. Connections are equally-divided into
them (ex. -c64 -j4 => 4 threads with 16 connections each). It can
run on POSIX platforms with pthread and on Windows with win32 threads.

Here are results of multi-threaded pgbench runs on Fedora 11 with intel
core i7 (8 logical cores = 4 physical cores * HT). -j8 (8 threads) was
the best and the tps is 4.5 times of -j1, that is a traditional result.

$ pgbench -i -s10
$ pgbench -n -S -c64 -j1   =>  tps = 11600.158593
$ pgbench -n -S -c64 -j2   =>  tps = 17947.100954
$ pgbench -n -S -c64 -j4   =>  tps = 26571.124001
$ pgbench -n -S -c64 -j8   =>  tps = 52725.470403
$ pgbench -n -S -c64 -j16  =>  tps = 38976.675319
$ pgbench -n -S -c64 -j32  =>  tps = 28998.499601
$ pgbench -n -S -c64 -j64  =>  tps = 26701.877815

Is it acceptable to use pthread in contrib module?
If ok, I will add the patch to the next commitfest.
2009-08-03 15:18:14 +00:00
Tom Lane
9072592946 Add ALTER TABLE ... ALTER COLUMN ... SET STATISTICS DISTINCT
Robert Haas
2009-08-02 22:14:53 +00:00
Tom Lane
25d9bf2e3e Support deferrable uniqueness constraints.
The current implementation fires an AFTER ROW trigger for each tuple that
looks like it might be non-unique according to the index contents at the
time of insertion.  This works well as long as there aren't many conflicts,
but won't scale to massive unique-key reassignments.  Improving that case
is a TODO item.

Dean Rasheed
2009-07-29 20:56:21 +00:00
Tom Lane
c1b9ec24ef Add system catalog columns pg_constraint.conindid and pg_trigger.tgconstrindid.
conindid is the index supporting a constraint.  We can use this not only for
unique/primary-key constraints, but also foreign-key constraints, which
depend on the unique index that constrains the referenced columns.
tgconstrindid is just copied from the constraint's conindid field, or is
zero for triggers not associated with constraints.

This is mainly intended as infrastructure for upcoming patches, but it has
some virtue in itself, since it exposes a relationship that you formerly
had to grovel in pg_depend to determine.  I simplified one information_schema
view accordingly.  (There is a pg_dump query that could also use conindid,
but I left it alone because it wasn't clear it'd get any faster.)
2009-07-28 02:56:31 +00:00
Tom Lane
d4382c4ae7 Extend EXPLAIN to allow generic options to be specified.
The original syntax made it difficult to add options without making them
into reserved words.  This change parenthesizes the options to avoid that
problem, and makes provision for an explicit (and perhaps non-Boolean)
value for each option.  The original syntax is still supported, but only
for the two original options ANALYZE and VERBOSE.

As a test case, add a COSTS option that can suppress the planner cost
estimates.  This may be useful for including EXPLAIN output in the regression
tests, which are otherwise unable to cope with cross-platform variations in
cost estimates.

Robert Haas
2009-07-26 23:34:18 +00:00
Tom Lane
a07e5acebb Code review for FORCE QUOTE * patch: fix error checking to consider FORCE
QUOTE * as a variety of FORCE QUOTE, and update psql documentation to include
the option.  (The actual psql code doesn't seem to need any changes.)
2009-07-25 17:04:19 +00:00
Andrew Dunstan
de7531a971 Allow * as parameter for FORCE QUOTE for COPY CSV. Itagaki Takahiro. 2009-07-25 00:07:14 +00:00
Peter Eisentraut
5e22994127 Document \dg+ and \du+
The fact that \dg and \du take the + option was missing in the documentation.

backpatched to 8.4

Author: Andreas Wenk <a.wenk@netzmeister-st-pauli.de>
2009-07-24 19:35:44 +00:00
Andrew Dunstan
00f0b47539 Update location to download flex for building on Windows. 2009-07-23 17:06:48 +00:00
Peter Eisentraut
2afa73a9e8 Clarify NULLIF example
found by "Vesa-Matti J Kari" <vmkari@cc.helsinki.fi>
2009-07-22 18:07:26 +00:00
Tom Lane
ca7c8168de Tweak TOAST code so that columns marked with MAIN storage strategy are
not forced out-of-line unless that is necessary to make the row fit on a
page.  Previously, they were forced out-of-line if needed to get the row
down to the default target size (1/4th page).

Kevin Grittner
2009-07-22 01:21:22 +00:00
Peter Eisentraut
f3f45c87d2 Remove translated FAQs
The English FAQ has been moved to the wiki, so the translated versions should
have been removed at that point as well.

The FAQ_MINGW.html should have been removed when the platform FAQs were
integrated into the documentation (or earlier).

applied to both 8.4 and 8.5
2009-07-21 19:20:33 +00:00
Peter Eisentraut
7405f2cc85 Small additional clean from the rearrangement of the HTML index build rules 2009-07-20 18:34:58 +00:00
Andrew Dunstan
e73131a16a DROP IF EXISTS for columns and constraints. Andres Freund. 2009-07-20 02:42:28 +00:00
Tom Lane
f5bc74192d Make GEQO's planning deterministic by having it start from a predictable
random number seed each time.  This is how it used to work years ago, but
we got rid of the seed reset because it was resetting the main random()
sequence and thus having undesirable effects on the rest of the system.
To fix, establish a private random number state for each execution of
geqo(), and initialize the state using the new GUC variable geqo_seed.
People who want to experiment with different random searches can do so
by changing geqo_seed, but you'll always get the same plan for the same
value of geqo_seed (if holding all other planner inputs constant, of course).

The new state is kept in PlannerInfo by adding a "void *" field reserved
for use by join_search hooks.  Most of the rather bulky code changes in
this commit are just arranging to pass PlannerInfo around to all the GEQO
functions (many of which formerly didn't receive it).

Andres Freund, with some editorialization by Tom
2009-07-16 20:55:44 +00:00
Peter Eisentraut
4ef8dc7a75 Rearrangement of the HTML docs build rules
Set up proper makefile dependencies in the documentation build rules,
especially around the HTML/index build.  The problem we've had with all
previous solutions is that we have used the same file name, such as HTML.index
or bookindex.sgml, to mean different things at different stages of the build,
and make can't distinguish that.  The solution here is that the first jade run
produces HTML.index, but does not require bookindex.sgml at all, and produces
no other html output (the latter an idea from Alvaro).  The second jade run
includes bookindex.sgml, but does not recreate HTML.index.  That way, when you
change an sgml file, jade is run twice and at the end all dependencies are
satisfied.  Omitting the html output in the first stage also makes the full
build a lot faster.

When you run one of the print format targets, only the first jade run is run,
then the print target-specific commands.  If an HTML build has completed
previously, the first jade run is skipped because the dependencies have
already been satisfied.

The draft and check targets for quick builds and syntax verification are still
there.
2009-07-14 22:16:38 +00:00
Peter Eisentraut
d1ba29420b Update information schema to SQL:2008
- yes_or_no domain for "boolean" data
 - new columns for VIEWS view
 - slight section renumbering
2009-07-13 20:25:57 +00:00
Tom Lane
da4b900176 Advance the minimum required version of "flex" from 2.5.4 to 2.5.31, and
update documentation accordingly.  This is required in order to have support
for a reentrant scanner.  I'm committing this bit separately in order to have
an easy reference if we later decide to make the minimum something different
(like 2.5.33).
2009-07-13 01:51:56 +00:00
Peter Eisentraut
23d830bd9a Alter some gratuitous uses of "ANSI" when "SQL standard" might have been
meant or the reference to a standard was unnecessary.
2009-07-11 21:15:32 +00:00
Peter Eisentraut
c95db342e7 Correct what ISO stands for 2009-07-11 21:13:21 +00:00
Tom Lane
53e7229258 Add missing HOUR TO SECOND option to list of possible INTERVAL field sets,
as noted by Sebastien Flaesch.  Also update the claim that we simply throw
away fields outside this set --- that got changed later to only discard
less-significant fields.
2009-07-08 17:21:55 +00:00
Peter Eisentraut
e292dbcf54 More sensible character_octet_length
For character types with typmod, character_octet_length columns in the
information schema now show the maximum character length times the
maximum length of a character in the server encoding, instead of some
huge value as before.
2009-07-07 18:23:15 +00:00
Peter Eisentraut
f39df967e9 Add log_line_prefix placeholder %e to contain the current SQL state
Author: Guillaume Smet <guillaume.smet@gmail.com>
2009-07-03 19:14:25 +00:00
Tom Lane
47f6699d00 Remove useless References column for pg_listener catalog description. Per Shigehiro Honda. 2009-07-01 23:57:33 +00:00
Tom Lane
f4ab0b032b Stamp HEAD as 8.5devel. 2009-07-01 23:15:55 +00:00
Tom Lane
4d53a2f969 Revert addition of "o" to tar options. This was intended to fix bug #4883,
but the cure appears to be worse than the disease.  It turns out that GNU
tar versions 1.14.x misinterpret -o as --same-owner, not --no-same-owner,
leading to exactly the wrong behavior for both root and nonroot users.
While that bug has been fixed for nearly five years, these tar versions
are still found in the wild, notably in OS X 10.4.  Given that #4883 was
the first complaint we'd heard, it's definitely not worth fixing at the
risk of breaking things for other users.  Perhaps revisit at a later date
when we're not up against a release deadline.
2009-06-27 21:06:46 +00:00
Marc G. Fournier
41f467f343 Bundle v8.4.0 2009-06-27 00:14:47 +00:00
Tom Lane
730e1a9c95 Update release notes in final preparation for 8.4.0. 2009-06-26 22:23:17 +00:00
Tom Lane
9d6469c9b2 Add a note about SystemTap vs DTrace spelling of probe names. 2009-06-26 22:08:17 +00:00
Tom Lane
df858fe58a Marginal improvement of description of recovery_end_command. 2009-06-26 22:06:11 +00:00
Peter Eisentraut
a87a1e5428 Extract tarballs with "o" option (tar xof), to behave reasonably when run
as root, as would usually be the case during make install.

per bug #4883
2009-06-26 06:40:57 +00:00
Peter Eisentraut
6bcdb8aa85 Use $(TAR) instead of tar in makefiles. 2009-06-26 06:37:14 +00:00
Peter Eisentraut
e6b8f47047 Man pages back to lowercase names, with additional fixup to make the .so
links work.
2009-06-25 21:15:38 +00:00
Heikki Linnakangas
8fd733bd19 Disable pg_standby -l option because the backend doesn't expect the recovered
file to be a symlink. We tried to fix this issue with an earlier server-side
patch, but it didn't fix the whole issue.

The same bug is present in older releases as well, but the 8.4 train is
about to leave the station, and I'm not sure if have consensus on whether
we can remove the -l option in back-branches or do we need to attempt a
server-side fix to make symlinking safe.

Patch by Simon Riggs, per discussion on bug identified by Fujii Masao.
2009-06-25 12:03:11 +00:00
Magnus Hagander
286518e6f4 Fix incorrect LDAP example, noted by Tom. 2009-06-24 13:46:32 +00:00
Tom Lane
d82e9f72b9 Provide a link to the UPDATE reference page in the 'Updating Data'
section of the docs.  Per suggestion from Brad Bowman.
2009-06-23 20:33:25 +00:00
Tom Lane
8d355d7bbf Fix the makefiles to fail cleanly if Perl is needed but not present. This
used to work as intended, but got broken some time ago (a quoted empty string
is not an empty string), and got broken some more by the changes to generate
ecpg's preproc.y automatically.  Given all the unprotected uses of $(PERL)
elsewhere, it seems best to make use of the $(missing) script rather than
trying to ensure each such use is protected individually.  Also fix various
bits of documentation that omitted to mention Perl as a requirement for
building from a CVS pull.  Per a complaint from Robert Haas.
2009-06-23 03:46:00 +00:00
Marc G. Fournier
bc00ceb159 bundle RC2 2009-06-22 23:15:02 +00:00
Peter Eisentraut
18df0ffbd2 Add more explicit note that the parameters of MOVE are identical to FETCH.
per David Wheeler
2009-06-22 07:12:50 +00:00
Tom Lane
82480e28f5 Fix things so that array_agg_finalfn does not modify or free its input
ArrayBuildState, per trouble report from Merlin Moncure.  By adopting
this fix, we are essentially deciding that aggregate final-functions
should not modify their inputs ever.  Adjust documentation and comments
to match that conclusion.
2009-06-20 18:45:28 +00:00
Peter Eisentraut
87698ffa8e Extend man page installation hackery so that the man page section is also
fixed up in the .so links.
2009-06-19 19:15:13 +00:00
Peter Eisentraut
c79b4505c1 Don't convert the man page names to lower case, so that the .so links work.
This is pretty much a workaround for incomplete tools, but having the man
page names in upper case looks more natural anyway.
2009-06-19 19:14:25 +00:00
Peter Eisentraut
6f1286c12d Add manvolnum, so that man pages are generated. 2009-06-19 15:28:25 +00:00
Peter Eisentraut
a091ac46ca Don't attempt to "rm" directories on uninstall. 2009-06-18 15:10:35 +00:00
Peter Eisentraut
95289ea90b Recursive Joins -> Recursive Queries
per Erik Rijkers
2009-06-18 14:42:08 +00:00
Peter Eisentraut
9405b16f3a Add some more documentation and cross-links on using dblink with SQL/MED. 2009-06-18 14:34:36 +00:00
Peter Eisentraut
12bc87e09b Refine the use of terminology around bound and unbound cursors and cursor
variables. Remove the confusing term "reference cursor".
2009-06-18 10:22:09 +00:00
Tom Lane
c30446b9c9 Proofreading for Bruce's recent round of documentation proofreading.
Most of those changes were good, but some not so good ...
2009-06-17 21:58:49 +00:00
Peter Eisentraut
5126826c52 Add another link of a GUC variable to where it is explained. 2009-06-17 13:59:28 +00:00
Tom Lane
a0a3883dd9 Improve documentation about GiST opclass support functions.
Dimitri Fontaine
2009-06-12 19:48:53 +00:00
Tom Lane
63e183ca46 Add info about minimum recommended AIX fix levels, per Laurenz Albe. 2009-06-12 15:53:32 +00:00
Marc G. Fournier
35daaa91d3 time to tag rc1 ... 2009-06-12 05:19:22 +00:00
Tom Lane
ae8a2d1a3a Update release notes to today. 2009-06-11 21:44:26 +00:00
Tom Lane
db16e77349 Remove our inadequate kluge that tried to get AIX's various broken versions
of getaddrinfo() to work.  Instead, recommend updating the OS to get a working
version of getaddrinfo.  Per recent discussions.
2009-06-11 19:00:15 +00:00
Tom Lane
14180f9214 Add warning that xpath() doesn't work with non-UTF8 data. 2009-06-10 20:25:41 +00:00
Tom Lane
661b3e79c4 Add a warning about possible strange behavior of volatile functions
in cursors.  This has always been the case, but given the lack of user
complaints about it, I'm not going to bother back-patching this.
2009-06-10 19:21:37 +00:00
Peter Eisentraut
208d3a7555 Correct/improve the datetime_precision field in the information schema.
In particular, always show 0 for the date type instead of null, and show
6 (the default) for time, timestamp, and interval without a declared
precision.  This is now in fuller conformance with the SQL standard.

Also clarify the documentation about this.

discovered and analyzed by Konstantin Izmailov and Tom Lane
2009-06-10 07:03:34 +00:00
Tom Lane
a1fd650d2b Fix contrib/pageinspect to not create an ABI breakage between 8.3 and 8.4.
The original implementation of the 3-argument form of get_raw_page() risked
core dumps if the 8.3 SQL function definition was mistakenly used with the
8.4 module, which is entirely likely after a dump-and-reload upgrade.  To
protect 8.4 beta testers against upgrade problems, add a check on PG_NARGS.

In passing, fix missed additions to the uninstall script, and polish the
docs a trifle.
2009-06-08 16:22:44 +00:00
Tom Lane
506183e485 Be a bit more verbose about the effects of string literal processing
changes in plpgsql.  Per bug #4843.
2009-06-08 14:57:21 +00:00
Tom Lane
156475a589 Revert my patch of 2009-04-04 that removed contrib/intarray's definitions of
the <@ and @> operators.  These are not in fact equivalent to the built-in
anyarray operators of the same names, because they have different behavior for
empty arrays, namely they don't think empty arrays are contained in anything.
That is mathematically wrong, no doubt, but until we can persuade GIN indexes
to implement the mathematical definition we should probably not change this.
Another reason for not changing it now is that we can't yet ensure the
opclasses will be updated correctly in a dump-and-reload upgrade.  Per
recent discussions.
2009-06-07 20:09:34 +00:00
Joe Conway
4334695b30 Add support for using SQL/MED compliant FOREIGN DATA WRAPPER, SERVER,
and USER MAPPING as method to supply dblink connect parameters. Per
mailing list and PGCon discussions.
2009-06-06 21:27:56 +00:00
Bruce Momjian
7aace98bf6 Remove sleep() from backup script example; not needed anymore.
Fujii Masao
2009-06-05 13:40:31 +00:00
Tom Lane
76d4abf2d9 Improve the recently-added support for properly pluralized error messages
by extending the ereport() API to cater for pluralization directly.  This
is better than the original method of calling ngettext outside the elog.c
code because (1) it avoids double translation, which wastes cycles and in
the worst case could give a wrong result; and (2) it avoids having to use
a different coding method in PL code than in the core backend.  The
client-side uses of ngettext are not touched since neither of these concerns
is very pressing in the client environment.  Per my proposal of yesterday.
2009-06-04 18:33:08 +00:00
Bruce Momjian
5d682cab65 Wording improvement for recent sesssion identifier SQL query. 2009-06-03 20:34:29 +00:00
Bruce Momjian
44ead23384 Add example of how to generate the session identifier from pg_stat_activity. 2009-06-03 00:38:34 +00:00
Tom Lane
ade91586ea Remove the old advice to keep from_collapse_limit less than geqo_threshold,
instead just pointing out that a larger value may trigger use of GEQO.
Per Robert Haas.

In passing, do a bit of wordsmithing on the Genetic Query Optimizer section.
2009-06-02 17:37:55 +00:00
Bruce Momjian
400fb19a30 Document that forking while having open libpq connections is not
advised.
2009-05-28 20:02:10 +00:00
Tom Lane
ee3980ebf3 Improve release note explanation of the change in libpq's handling of
default usernames versus Kerberos tickets.  Per confusion about what
bug #4824 was really about.
2009-05-27 22:12:53 +00:00
Bruce Momjian
fa89e18f09 Remove tabs from SGML file. 2009-05-27 12:28:55 +00:00
Tom Lane
253ff58a1d Improve documentation about function volatility: mention the snapshot
visibility effects in a couple of places where people are likely to look
for it.  Per discussion of recent question from Karl Nack.
2009-05-27 01:18:06 +00:00
Tom Lane
48938ab506 Allow the second argument of pg_get_expr() to be just zero when deparsing
an expression that's not supposed to contain variables.  Per discussion
with Gevik Babakhani, this eliminates the need for an ugly kluge (namely,
specifying some unrelated relation name).  Remove one such kluge from
pg_dump.
2009-05-26 17:36:05 +00:00
Peter Eisentraut
9c4c70321d Refer to tables by id, not by "the following table", because tables are in
theory floating elements.
2009-05-18 11:08:24 +00:00
Peter Eisentraut
263144140f Some documentation cleanup for the addition of the KOI8U encoding. Change
all (remaining) mentions of KOI8 to the new canonical form KOI8R.  Add
information about the available conversions for KOI8U.
2009-05-18 08:59:29 +00:00
Tom Lane
606f5d1763 Minor copy-editing for description of partial-table vacuuming. 2009-05-16 22:51:24 +00:00
Tom Lane
03a5ff0d1a Minor editorialization on storage.sgml's documentation of free space
maps.
2009-05-16 22:03:53 +00:00
Tom Lane
2d6e2323a4 Make an editorial pass over the Client Authentication material. 2009-05-16 21:17:21 +00:00
Marc G. Fournier
abc924519a commit for BETA2 2009-05-15 02:18:27 +00:00
Tom Lane
1b6f549de5 Update release notes to today. 2009-05-14 22:17:28 +00:00
Tom Lane
a6df05356e Clean up overly hasty docs patch for pg_standby. 2009-05-14 21:59:22 +00:00
Heikki Linnakangas
b3aac077c3 Add a note to release notes about the smart failover mode in pg_standby. 2009-05-14 21:01:49 +00:00
Heikki Linnakangas
9e403c2587 Add recovery_end_command option to recovery.conf. recovery_end_command
is run at the end of archive recovery, providing a chance to do external
cleanup. Modify pg_standby so that it no longer removes the trigger file,
that is to be done using the recovery_end_command now.

Provide a "smart" failover mode in pg_standby, where we don't fail over
immediately, but only after recovering all unapplied WAL from the archive.
That gives you zero data loss assuming all WAL was archived before
failover, which is what most users of pg_standby actually want.

recovery_end_command by Simon Riggs, pg_standby changes by Fujii Masao and
myself.
2009-05-14 20:31:09 +00:00
Tom Lane
1958603145 Remove a useless backslash from a pattern-match example. Michael Toews 2009-05-13 21:53:41 +00:00
Tom Lane
db6e0b2db2 Update release notes for changes through 2009-05-11. Also some minor
copy-editing and reordering of items.
2009-05-12 23:43:50 +00:00
Magnus Hagander
e54ec9231c Move crypt auth comment to proper section.
Add some details about the name=value format of auth options.
2009-05-11 09:11:41 +00:00
Magnus Hagander
f3b507c8c7 Edit the SSL and Kerberos parts of the release notes a bit, and add
a note about the certificates chains patch just applied.
2009-05-11 09:00:10 +00:00
Tom Lane
48caf91b66 Change pgbench to use the table names pgbench_accounts, pgbench_branches,
pgbench_history, and pgbench_tellers, rather than just accounts, branches,
history, and tellers.  This is to prevent accidental conflicts with real
application tables, as has been reported to happen at least once.  Also
remove the automatic "SET search_path = public" that it did at startup,
as this seems to restrict testing flexibility without actually buying much.
Per proposal by Joshua Drake and ensuing discussion.

Joshua Drake and Tom Lane
2009-05-07 22:01:18 +00:00
Tom Lane
421c66b76c Modify CREATE DATABASE to enforce that the source database's encoding setting
must be used for the new database, except when copying from template0.
This is the same rule that we now enforce for locale settings, and it has
the same motivation: databases other than template0 might contain data that
would be invalid according to a different setting.  This represents another
step in a continuing process of locking down ways in which encoding violations
could occur inside the backend.  Per discussion of a few days ago.

In passing, fix pre-existing breakage of mbregress.sh, and fix up a couple
of ereport() calls in dbcommands.c that failed to specify sqlstate codes.
2009-05-06 16:15:21 +00:00
Peter Eisentraut
40bc4c2605 Disable the use of Unicode escapes in string constants (U&'') when
standard_conforming_strings is not on, for security reasons.
2009-05-05 18:32:17 +00:00
Tom Lane
c52963ac5f Fix mis-description of XML Schema functions, per discussion. 2009-05-03 21:10:27 +00:00
Tom Lane
71907f7de5 Fix unintelligible description created by removing only part of
a parenthetical remark.
2009-05-03 20:45:43 +00:00
Tom Lane
008fad58fe Split the release notes into a separate file for each (active) major branch,
as per my recent proposal.  release.sgml itself is now just a stub that should
change rarely; ideally, only once per major release to add a new include line.
Most editing work will occur in the release-N.N.sgml files.  To update a back
branch for a minor release, just copy the appropriate release-N.N.sgml
file(s) into the back branch.

This commit doesn't change the end-product documentation at all, only the
source layout.  However, it makes it easy to start omitting ancient information
from newer branches' documentation, should we ever decide to do that.
2009-05-02 20:17:19 +00:00
Tom Lane
c91bf01bc5 Fix plpgsql's EXIT so that an EXIT without a label only matches a loop,
never a BEGIN block.  This is required for Oracle compatibility and is
also plainly stated to be the behavior by our original documentation
(up until 8.1, in which the docs were adjusted to match the code's behavior;
but actually the old docs said the correct thing and the code was wrong).

Not back-patched because this introduces an incompatibility that could
break working applications.  Requires release note.
2009-05-02 17:27:57 +00:00
Bruce Momjian
ba36c48e39 Proofreading adjustments for first two parts of documentation (Tutorial
and SQL).
2009-04-27 16:27:36 +00:00
Tom Lane
23a9ac618e Some more work on the 8.4 release notes. Document a few changes that Bruce
apparently found uninteresting, and do minor wordsmithing on a number of
the existing entries.
2009-04-26 20:08:30 +00:00
Tom Lane
f5c572a808 Typo fix. 2009-04-26 02:56:52 +00:00
Bruce Momjian
245316e996 Improve server spoofing wording, per request from Magnus. 2009-04-24 20:46:16 +00:00
Magnus Hagander
af2cf3be03 More clearly document what the different sslmode options mean, both the new
and the old ones.

Consistently talk about certificate verification, and not validation.
2009-04-24 14:10:41 +00:00
Magnus Hagander
7e9375a59a Remove sslverify parameter from release notes, mention that sslmode is
used instead.
2009-04-24 13:01:30 +00:00
Magnus Hagander
e883d0b551 Remove sslverify parameter again, replacing it with two new sslmode values:
"verify-ca" and "verify-full".

Since "prefer" remains the default, this will make certificate validation
off by default, which should lead to less upgrade issues.
2009-04-24 09:43:10 +00:00
Heikki Linnakangas
88f4d38d20 Mention that tables have a visibility map fork alongside the main fork
and FSM.
2009-04-23 10:20:27 +00:00
Heikki Linnakangas
335904b4f8 Improve the documentation on 8.4 visibility map related VACUUM changes.
Explain how vacuum_freeze_table_age should be tuned, and how it relates
to the other settings. Mention that vacuum_freeze_table_age also affects
when autovacuum scans the whole table.
2009-04-23 10:09:11 +00:00
Tom Lane
8d4f2ecd41 Change the default value of max_prepared_transactions to zero, and add
documentation warnings against setting it nonzero unless active use of
prepared transactions is intended and a suitable transaction manager has been
installed.  This should help to prevent the type of scenario we've seen
several times now where a prepared transaction is forgotten and eventually
causes severe maintenance problems (or even anti-wraparound shutdown).

The only real reason we had the default be nonzero in the first place was to
support regression testing of the feature.  To still be able to do that,
tweak pg_regress to force a nonzero value during "make check".  Since we
cannot force a nonzero value in "make installcheck", add a variant regression
test "expected" file that shows the results that will be obtained when
max_prepared_transactions is zero.

Also, extend the HINT messages for transaction wraparound warnings to mention
the possibility that old prepared transactions are causing the problem.

All per today's discussion.
2009-04-23 00:23:46 +00:00
Bruce Momjian
301f800895 Merge psql \df options into a single \? line, and update docs. 2009-04-21 17:23:05 +00:00
Bruce Momjian
aeb3c2fce4 Add agg/normal/trigger/window flags for psql \df and in \df output.
David Fetter
2009-04-21 15:49:06 +00:00
Tom Lane
c1c40e580a Fix textsearch documentation examples to not recommend concatenating separate
fields without putting a space between.  Per gripe from Rick Schumeyer.
2009-04-19 20:36:06 +00:00
Tom Lane
3a624e9200 Revise plpgsql's scanner to process comments and string literals in a way
more nearly matching the core SQL scanner.  The user-visible effects are:

* Block comments (slash-star comments) now nest, as per SQL spec.

* In standard_conforming_strings mode, backslash as the last character of a
  non-E string literal is now correctly taken as an ordinary character;
  formerly it was misinterpreted as escaping the ending quote.  (Since the
  string also had to pass through the core scanner, this invariably led
  to syntax errors.)

* Formerly, backslashes in the format string of RAISE were always treated as
  quoting the next character, regardless of mode.  Now, they are ordinary
  characters with standard_conforming_strings on, while with it off, they
  introduce the same set of escapes as in the core SQL scanner.  Also,
  escape_string_warning is now effective for RAISE format strings.  These
  changes make RAISE format strings work just like any other string literal.

This is implemented by copying and pasting a lot of logic from the core
scanner.  It would be a good idea to look into getting rid of plpgsql's
scanner entirely in favor of using the core scanner.  However, that involves
more change than I can justify making during beta --- in particular, the core
scanner would have to become re-entrant.

In passing, remove the kluge that made the plpgsql scanner emit T_FUNCTION or
T_TRIGGER as a made-up first token.  That presumably had some value once upon
a time, but now it's just useless complication for both the scanner and the
grammar.
2009-04-19 18:52:58 +00:00
Tom Lane
7f2f798b30 Mention as a potential incompatibility the fact that SELECT DISTINCT, UNION,
etc are no longer guaranteed to produce sorted output; per gripe from Ian
Barwick.  Also improve the release note entries about to_timestamp(), per
Brendan Jurd.
2009-04-19 15:49:34 +00:00
Bruce Momjian
6df6846d56 Add Ron Mayer as primary contributor for:
Support the <acronym>IS0 8601</> <type>interval</> syntax

based on private email from Ron.
2009-04-18 00:01:01 +00:00
Bruce Momjian
74aa1a45f7 Remove mention of pre-7.1 inheritance behavior from /ref pages; keep
mentions in main documentation.
2009-04-15 22:42:50 +00:00
Bruce Momjian
2d4843694d Fix SGML markup I broke yesterday. 2009-04-15 13:03:11 +00:00
Bruce Momjian
334f4e12d8 Reformat 'sslmode' options into an SGML table; improve wording. 2009-04-14 20:42:48 +00:00
Tom Lane
bda9dc7e19 Do some copy-editing on description of ts_headline(). 2009-04-14 00:49:56 +00:00
Tom Lane
15aa0252da Make a copy-editing pass over the 8.4 release notes. 2009-04-13 06:05:12 +00:00
Bruce Momjian
d0c64c8388 More wording clarification of sslverify setting. 2009-04-11 16:46:54 +00:00
Bruce Momjian
5817673448 Better document libpq sslverify behavior as requiring root.crt. 2009-04-11 12:27:53 +00:00
Bruce Momjian
ebac30ed11 Wording improvement. 2009-04-11 02:08:34 +00:00
Bruce Momjian
7950a5bf25 Wording improvement for SSL user certificate authentication. 2009-04-11 02:07:25 +00:00
Bruce Momjian
29cd06adb4 Clarify SSL _user_ authentication in release notes. 2009-04-11 02:06:16 +00:00
Tom Lane
843c6546eb Add cross-references from the DECLARE and FETCH reference pages to
the plpgsql documentation about cursors.  Per a suggestion from
Matthew Wakeling.
2009-04-10 17:56:21 +00:00
Bruce Momjian
51781146a8 Document how *_blks_read statistics columns are computed. 2009-04-10 03:13:36 +00:00
Marc G. Fournier
4c9c0b85fb commit and tag beta1 2009-04-10 00:20:10 +00:00
Tom Lane
6c34acce9b Update release notes through yesterday; some minor wordsmithing. 2009-04-09 23:22:49 +00:00
Bruce Momjian
f4af189db3 Clarify documentation references to pg_stat_get_blocks_fetched and
pg_stat_get_blocks_hit, per suggestion from Robert Haas.
2009-04-09 22:32:02 +00:00
Tom Lane
b6e42bdd92 Update GIN limitations documentation to match current reality. 2009-04-09 19:07:44 +00:00
Tom Lane
06e2757277 Remove SQL-compatibility function cardinality(). It is not exactly clear
how this ought to behave for multi-dimensional arrays.  Per discussion,
not having it at all seems better than having it with what might prove
to be the wrong behavior.  We can always add it later when we have consensus
on the correct behavior.
2009-04-09 17:39:50 +00:00
Bruce Momjian
78f58f0f70 Improve documentation about how checkpoint spreads I/O activity. 2009-04-09 16:20:50 +00:00
Tom Lane
4703250a76 Remove psql's ancient hack that suppressed functions taking or returning
cstring from the output of \df.  Now that the default behavior is to
exclude all system functions, the de-cluttering rationale for this behavior
seems pretty weak; and it was always quite confusing/unhelpful if you were
actually looking for I/O functions.  (Not to mention if you were looking
for encoding converters or other cases that might take or return cstring.)
2009-04-08 22:29:30 +00:00
Bruce Momjian
56e0e599a0 Add attribution for:
Add Japanese message translations (Japan PostgreSQL Users Group)
2009-04-07 21:30:01 +00:00
Bruce Momjian
4c7d326deb Add release note item:
Add Japanese message translations
2009-04-07 21:29:02 +00:00
Bruce Momjian
bf4497cc61 Remove FAQ and FAQ_DEV ASCII and HTML files from CVS; now on the wiki.
Per-language files kept for transator usage.
2009-04-07 21:20:49 +00:00
Bruce Momjian
c35eb1504a Add doc link to section about how to compile triggers. 2009-04-07 04:02:41 +00:00
Tom Lane
387060951e Add an optional parameter to pg_start_backup() that specifies whether to do
the checkpoint in immediate or lazy mode.  This is to address complaints
that pg_start_backup() takes a long time even when there's no need to minimize
its I/O consumption.
2009-04-07 00:31:26 +00:00
Bruce Momjian
e019178c77 Doc change in new patch, stand-alone -> standalone 2009-04-06 17:56:31 +00:00
Bruce Momjian
d9070485a8 Add documentation mention of 'check_postgres.pl' in Routine Database
Maintenance Tasks section.
2009-04-06 17:55:19 +00:00
Tom Lane
e7c11056df Document the fact that fuzzystrmatch doesn't work in multibyte encodings. 2009-04-06 15:43:00 +00:00
Tom Lane
25a76c31de Correct keywords table for status of COLLATE vs
LC_COLLATE.
2009-04-06 15:01:36 +00:00
Heikki Linnakangas
1eef90d0a2 Rename the new CREATE DATABASE options to set collation and ctype into
LC_COLLATE and LC_CTYPE, per discussion on pgsql-hackers.
2009-04-06 08:42:53 +00:00
Tom Lane
65e758a4d3 Remove contrib/intarray's definitions of the <@ and @> operators, so that they
don't cause confusion with the built-in anyarray versions of those operators.
Adjust the module's index opclasses to support the built-in operators in place
of the private ones.

The private implementations are still available under their historical
names @ and ~, so no functionality is lost.  Some quick testing suggests
that they offer no real benefit over the core operators, however.

Per a complaint from Rusty Conover.
2009-04-05 00:40:35 +00:00
Tom Lane
dbca713cea Minor wordsmithing on descriptions of some \d commands. 2009-04-04 00:39:14 +00:00
Bruce Momjian
d0b599012f Document that Solaris can't use effective_io_concurrency because of an
ineffective posix_fadvise().
2009-04-02 22:44:10 +00:00
Bruce Momjian
2faa8e2ac1 Have PL/pgSQL FETCH set DIAGNOSTICS ROW_COUNT.
Andrew Gierth
2009-04-02 19:20:45 +00:00
Bruce Momjian
33e7eac37c Change psql \d* display so 'S' _or_ a pattern include system objects. 2009-04-02 15:15:32 +00:00
Tom Lane
dff26735d3 Index some array functions, per Mario Splivalo. 2009-04-01 03:32:29 +00:00
Bruce Momjian
572b60a3bd Remove some "Other" sections in the release notes by putting the items
at the top of their sections.
2009-03-31 22:23:28 +00:00
Tom Lane
df13324f08 Add a "relistemp" boolean column to pg_class, which is true for temporary
relations (including a temp table's indexes and toast table/index), and
false for normal relations.  For ease of checking, this commit just adds
the column and fills it correctly --- revising the relation access machinery
to use it will come separately.
2009-03-31 17:59:56 +00:00
Bruce Momjian
db20729ed6 Update release note introductory description. 2009-03-31 02:34:04 +00:00
Tom Lane
97503a5200 Add PQinitOpenSSL() function to support applications that use libcrypto
but not OpenSSL (or perhaps vice versa, if that's possible).

Andrew Chernow, with minor editorialization by me.
2009-03-31 01:41:27 +00:00
Bruce Momjian
c9aa8a62c0 More new subsections in release notes. 2009-03-31 01:26:13 +00:00
Bruce Momjian
5f6f72b05d More release note changes, including a lower level of subsections. 2009-03-30 22:01:15 +00:00
Bruce Momjian
3eedb9a17f More release note adjustments, reordering. 2009-03-30 20:32:49 +00:00
Bruce Momjian
e604c8b51e More release note wording improvements; section order adjustments. 2009-03-30 19:59:19 +00:00
Bruce Momjian
aa0a885e59 Reorder release note sections. 2009-03-30 18:34:56 +00:00
Alvaro Herrera
3fe3b81183 Update URL to Python bug tracker. Backpatch to 8.3; doesn't seem worthy of
further backpatch.
2009-03-30 16:15:43 +00:00
Bruce Momjian
a576994e72 More release note markup. 2009-03-29 19:13:46 +00:00
Bruce Momjian
2193b21a0f More release note markup. 2009-03-29 03:58:37 +00:00
Bruce Momjian
087fa888a6 Add SGML markup for commands/literal/application/etc in release notes;
still more work to do.
2009-03-29 03:01:56 +00:00
Bruce Momjian
07c3563fe6 Consistent 8.4 release note naming for Itagaki Takahiro 2009-03-28 22:05:22 +00:00
Bruce Momjian
038777081a Update release notes to say citext is multi-byte aware, per suggestion
from patch author:

       Add /contrib/citext as a case-insensitive, multibyte-capable
	text data type (David Wheeler)
2009-03-28 14:15:15 +00:00
Bruce Momjian
8fbef1090b Better document that SET ROLE does not uset ALTER ROLE SET settings;
suggested wording from Josh Berkus.
2009-03-28 03:26:02 +00:00
Bruce Momjian
3ab95c2ab0 Better document PQinitSSL(0) behavior in regards to libcrypto. 2009-03-28 01:36:11 +00:00
Tom Lane
2938f8c4ea Add documentation of the fact that dtrace probes evaluate their parameters
even when not active.  Explain how to prevent that with an ENABLED() check.
2009-03-28 00:10:23 +00:00
Bruce Momjian
3c2ce020b7 Document in release notes that NOT IN is only for NOT EXIST clauses.
Andrew Gierth
2009-03-27 22:39:42 +00:00
Magnus Hagander
665aa5e540 Fix markup, per Devrim 2009-03-27 19:17:11 +00:00
Magnus Hagander
2e427ec05a Clearify new SSL certificate verification in libpq 2009-03-27 12:01:57 +00:00
Magnus Hagander
cc42c14e36 Fix release notes about pg_hba changes 2009-03-27 11:58:21 +00:00
Bruce Momjian
be99a030a4 Updated release wording, per Greg Stark:
Previously EXPLAIN VERBOSE had output an internal
	representation of the
2009-03-27 02:25:04 +00:00
Bruce Momjian
990fe113bd Second batch of release note fixes by Guillaume Smet 2009-03-27 01:44:30 +00:00
Bruce Momjian
03f625d4d5 Mark Greg as the instigator of the statistics target increase:
Increase the default value of default_statistics_target from 10 to 100
       (Greg Sabino Mullane, Tom)
2009-03-27 01:26:36 +00:00
Bruce Momjian
250bc515e4 First round of release note changes from Guillaume Smet. 2009-03-27 00:45:40 +00:00
Bruce Momjian
936815e9ab Fix release note attribution:
Support the IS0 8601 time interval syntax (Tom, Kevin
	Grittner)

per Ron Mayer
2009-03-27 00:11:34 +00:00
Bruce Momjian
e106b0a70e Improved release notes interval wording:
Made interval seconds rounding more consistent across output
       formats (Ron Mayer)

Ron Mayer
2009-03-27 00:08:14 +00:00
Bruce Momjian
4c8f90f6b9 Remove duplicate interval (fractional seconds) items; Ron Mayer 2009-03-27 00:06:14 +00:00
Bruce Momjian
0f84033a68 Document that Datestyle no longer controls interval output, per
suggestion from Ron Mayer
2009-03-27 00:01:47 +00:00
Tom Lane
845693f70f Fix a couple of places that still claimed LC_COLLATE and LC_CTYPE can't
be changed after initdb.
2009-03-26 20:55:49 +00:00
Bruce Momjian
ee4c187f64 Correction: ansi-join ->anti-join. 2009-03-26 12:38:03 +00:00
Tom Lane
04c779d3f4 Fix markup so that 'make HISTORY' works. A couple very minor
editorial improvements.
2009-03-26 03:46:14 +00:00
Bruce Momjian
0f1ac2d04c Reorder 8.4 release note sections. 2009-03-26 02:48:53 +00:00
Bruce Momjian
cb25bf7047 Re-add release notes for release 8.3.7. 2009-03-26 02:40:37 +00:00
Bruce Momjian
32e7174dbb Adjust AS OF release notes markup. 2009-03-26 01:48:27 +00:00
Bruce Momjian
54a7363af4 Mention release note items current as of 2009-03-16. 2009-03-26 01:31:15 +00:00
Bruce Momjian
4b4a831f18 First version of 8.4 release notes; markup/cleanup/reorganization still
required.
2009-03-26 01:19:07 +00:00
Tom Lane
9151e1bb06 Add btree_gin contrib module.
Teodor Sigaev and Oleg Bartunov
2009-03-25 23:20:01 +00:00
Tom Lane
87b8db3774 Adjust the APIs for GIN opclass support functions to allow the extractQuery()
method to pass extra data to the consistent() and comparePartial() methods.
This is the core infrastructure needed to support the soon-to-appear
contrib/btree_gin module.  The APIs are still upward compatible with the
definitions used in 8.3 and before, although *not* with the previous 8.4devel
function definitions.

catversion bump for changes in pg_proc entries (although these are just
cosmetic, since GIN doesn't actually look at the function signature before
calling it...)

Teodor Sigaev and Oleg Bartunov
2009-03-25 22:19:02 +00:00
Tom Lane
ff301d6e69 Implement "fastupdate" support for GIN indexes, in which we try to accumulate
multiple index entries in a holding area before adding them to the main index
structure.  This helps because bulk insert is (usually) significantly faster
than retail insert for GIN.

This patch also removes GIN support for amgettuple-style index scans.  The
API defined for amgettuple is difficult to support with fastupdate, and
the previously committed partial-match feature didn't really work with
it either.  We might eventually figure a way to put back amgettuple
support, but it won't happen for 8.4.

catversion bumped because of change in GIN's pg_am entry, and because
the format of GIN indexes changed on-disk (there's a metapage now,
and possibly a pending list).

Teodor Sigaev
2009-03-24 20:17:18 +00:00
Andrew Dunstan
c9cab106f6 Remove munging of xml and xpath params to xpath(). The XML must now be a well formed XML document. 2009-03-23 21:00:39 +00:00
Bruce Momjian
5c617f4e56 Update constraint_exclusion docs because parameter is now 3-valued, not
just enable/disable.
2009-03-23 15:14:14 +00:00
Tom Lane
471913a6a5 More fixes for 8.4 DTrace probes. Remove useless BUFFER_HIT/BUFFER_MISS
probes --- the BUFFER_READ_DONE probe provides the same information and more
besides.  Expand the LOCK_WAIT_START/DONE probe arguments so that there's
actually some chance of telling what is being waited for.  Update and
clean up the documentation.
2009-03-23 01:52:38 +00:00
Bruce Momjian
c242e6b6d4 Clarify libpq 'sslverify' documentation wording. 2009-03-23 01:45:29 +00:00
Bruce Momjian
f04ee7043b Clarify 'cert' authentication documention. 2009-03-22 21:55:07 +00:00
Tom Lane
5698f6b925 Remove the -d and -D options of pg_dump and pg_dumpall. The functionality
is still available, but you must now write the long equivalent --inserts
or --column-inserts.  This change is made to eliminate confusion with the
use of -d to specify a database name in most other Postgres client programs.
Original patch by Greg Mullane, modified per subsequent discussion.
2009-03-22 16:44:26 +00:00
Tom Lane
0fd85d7879 Remove the datetime keywords ABSTIME and RELTIME, which we'd been treating as
noise words for the last twelve years, for compatibility with Berkeley-era
output formatting of the special INVALID values for those datatypes.
Considering that the datatypes themselves have been deprecated for awhile,
this is taking backwards compatibility a little far.  Per gripe from Josh
Berkus.
2009-03-22 01:12:32 +00:00
Peter Eisentraut
249d936bed Rename pg_restore -m to -j, and add documentation about what good numbers
are.  per discussion on hackers
2009-03-20 09:21:09 +00:00
Tom Lane
52e6371e7d Be more clear about when to use gist__int_ops vs. gist__intbig_ops.
Per suggestion from Ron Mayer.
2009-03-18 20:18:18 +00:00
Tom Lane
029348cff9 Add just-assigned CVE number to release notes for recent security issue. 2009-03-17 21:36:21 +00:00
Tom Lane
f3a72bd40b Fix contrib/hstore to throw an error for keys or values that don't fit in its
data structure, rather than silently truncating them.  Andrew Gierth
2009-03-15 22:05:17 +00:00
Tom Lane
2dd9af8c0c Update back-branch release notes. 2009-03-12 22:35:48 +00:00
Bruce Momjian
b0c68c242c Doc patch for the recently added probes.
Robert Lor
2009-03-10 00:08:28 +00:00
Peter Eisentraut
05a7db0582 Accept 'on' and 'off' as input for boolean data type, unifying the syntax
that the data type and GUC accepts.

ITAGAKI Takahiro
2009-03-09 14:34:35 +00:00
Tom Lane
00ce73778b Teach the planner to support index access methods that only implement
amgettuple or only implement amgetbitmap, instead of the former assumption
that every AM supports both APIs.  Extracted with minor editorialization
from Teodor's fast-GIN-insert patch; whatever becomes of that, this seems
like a simple and reasonable generalization of the index AM interface spec.
2009-03-05 23:06:45 +00:00
Tom Lane
df8684c56f Remove documentation of log_restartpoints setting, which is obsoleted
in favor of log_checkpoints.  Fujii Masao
2009-03-05 19:50:03 +00:00
Peter Eisentraut
b966b519f5 Provide some proper minimal documentation for the pg_dump(all) --binary-upgrade
option.  We don't want to commit to what it does, but hiding it will only
cause confusion.
2009-03-04 11:57:00 +00:00
Peter Eisentraut
12f87b2c82 Add new SQL:2008 error codes for invalid LIMIT and OFFSET values. Remove
unused nonstandard error code that was perhaps intended for this but never
used.
2009-03-04 10:55:00 +00:00
Tom Lane
640796ff41 Reduce the maximum value of vacuum_cost_delay and autovacuum_vacuum_cost_delay
to 100ms (from 1000).  This still seems to be comfortably larger than the
useful range of the parameter, and it should help discourage people from
picking uselessly large values.  Tweak the documentation to recommend small
values, too.  Per discussion of a couple weeks ago.
2009-02-28 00:10:52 +00:00
Peter Eisentraut
b6e4c8f255 Equip the programs installed by contrib with proper --help and --version
options and normally formatted help output.
2009-02-27 09:30:21 +00:00
Peter Eisentraut
867a2a6d81 Fix the inconsistent and wrong claims that the option value in CREATE
FOREIGN DATA WRAPPER/SERVER/USER MAPPING is optional.
2009-02-27 07:20:00 +00:00
Peter Eisentraut
9de59fd191 Add a -w/--no-password option that prevents all password prompts to all
programs that have a -W/--password option.

In passing, remove the ancient PSQL_ALWAYS_GET_PASSWORDS compile option.
2009-02-26 16:02:39 +00:00
Peter Eisentraut
7380b6384b Don't append epoch to log_filename if no format specifier is given.
Robert Haas
2009-02-24 12:09:09 +00:00
Peter Eisentraut
7babccb915 Add the possibility to specify an explicit validator function for foreign-data
wrappers (similar to procedural languages).  This way we don't need to retain
the nearly empty libraries, and we are more free in how to implement the
wrapper API in the future.
2009-02-24 10:06:36 +00:00
Tom Lane
451a15f95c Add note that inlined SQL functions aren't tracked by track_functions. 2009-02-22 23:50:30 +00:00
Bruce Momjian
36a9cf38c5 Add --freeze option to vacuumdb. 2009-02-18 12:11:55 +00:00
Bruce Momjian
6883c54a62 Add pg_dump --binary-upgrade flag to be used by binary upgrade
utilities.

The new code allows transfer of dropped column information to the
upgraded server.
2009-02-17 15:41:50 +00:00
Tom Lane
57b5984d24 Minor wordsmithing. 2009-02-15 18:28:48 +00:00
Peter Eisentraut
c1c1886d82 Unset language-related locale settings in any case, otherwise psql will
speak in tongues and mess up the regression test diffs.
2009-02-12 13:26:03 +00:00
Bruce Momjian
eee82d44bd Remove tabs from SGML. 2009-02-12 13:25:33 +00:00
Tom Lane
6d1e361852 Change ALTER TABLE SET WITHOUT OIDS to rewrite the whole table to physically
get rid of the OID column.  This eliminates the problem discovered by Heikki
back in November that 8.4's suppression of "unnecessary" junk filtering in
INSERT/SELECT could lead to an Assert failure, or storing of oids into a table
that shouldn't have them if Asserts are off.  While that particular problem
could have been solved in other ways, it seems likely to be just a forerunner
of things to come if we continue to allow tables to contain rows that disagree
with the pg_class.relhasoids setting.  It's better to make this operation slow
than to sacrifice performance or risk bugs in more common code paths.

Also, add ALTER TABLE SET WITH OIDS to rewrite the table to add oids.
This was a bit more controversial, but in view of the very small amount of
extra code needed given the current ALTER TABLE infrastructure, it seems best
to eliminate the asymmetry in features.
2009-02-11 21:11:16 +00:00
Peter Eisentraut
20a43b16b4 Only unset the locale environment when --no-locale is used (the way it was
presumably designed, but didn't act).  This allows running the temp install
tests in a non-C locale, thus exercising users' real environments better.
Document how to change locales for test runs.
2009-02-11 14:03:42 +00:00
Bruce Momjian
715ea2bf18 Clarify PQinitSSL() documentation to mention what the argument controls. 2009-02-11 04:08:47 +00:00
Peter Eisentraut
8b9dd6b5fd Support for KOI8U encoding 2009-02-10 19:29:39 +00:00
Bruce Momjian
b79e374519 Update wording of how to prevent pg_dump from affecting statistics
collection.
2009-02-10 00:55:21 +00:00
Alvaro Herrera
834a6da4f7 Update autovacuum to use reloptions instead of a system catalog, for
per-table overrides of parameters.

This removes a whole class of problems related to misusing the catalog,
and perhaps more importantly, gives us pg_dump support for the parameters.

Based on a patch by Euler Taveira de Oliveira, heavily reworked by me.
2009-02-09 20:57:59 +00:00
Bruce Momjian
57b10ebcd4 Fix spelling error in docs.
Erik Rijkers
2009-02-09 14:09:56 +00:00
Bruce Momjian
053835d334 Document that LIMIT NULL is the same as no LIMIT clause. 2009-02-07 20:11:16 +00:00
Bruce Momjian
97072ad80c Remove documentation mention that hash indexes perform no better than
btree;  keep mention about missing WAL logging.

Kenneth Marshall
2009-02-07 20:05:44 +00:00
Bruce Momjian
0c0d652031 Uppercase CHECK mention in relchecks documentation mention. 2009-02-07 19:27:25 +00:00
Bruce Momjian
952fe78a05 Properly wrap new pg_dump doc text. 2009-02-07 15:25:51 +00:00
Bruce Momjian
ec48770e0c Update pg_constraint.conkey documentation description. 2009-02-07 15:00:27 +00:00
Bruce Momjian
d54ae17b63 Document disabling the statistics collector pg_dump activity, and give a
bit more visibility to the PGOPTIONS environment variable supported by
libpq.

Bryce Nesbitt
2009-02-07 14:31:30 +00:00
Bruce Momjian
65b731bd9d Fix to_timestamp() to not require upper/lower case matching for meridian
designations (AM/PM).  Also separate out matching of a meridian with
periods (e.g. A.M.) and with those without.

Do the same for AD/BC.

Brendan Jurd
2009-02-07 14:16:46 +00:00
Tom Lane
c87c31f10b Ooops, forgot to update COPY reference page to mention column privileges. 2009-02-06 21:22:49 +00:00
Tom Lane
7449427a1e Clean up some loose ends from the column privileges patch: add
has_column_privilege and has_any_column_privilege SQL functions; fix the
information_schema views that are supposed to pay attention to column
privileges; adjust pg_stats to show stats for any column you have select
privilege on; and fix COPY to allow copying a subset of columns if the user
has suitable per-column privileges for all the columns.

To improve efficiency of some of the information_schema views, extend the
has_xxx_privilege functions to allow inquiring about the OR of a set of
privileges in just one call.  This is just exposing capability that already
existed in the underlying aclcheck routines.

In passing, make the information_schema views report the owner's own
privileges as being grantable, since Postgres assumes this even when the grant
option bit is not set in the ACL.  This is a longstanding oversight.

Also, make the new has_xxx_privilege functions for foreign data objects follow
the same coding conventions used by the older ones.

Stephen Frost and Tom Lane
2009-02-06 21:15:12 +00:00
Bruce Momjian
0274e1b949 Fix typo in docs. 2009-02-06 19:24:12 +00:00
Bruce Momjian
3d1a1eeddb Document ways to avoid libpq WSACleanup() overhead on Windows.
Andrew Chernow
2009-02-06 18:18:54 +00:00
Bruce Momjian
8c78f8e65c Add PL/PgSQL FOUND and GET DIAGNOSTICS support for RETURN QUERY
statement

Pavel Stehule
2009-02-05 15:25:49 +00:00
Alvaro Herrera
d1cf27a8ee Fix some SGML-compiler warnings on -wxml mode. 2009-02-04 21:30:41 +00:00
Bruce Momjian
d8a30eca2e Update read committed documentation to better explain undesirable
behavior of concurrent commands in cases where rows are being added and
removed from matching query criteria.

Minor word-smithing.
2009-02-04 16:05:50 +00:00
Tom Lane
c242502005 Document the longstanding behavior of LIMIT NULL and OFFSET NULL,
per gripe from David Wheeler that this was mentioned nowhere.
In passing, editorialize a bit on the description of the SQL:2008
equivalent syntax.
2009-02-02 20:42:57 +00:00
Andrew Dunstan
775f1b379e Provide for parallel restoration from a custom format archive. Each data and
post-data step is run in a separate worker child (a thread on Windows, a child
process elsewhere) up to the concurrent number specified by the new pg_restore
command-line --multi-thread | -m switch.

Andrew Dunstan, with some editing by Tom Lane.
2009-02-02 20:07:37 +00:00
Alvaro Herrera
3a5b773715 Allow reloption names to have qualifiers, initially supporting a TOAST
qualifier, and add support for this in pg_dump.

This allows TOAST tables to have user-defined fillfactor, and will also
enable us to move the autovacuum parameters to reloptions without taking
away the possibility of setting values for TOAST tables.
2009-02-02 19:31:40 +00:00
Peter Eisentraut
5e21197c7b Put pg_user_mapping section into the right (alphabetical) order. 2009-02-02 09:49:29 +00:00
Tom Lane
2044434996 Update back-branch release notes. 2009-01-30 00:37:29 +00:00
Peter Eisentraut
5fe3da927b Revert updatable views 2009-01-27 12:40:15 +00:00
Bruce Momjian
4d65d2872b Document that SELECT ... ORDER BY .. FOR UPDATE/SHARE might return
results out of order because of locking, per bug report 4593
2009-01-23 14:05:28 +00:00
Tom Lane
3cb5d6580a Support column-level privileges, as required by SQL standard.
Stephen Frost, with help from KaiGai Kohei and others
2009-01-22 20:16:10 +00:00
Peter Eisentraut
dd7e54a17f Automatic view update rules
Bernd Helmle
2009-01-22 17:27:55 +00:00
Heikki Linnakangas
94136d5a18 Add new SPI_OK_REWRITTEN return code to SPI_execute and friends, for the
case that the command is rewritten into another type of command. The old
behavior to return the command tag of the last executed command was
pretty surprising. In PL/pgSQL, for example, it meant that if a command
was rewritten to a utility statement, FOUND wasn't set at all.
2009-01-21 11:02:40 +00:00
Peter Eisentraut
93a6be63a5 Revise the permission checking on user mapping DDL commands.
CREATE/ALTER/DROP USER MAPPING are now allowed either by the server owner or
by a user with USAGE privileges for his own user name.  This is more or less
what the SQL standard wants anyway (plus "implementation-defined")

Hide information_schema.user_mapping_options.option_value, unless the current
user is the one associated with the user mapping, or is the server owner and
the mapping is for PUBLIC, or is a superuser.  This is to protect passwords.

Also, fix a bug in information_schema._pg_foreign_servers, which hid servers
using wrappers where the current user did not have privileges on the wrapper.
The correct behavior is to hide servers where the current user has no
privileges on the server.
2009-01-20 09:10:20 +00:00
Bruce Momjian
fe62698218 Update \d*S documentation to be more accurate; system objects are added
to the display, not restricted in the display; new text:

        The letter <literal>S</literal> adds the listing of system
        objects; without <literal>S</literal>, only non-system
        objects are shown.
2009-01-20 02:38:37 +00:00
Neil Conway
fd1d4b3acd Fix an ungrammatical statement. 2009-01-17 04:29:00 +00:00
Neil Conway
ea4b54e5f9 Fix typo. 2009-01-17 04:24:41 +00:00
Heikki Linnakangas
6587818542 Add vacuum_freeze_table_age GUC option, to control when VACUUM should
ignore the visibility map and scan the whole table, to advance
relfrozenxid.
2009-01-16 13:27:24 +00:00
Heikki Linnakangas
14bfea3b75 Change explanation of pg_switch_xlog()'s return value to match code. 2009-01-15 18:19:58 +00:00
Bruce Momjian
520c41b526 Add documentation mention that full page writes have to be enabled for
full pages to be restored during recovery.

Per private report from Michael Renner
2009-01-15 00:34:25 +00:00
Bruce Momjian
afe8ac2078 Document how pglesslog can be used to reduce the storage requirements of PITR. 2009-01-13 00:54:11 +00:00
Peter Eisentraut
405728f669 Add some minimal documentation that the SQL standard requires parentheses
after ONLY.
2009-01-12 14:06:20 +00:00
Peter Eisentraut
ca8100f9eb Add ONLY support to LOCK and TRUNCATE. By default, these commands are now
recursive.

=> Note this incompatibility in the release notes.
2009-01-12 08:54:27 +00:00
Tom Lane
b7b8f0b609 Implement prefetching via posix_fadvise() for bitmap index scans. A new
GUC variable effective_io_concurrency controls how many concurrent block
prefetch requests will be issued.

(The best way to handle this for plain index scans is still under debate,
so that part is not applied yet --- tgl)

Greg Stark
2009-01-12 05:10:45 +00:00
Bruce Momjian
3b34e98242 Modify libpq environment variable documentation to point to the relevant
connection options documentation section, per idea from Magnus.
2009-01-10 20:14:30 +00:00
Bruce Momjian
2f90d9ff04 Update link guidelines. 2009-01-10 16:58:39 +00:00
Bruce Momjian
feba07f838 Add guidelines section. 2009-01-10 16:03:15 +00:00
Bruce Momjian
908e2c7fd1 Add file to explain SGML linking options, for use by SGML document
writers.
2009-01-10 04:40:08 +00:00
Tom Lane
ccb51c0842 A further attempt at clarifying the \distv business. 2009-01-09 19:27:14 +00:00
Bruce Momjian
d3706cb6d2 Remove tabs from SGML docs. 2009-01-09 15:02:22 +00:00
Peter Eisentraut
f8e5b79368 Change chapter titles thus:
III. Server Administration
15. Installation from Source Code
16. Installation from Source Code on Windows
17. Server Setup and Operation

to give users of binary installations a better idea where to start reading.

suggested by Nikolay Samokhvalov
2009-01-09 13:37:18 +00:00
Peter Eisentraut
26dc14b6b2 Rewrite update-po target, so that it works less like a shell script and more
like a makefile with real dependencies.

Instead of overwriting the old po file, write the new one to .po.new.  This is
less annoying and integrates better with the NLS web site.

Also, we can now merge languages that don't have a po file yet, by merging
against all other po files of that language, to pick up recurring translations
automatically.  This previously only worked when a po file already existed.
2009-01-09 10:54:08 +00:00
Magnus Hagander
1b4e729eaa Make krb_realm and krb_server_hostname be pg_hba options only, and remove
their GUCs.

In passing, noted that the pg_hba options for krb5 authentication weren't
listed at all - so add this.
2009-01-09 10:13:19 +00:00
Andrew Dunstan
32e1265dd9 Document values for pg_constraint confupdtype, confdeltype and confmatchtype columns. 2009-01-09 01:53:10 +00:00
Bruce Momjian
32c34aab1d Update release notes for 8.3.5, 8.2.11, and 8.1.15 to mention the need
to reindex GiST indexes:

	If you were running a previous 8.X.X release, REINDEX all GiST
	indexes after the upgrade.
2009-01-09 01:47:02 +00:00
Bruce Momjian
eb0d7e243a Document that txid_visible_in_snapshot() cannot be used with
subtransaction ids.
2009-01-08 14:46:50 +00:00
Peter Eisentraut
3467f02957 Add note that not all SQL commands support ONLY in the same way. 2009-01-08 12:47:58 +00:00
Bruce Momjian
af96c82019 Document current_query() as being the _client_ query. 2009-01-08 00:44:18 +00:00
Bruce Momjian
1c175cd76a Revert current_query() change to use debug_query_string again; add comment. 2009-01-08 00:13:22 +00:00
Tom Lane
445ce15702 Create a third option named "partition" for constraint_exclusion, and make it
the default.  This setting enables constraint exclusion checks only for
appendrel members (ie, inheritance children and UNION ALL arms), which are
the cases in which constraint exclusion is most likely to be useful.  Avoiding
the overhead for simple queries that are unlikely to benefit should bring
the cost down to the point where this is a reasonable default setting.
Per today's discussion.
2009-01-07 22:40:49 +00:00
Bruce Momjian
12dcf7bb75 Have current_query() use ActivePortal->sourceText rather than
debug_query_string;  this allows current_query() to be more accurate;
docs updated;  per idea from Tom
2009-01-07 21:48:15 +00:00
Tom Lane
1cfd9e8834 Fix executor/spi.h to follow our usual conventions for include files, ie,
not include postgres.h nor anything else it doesn't directly need.  Add
#includes to calling files as needed to compensate.  Per my proposal of
yesterday.

This should be noted as a source code change in the 8.4 release notes,
since it's likely to require changes in add-on modules.
2009-01-07 13:44:37 +00:00
Magnus Hagander
b09f930d2e Add hba parameter include_realm to krb5, gss and sspi authentication, used
to pass the full username@realm string to the authentication instead of
just the username. This makes it possible to use pg_ident.conf to authenticate
users from multiple realms as different database users.
2009-01-07 13:09:21 +00:00
Magnus Hagander
32c469d7b1 Allow krb_realm (krb5, gssapi and sspi) and krb_server_hostname (krb5 only)
authentication options to be set in pg_hba.conf on a per-line basis, to
override the defaults set in postgresql.conf.
2009-01-07 12:38:11 +00:00
Magnus Hagander
af26089841 Add appropriate text for SIGHUP parameters instead of just removing it
like previous patch did.

Per note from Tom Lane
2009-01-07 12:21:47 +00:00
Bruce Momjian
d319a65358 Break out \distv into four separate lines in the psql documentation, for
clarity.
2009-01-07 04:51:34 +00:00
Bruce Momjian
f5ed2ee533 Add documentation for new \d*S* patch, and clean up some of the docs.
Fix \do and trigger display for the patch too.
2009-01-06 23:01:57 +00:00
Bruce Momjian
e825fac2a3 Document that Cygwin does not support OpenSSL. 2009-01-06 19:42:57 +00:00