Commit Graph

11037 Commits

Author SHA1 Message Date
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
Tom Lane
e228624011 Remove references to pgsql-ports and pgsql-patches mailing lists from
various documentation, since those lists are now dead/deprecated.
Point to pgsql-bugs and/or pgsql-hackers as appropriate.
2009-01-06 17:27:06 +00:00
Tom Lane
7c63d0c72e Change a couple of ill-advised uses of INFO elog level to WARNINGs; in
particular this allows EmitWarningsOnPlaceholders messages to show up in the
postmaster log by default.  Update elog.h comment to make it clearer what INFO
is for, and fix one example in the SGML docs that was misusing it.  Per my
gripe of yesterday.
2009-01-06 16:39:52 +00:00
Bruce Momjian
b32a290bdf Update SELECT version() to show whether it is a 32 or 64-bit backend binary. 2009-01-06 03:05:23 +00:00
Tom Lane
b0a6ad70a1 Add a --role option to pg_dump, pg_dumpall, and pg_restore. This allows
performing dumps and restores in accordance with a security policy that
forbids logging in directly as superuser, but instead specifies that you
should log into an admin account and then SET ROLE to the superuser.

In passing, clean up some ugly and mostly-broken code for quoting shell
arguments in pg_dumpall.

Benedek László, with some help from Tom Lane
2009-01-05 16:54:37 +00:00
Bruce Momjian
f42a7f1e62 Update Japanese FAQ.
Jun Kuwamura
2009-01-05 15:04:59 +00:00
Tom Lane
7466eeac61 Add contrib/pg_stat_statements for server-wide tracking of statement execution
statistics.

Takahiro Itagaki
2009-01-04 22:19:59 +00:00
Magnus Hagander
184341309e Today is find-typo-in-old-patches day. Fix wrong cut/paste in ident
documentation.
2009-01-02 11:51:53 +00:00
Magnus Hagander
a27addbc87 Make it possible to change Kerberos/GSSAPI parameters without restarting
the postmaster. They are only used in backend processes, so it's just
a matter of re-labeling the GUCs.
2009-01-02 10:33:20 +00:00
Tom Lane
ccdb6627ee Tweak guc.c to allow underscores in the names of custom variable classes,
and change auto_explain's custom GUC variables to be named auto_explain.xxx
not just explain.xxx.  Per discussion in connection with the
pg_stat_statements patch, it seems like a good idea to have the convention
that custom variable classes are named the same as their defining module.
Committing separately since this should happen regardless of what happens
with pg_stat_statements itself.
2009-01-02 01:16:02 +00:00
Bruce Momjian
511db38ace Update copyright for 2009. 2009-01-01 17:24:05 +00:00
Tom Lane
df0ea5a1cd Throw error if a <window definition> references a window that already has a
frame clause, as appears to be required by the fine print in the SQL spec.
Per discussion with Pavel, not doing so risks user confusion.
2008-12-31 23:42:56 +00:00
Tom Lane
26ce4e85a1 Add a WINDOW attribute to CREATE FUNCTION, and teach pg_dump about it,
so that user-defined window functions are possible.  For the moment you'll
have to write them in C, for lack of any interface to the WindowObject API
in the available PLs, but it's better than no support at all.

There was some debate about the best syntax for this.  I ended up choosing
the "it's an attribute" position --- the other approach will inevitably be
more work, and the likely market for user-defined window functions is
probably too small to justify it.
2008-12-31 02:25:06 +00:00
Tom Lane
8e8854daa2 Add some basic support for window frame clauses to the window-functions
patch.  This includes the ability to force the frame to cover the whole
partition, and the ability to make the frame end exactly on the current row
rather than its last ORDER BY peer.  Supporting any more of the full SQL
frame-clause syntax will require nontrivial hacking on the window aggregate
code, so it'll have to wait for 8.5 or beyond.
2008-12-31 00:08:39 +00:00
Tom Lane
2c38b8c715 Fix thinko in documentation of default window frame behavior,
per Hitoshi Harada.
2008-12-29 18:23:53 +00:00
Tom Lane
95b07bc7f5 Support window functions a la SQL:2008.
Hitoshi Harada, with some kibitzing from Heikki and Tom.
2008-12-28 18:54:01 +00:00
Tom Lane
ea7d5199e5 Add a new column proiswindow to pg_proc. It doesn't actually do anything
useful yet, but I'm tired of re-merging this aspect of the window functions
patch.
2008-12-19 18:25:20 +00:00
Peter Eisentraut
cae565e503 SQL/MED catalog manipulation facilities
This doesn't do any remote or external things yet, but it gives modules
like plproxy and dblink a standardized and future-proof system for
managing their connection information.

Martin Pihlak and Peter Eisentraut
2008-12-19 16:25:19 +00:00
Tom Lane
e32014d85d Add a couple of cross-references to the docs about enum types, per a
recent gripe that the info is hard to find.
2008-12-19 01:34:19 +00:00
Bruce Momjian
382af3a954 Add "not" to wal journaling text. 2008-12-18 22:34:21 +00:00
Bruce Momjian
fa6116a3da Clarify documentation that journaling is not required for WAL or data files. 2008-12-18 22:21:16 +00:00
Tom Lane
517ae4039e Code review for function default parameters patch. Fix numerous problems as
per recent discussions.  In passing this also fixes a couple of bugs in
the previous variadic-parameters patch.
2008-12-18 18:20:35 +00:00
Bruce Momjian
cee63eab8d Update documentation table describing how shared memory is used by
various facilities.
2008-12-18 17:03:09 +00:00
Peter Eisentraut
a666d28543 Add note that TRUNCATE uses an access exclusive lock. This apparently
surprised/confused some users.
2008-12-18 10:45:00 +00:00
Alvaro Herrera
5434e46986 Add note to the shared memory sizing table about needing to use page count in
shared_buffers and wal_buffers, not size in bytes.  Per discussion.
2008-12-16 19:30:43 +00:00
Bruce Momjian
7ac5727659 Fix wording of section comparing triggers and rules; old wording as
confusing.
2008-12-16 03:12:08 +00:00
Bruce Momjian
30c6202a2a Add documentation that pg_standby sleeps on Win32 because of 'copy' behavior. 2008-12-15 22:08:35 +00:00
Tom Lane
4da65a23e7 Code review for CREATE OR REPLACE VIEW patch. Do things in a saner order to
result in hopefully-less-confusing error messages when the new definition
isn't compatible with the old; minor other cleanup.
2008-12-15 21:35:31 +00:00
Magnus Hagander
5f3724dd7c Support specifying filename for SSL certificate, key, root certificate store
and certificate revokation list by using connection parameters or environment
variables.

Original patch by Mark Woodward, heavily reworked by Alvaro Herrera and
Magnus Hagander.
2008-12-15 10:28:22 +00:00
Tom Lane
65e3ea7641 Increase the default value of default_statistics_target from 10 to 100,
and its maximum value from 1000 to 10000.  ALTER TABLE SET STATISTICS
similarly now allows a value up to 10000.  Per discussion.
2008-12-13 19:13:44 +00:00
Tom Lane
17dc173660 To reduce confusion over whether VACUUM FULL is needed for anti-wraparound
vacuuming (it's not), say "database-wide VACUUM" instead of "full-database
VACUUM" in the relevant hint messages.  Also, document the permissions needed
to do this.  Per today's discussion.
2008-12-11 18:16:18 +00:00
Peter Eisentraut
218b4e8dd8 Append major version number and for libraries soname major version number
to the gettext domain name, to simplify parallel installations.

Also, rename set_text_domain() to pg_bindtextdomain(), because that is what
it does.
2008-12-11 07:34:09 +00:00
Bruce Momjian
253fa736b9 Update journaling performance docs based on comments by Michael Renner. 2008-12-10 11:05:49 +00:00
Tom Lane
5932915fef Add a specific example of parenthesizing when extracting a field of a
composite column.  Might help cut down on future questions...
2008-12-09 20:52:03 +00:00
Magnus Hagander
9edd720050 Clearify how processes are started by autovacuum, and what the effect
of autovacuum_max_workers parameter is.

Per discussion with Alvaro.
2008-12-08 20:30:58 +00:00
Magnus Hagander
bd33aca36e Add note that autovacuum can use up several times maintenance_work_mem,
with warning against setting it too high.
2008-12-08 15:11:39 +00:00
Alvaro Herrera
aa7f00464d Desultorily enclose programlisting tags in CDATA, to get rid of some obnoxious
SGML-escaping.
2008-12-07 23:46:39 +00:00
Bruce Momjian
ff1ea2173a Allow CREATE OR REPLACE VIEW to add columns to the _end_ of the view.
Robert Haas
2008-12-06 23:22:46 +00:00
Bruce Momjian
31076c8beb Document that non-data journaling is a recommended mount option. 2008-12-06 21:34:27 +00:00
Peter Eisentraut
455dffbb73 Default values for function arguments
Pavel Stehule, with some tweaks by Peter Eisentraut
2008-12-04 17:51:28 +00:00
Peter Eisentraut
44ff90966c Update key words table to 8.4 and SQL:2008. 2008-12-03 12:39:57 +00:00
Magnus Hagander
b0729b8d4e Documentation for wildcard certificates patch 2008-12-02 12:42:11 +00:00
Peter Eisentraut
6355e69d1e Add braces to clarify syntax synopsis 2008-12-01 09:38:08 +00:00
Peter Eisentraut
e3764aa1b1 Small correction 2008-12-01 09:20:37 +00:00
Peter Eisentraut
d653d47f37 typo 2008-12-01 08:24:19 +00:00
Tom Lane
3f936aacc0 Add a "LIKE = typename" clause to CREATE TYPE for base types. This allows
the basic representational details (typlen, typalign, typbyval, typstorage)
to be copied from an existing type rather than listed explicitly in the
CREATE TYPE command.  The immediate reason for this is to provide a simple
solution for add-on modules that want to define types represented as int8,
float4, or float8: as of 8.4 the appropriate PASSEDBYVALUE setting is
platform-specific and so it's hard for a SQL script to know what to do.

This patch fixes the contrib/isn breakage reported by Rushabh Lathia.
2008-11-30 19:01:29 +00:00
Magnus Hagander
5d2a1a41d0 Support regular expressions in pg_ident.conf. 2008-11-28 14:26:58 +00:00
Peter Eisentraut
c3cee16fe8 Add that PL/Java is an implementation of SQL/JRT, and drop claim that
PL/pgSQL has much to do with SQL/PSM.
2008-11-27 12:12:02 +00:00
Tom Lane
e309739670 Tweak wording of DISCARD ALL description to avoid giving the impression
that the presented list of equivalent operations is meant to be the
primary definition of what it does.  Per comment from Guillaume Smet.
2008-11-27 00:28:06 +00:00
Peter Eisentraut
f900afff3e configure check for docbook2man program, used in the new XML-based man
page build target.  This covers from-source, Debian, and Fedora
installation variants.
2008-11-26 11:26:54 +00:00
Tom Lane
1b26b07379 Make DISCARD ALL discard advisory locks, too. Marko Kreen 2008-11-26 01:21:08 +00:00
Tom Lane
8a10096440 information_schema.key_column_usage.position_in_unique_constraint was
misdocumented as not being implemented.  In reality it has worked since
the release of 8.2.
2008-11-25 20:47:42 +00:00
Tom Lane
1304f297a4 Remove PGINTERVALSTYLE from the set of special environment variables for
libpq.  As noted by Peter, adding this variable created a risk of unexpected
connection failures when talking to older server versions, and since it
doesn't do anything you can't do with PGOPTIONS, it doesn't seem really
necessary.  Removing it does occasion a few extra lines in pg_regress.c,
but saving a getenv() call per libpq connection attempt is perhaps worth
that anyway.
2008-11-25 19:30:42 +00:00
Peter Eisentraut
0884acbcab Move FAQ_AIX information to installation instructions.
The information on why the shared libraries are built the way they are
was not relevant to end users and has been made a mailing list archive
link in Makefile.shlib.
2008-11-24 11:59:37 +00:00
Peter Eisentraut
a378555501 CLUSTER VERBOSE and corresponding clusterdb --verbose option
Jim Cox and Peter Eisentraut
2008-11-24 08:46:04 +00:00
Tom Lane
86422cbbfc Minor copy-editing. 2008-11-21 20:21:59 +00:00
Magnus Hagander
bae2116ac6 Document which GUC settings are enums and not strings, along with a short
paragraph about what that means.
2008-11-21 19:42:12 +00:00
Magnus Hagander
e5c032d898 Docs update for enumvals patch. 2008-11-21 19:31:58 +00:00
Peter Eisentraut
47d6d641dd Include the platform "FAQs" into the installation instructions.
I weeded out some really old information along the way.
FAQ_AIX needs separate consideration and will be dealt with later.
2008-11-21 16:46:19 +00:00
Peter Eisentraut
5758d5ea31 Use relation_expr for TABLE command, requested by Tom. 2008-11-21 11:47:55 +00:00
Tom Lane
3d7ac0d0b1 Note that the example aggregate array_accum is comparable to the now
built-in array_agg.  Per suggestion from Robert Haas.
2008-11-20 21:10:44 +00:00
Bruce Momjian
170b66a0c5 Issue a proper error message when MD5 is attempted when
db_user_namespace is enabled.

Also document this limitation.
2008-11-20 20:45:30 +00:00
Peter Eisentraut
b09a1a2942 TABLE command 2008-11-20 14:04:46 +00:00
Magnus Hagander
f179d5ea99 Add support for using SSL client certificates to authenticate to the
database (only for SSL connections, obviously).
2008-11-20 11:48:26 +00:00
Magnus Hagander
3c486fbd1c Control client certificate requesting with the pg_hba option "clientcert"
instead of just relying on the root certificate file to be present.
2008-11-20 09:29:36 +00:00
Peter Eisentraut
5054867632 Add WITH as a refname to the SELECT reference page.
Now "\help WITH" works and there will be a separate WITH(7) man page.
2008-11-19 12:21:57 +00:00
Bruce Momjian
89ad92a216 Add "Most Common Implementation" row to high availablity table so the
table is less abstract.  Most common implementations were already
mentioned in the text.
2008-11-19 04:46:37 +00:00
Tom Lane
e125e28e78 Add auto-explain contrib module for automatic logging of the plans of
slow-running queries.

Takahiro Itagaki
2008-11-19 02:59:28 +00:00
Peter Eisentraut
f426fbf746 Ident authentication over Unix-domain sockets on Solaris, using
getpeerucred() function.

Author: Garick Hamlin <ghamlin@isc.upenn.edu>
2008-11-18 13:10:20 +00:00
Bruce Momjian
29ad832dba Document that Bucardo is an example of mulit-master replication with
conflict resolution.
2008-11-17 18:55:14 +00:00
Tom Lane
18004101ac Modify UPDATE/DELETE WHERE CURRENT OF to use the FOR UPDATE infrastructure to
locate the target row, if the cursor was declared with FOR UPDATE or FOR
SHARE.  This approach is more flexible and reliable than digging through the
plan tree; for instance it can cope with join cursors.  But we still provide
the old code for use with non-FOR-UPDATE cursors.  Per gripe from Robert Haas.
2008-11-16 17:34:28 +00:00
Tom Lane
07c179a82b Document a gotcha that happens on Windows when using libpq's new event
procedure support: it's possible to get confused because exported procedures
have two different addresses.  Per Andrew Chernow.
2008-11-14 22:58:51 +00:00
Tom Lane
32cc9e5533 Reduce contrib/intagg to a thin wrapper around the new core functions
array_agg() and unnest().  We could drop it entirely in the future,
but let's keep it for a release or two as a compatibility assist.
2008-11-14 19:58:45 +00:00
Peter Eisentraut
6e82501083 Since doc/src/sgml already builds the HTML docs twice to resolve index
entries, we don't have to do two builds here as well.
2008-11-14 10:43:59 +00:00
Peter Eisentraut
d129255077 Set SQL man pages to be section 7 by default, and only transform them to
another section if required by the platform (instead of the old way of
building them in section "l" and always transforming them to the
platform-specific section).

This speeds up the installation on common platforms, and it avoids some
funny business with the man page tools and build process.
2008-11-14 10:22:48 +00:00
Tom Lane
c889ebce0a Implement the basic form of UNNEST, ie unnest(anyarray) returns setof
anyelement.  This lacks the WITH ORDINALITY option, as well as the multiple
input arrays option added in the most recent SQL specs.  But it's still a
pretty useful subset of the spec's functionality, and it is enough to
allow obsoleting contrib/intagg.
2008-11-14 00:51:47 +00:00
Tom Lane
c23b6fa7b5 Marginal editorial improvements for array_agg patch documentation. 2008-11-13 23:01:09 +00:00
Peter Eisentraut
3379fae6de array_agg aggregate function, as per SQL:2008, but without ORDER BY clause
Rearrange the documentation a bit now that array_agg and xmlagg have similar
semantics and issues.

best of Robert Haas, Jeff Davis, Peter Eisentraut
2008-11-13 15:59:51 +00:00
Magnus Hagander
c89404edf3 Fix libpq certificate validation for SSL connections.
Add config parameter "sslverify" to control the verification. Default
is to do full verification.

Clean up some old SSL code that never really worked.
2008-11-13 09:45:25 +00:00
Peter Eisentraut
2b2fb7d85d Support for man page links, if a man page has more than one refname.
We don't actually use this anywhere, but it might come in handy for dealing
with SELECT/WITH/TABLE.

It works with both the old and the new man page target (for some value of
"works").
2008-11-12 16:01:51 +00:00
Peter Eisentraut
18eeacc463 Remove unnecessary whitespace in refname elements. This confuses the
man page tools.
2008-11-12 15:53:34 +00:00
Peter Eisentraut
2655ec1f2c Add refentrytitle elements to refentry pages. Their absence confused the
man page tools somewhat.
2008-11-12 15:52:44 +00:00
Peter Eisentraut
f98f6ee064 array_length() function, and for SQL compatibility also cardinality()
function as a special case.

This version still has the suspicious behavior of returning null for an
empty array (rather than zero), but this may need a wholesale revision of
empty array behavior, currently under discussion.

Jim Nasby, Robert Haas, Peter Eisentraut
2008-11-12 13:09:28 +00:00
Magnus Hagander
bd059c2d1d Mention the tup_fetched column in pg_stat_database.
Greg Sabino Mullane
2008-11-11 20:06:21 +00:00
Tom Lane
a4917bef0e Add support for input and output of interval values formatted per ISO 8601;
specifically, we can input either the "format with designators" or the
"alternative format", and we can output the former when IntervalStyle is set
to iso_8601.

Ron Mayer
2008-11-11 02:42:33 +00:00
Alvaro Herrera
6462e7b81c Add a --locale switch to createdb, to ease the creation of databases with
different locales.  This is just syntactical sweetener over --lc-collate and
--lc-ctype.  Per discussion.

While at it, properly document --lc-ctype and --lc-collate in SGML docs,
which apparently were forgotten (or purposefully ommited?) when they were
created.
2008-11-10 16:25:41 +00:00
Tom Lane
c5451c22e3 Make relhasrules and relhastriggers work like relhasindex, namely we let
VACUUM reset them to false rather than trying to clean 'em up during DROP.
2008-11-10 00:49:37 +00:00
Tom Lane
e4718f2c9e Replace pg_class.reltriggers with relhastriggers, which is just a boolean hint
("there might be triggers") rather than an exact count.  This is necessary
catalog infrastructure for the upcoming patch to reduce the strength of
locking needed for trigger addition/removal.  Split out and committed
separately for ease of reviewing/testing.

In passing, also get rid of the unused pg_class columns relukeys, relfkeys,
and relrefs, which haven't been maintained in many years and now have no
chance of ever being maintained (because of wishing to avoid locking).

Simon Riggs
2008-11-09 21:24:33 +00:00
Tom Lane
1d577f5e49 Add a startup check that pg_xlog and pg_xlog/archive_status exist.
If the latter doesn't exist, automatically recreate it.  (We don't do
this for pg_xlog, though, per discussion.)

Jonah Harris
2008-11-09 17:51:15 +00:00
Tom Lane
dbf57d31f8 Add some documentation about handling of fractions in interval input.
(It's always worked like this, but we never documented it before.)
2008-11-09 17:09:48 +00:00
Tom Lane
df7641e25a Add a new GUC variable called "IntervalStyle" that decouples interval output
from DateStyle, and create a new interval style that produces output matching
the SQL standard (at least for interval values that fall within the standard's
restrictions).  IntervalStyle is also used to resolve the conflict between the
standard and traditional Postgres rules for interpreting negative interval
input.

Ron Mayer
2008-11-09 00:28:35 +00:00
Tom Lane
399ad77c66 Improve documentation of pg_typeof, per gripe from David Wheeler. 2008-11-07 22:54:41 +00:00
Tom Lane
6517f377d6 Implement ALTER DATABASE SET TABLESPACE to move a whole database (or at least
as much of it as lives in its default tablespace) to a new tablespace.

Guillaume Lelarge, with some help from Bernd Helmle and Tom Lane
2008-11-07 18:25:07 +00:00
Tom Lane
cdc197cf31 Improve psql's \dC command to take a pattern parameter. Casts are shown
if their source or target types match the pattern (using the same definition
of "match" as \dT does).  Per recent discussion.
2008-11-06 15:18:36 +00:00
Bruce Momjian
e33e0c43fe Document that SSL is only possible on tcp/ip connections in the
postgresql.conf 'ssl' section.
2008-11-04 22:40:40 +00:00
Bruce Momjian
c227ccc2f7 Document that 'sslmode' is ignored for Unix domain socket communication;
backpatch to 8.3.X.
2008-11-04 22:36:07 +00:00
Peter Eisentraut
725ba51f2c Experimental new support for building man pages via docbook2x, an XSL-based
tool chain.  With some polishing, this might help us get rid of our ancient
and crufty man page build mechanism.
2008-11-04 14:58:22 +00:00
Peter Eisentraut
254aecb704 ADD array_ndims function
Author: Robert Haas <robertmhaas@gmail.com>
2008-11-04 14:49:12 +00:00
Bruce Momjian
4253f016c9 Add missing colon to docs. 2008-11-04 04:18:50 +00:00
Bruce Momjian
ac3797a913 Remove tabs from SGML file. 2008-11-04 00:59:45 +00:00
Tom Lane
31b15fe8dc Disallow LOCK TABLE outside a transaction block (or function), since this case
almost certainly represents user error.  Per a gripe from Sebastian Böhm
and subsequent discussion.
2008-11-04 00:57:19 +00:00
Peter Eisentraut
84aa797292 Allow uuid_in() to parse a wider variety of variant input formats for the UUID
data type.  This patch takes the approach of allowing an optional hyphen after
each group of four hex digits.

Author: Robert Haas <robertmhaas@gmail.com>
2008-11-03 22:14:40 +00:00
Andrew Dunstan
f0dae70431 suppress_redundant_updates_trigger function. 2008-11-03 20:17:21 +00:00
Tom Lane
b8fab2411d Add pg_typeof() function.
Brendan Jurd
2008-11-03 17:51:13 +00:00
Alvaro Herrera
aa3288146a Update URL to Docbook DSSSL stylesheets, per Gabriele Bartolini. 2008-11-03 15:39:38 +00:00
Tom Lane
3c2313f481 Change the pgstat logic so that the stats collector writes the stats file only
upon requests from backends, rather than on a fixed 500msec cycle.  (There's
still throttling logic to ensure it writes no more often than once per
500msec, though.)  This should result in a significant reduction in stats file
write traffic in typical scenarios where the stats are demanded only
infrequently.

This approach also means that the former difficulty with changing
stats_temp_directory on-the-fly has gone away, so remove the caution about
that as well as the thrashing we did to minimize the trouble window.

In passing, also fix pgstat_report_stat() so that we will send a stats
message if we have function call stats but not table stats to report;
this fixes a bug in the recent patch to support function-call stats.

Martin Pihlak
2008-11-03 01:17:08 +00:00
Tom Lane
9b46abb7c4 Allow SQL-language functions to return the output of an INSERT/UPDATE/DELETE
RETURNING clause, not just a SELECT as formerly.

A side effect of this patch is that when a set-returning SQL function is used
in a FROM clause, performance is improved because the output is collected into
a tuplestore within the function, rather than using the less efficient
value-per-call mechanism.
2008-10-31 19:37:56 +00:00
Peter Eisentraut
29077051de The conversion rule from postgres.sgml to postgres.xml didn't work with
BSD sed.  So write it in Perl, which is more portable and a bit faster, too.
We already use Perl for standard documentation builds, so this imposes no
additional requirement.
2008-10-31 14:35:30 +00:00
Heikki Linnakangas
092bc49653 Add support for user-defined I/O conversion casts. 2008-10-31 08:39:22 +00:00
Tom Lane
d1e384884c Update back-branch release notes. 2008-10-30 22:22:24 +00:00
Bruce Momjian
3276599804 Remove tab from sgml file. 2008-10-29 14:35:04 +00:00
Peter Eisentraut
f7ad874ca8 Since SQL:2003, the array size specification in the SQL ARRAY syntax has
been optional.
2008-10-29 11:24:53 +00:00
Peter Eisentraut
06735e3256 Unicode escapes in strings and identifiers 2008-10-29 08:04:54 +00:00
Tom Lane
e3e3d2a789 Extend ExecMakeFunctionResult() to support set-returning functions that return
via a tuplestore instead of value-per-call.  Refactor a few things to reduce
ensuing code duplication with nodeFunctionscan.c.  This represents the
reasonably noncontroversial part of my proposed patch to switch SQL functions
over to returning tuplestores.  For the moment, SQL functions still do things
the old way.  However, this change enables PL SRFs to be called in targetlists
(observe changes in plperl regression results).
2008-10-28 22:02:06 +00:00
Peter Eisentraut
8ecd535169 Add WITH [NO] DATA clause to CREATE TABLE AS, per SQL.
Also, since WITH is now a reserved word, simplify the token merging code to
only deal with WITH_TIME.

by Tom Lane and myself
2008-10-28 14:09:45 +00:00
Magnus Hagander
53a5026b5c Remove support for (insecure) crypt authentication.
This breaks compatibility with pre-7.2 versions.
2008-10-28 12:10:44 +00:00
Tom Lane
b0169bb124 Install a more robust solution for the problem of infinite error-processing
recursion when we are unable to convert a localized error message to the
client's encoding.  We've been over this ground before, but as reported by
Ibrar Ahmed, it still didn't work in the case of conversion failures for
the conversion-failure message itself :-(.  Fix by installing a "circuit
breaker" that disables attempts to localize this message once we get into
recursion trouble.

Patch all supported branches, because it is in fact broken in all of them;
though I had to add some missing translations to the older branches in
order to expose the failure in the particular test case I was using.
2008-10-27 19:37:22 +00:00
Magnus Hagander
f3a0688ace Add support for multiple error messages from libpq, by simply appending them
after each other (since we already add a newline on each, this makes them
multiline).

Previously a new error would just overwrite the old one, so for example any
error caused when trying to connect with SSL enabled would be overwritten
by the error message form the non-SSL connection when using sslmode=prefer.
2008-10-27 09:42:31 +00:00
Peter Eisentraut
0fec77ae88 SQL:2008 syntax CURRENT_CATALOG, CURRENT_SCHEMA, SET CATALOG, SET SCHEMA. 2008-10-27 09:37:47 +00:00
Peter Eisentraut
5163b94e6f Allow EXPLAIN on CREATE TABLE AS. 2008-10-27 08:47:14 +00:00
Magnus Hagander
7356381ef5 * make pg_hba authoption be a set of 0 or more name=value pairs
* make LDAP use this instead of the hacky previous method to specify
  the DN to bind as
* make all auth options behave the same when they are not compiled
  into the server
* rename "ident maps" to "user name maps", and support them for all
  auth methods that provide an external username

This makes a backwards incompatible change in the format of pg_hba.conf
for the ident, PAM and LDAP authentication methods.
2008-10-23 13:31:10 +00:00
Peter Eisentraut
361bfc3572 SQL:2008 alternative syntax for LIMIT/OFFSET:
OFFSET num {ROW|ROWS} FETCH {FIRST|NEXT} [num] {ROW|ROWS} ONLY
2008-10-22 11:00:34 +00:00
Peter Eisentraut
1471e3843d Allow SQL:2008 syntax ALTER TABLE ... ALTER COLUMN ... SET DATA TYPE
alongside our traditional syntax.
2008-10-21 08:38:16 +00:00
Peter Eisentraut
00cbf22e8b Update compatibility section of TRUNCATE for SQL:2008 final. 2008-10-18 07:49:46 +00:00
Peter Eisentraut
123c8efd89 Update feature list for SQL:2008. 2008-10-18 00:35:32 +00:00
Tom Lane
e4fb8ff06a Add a new column to pg_am to specify whether an index AM supports backward
scanning; GiST and GIN do not, and it seems like too much trouble to make
them do so.  By teaching ExecSupportsBackwardScan() about this restriction,
we ensure that the planner will protect a scroll cursor from the problem
by adding a Materialize node.

In passing, fix another longstanding bug in the same area: backwards scan of
a plan with set-returning functions in the targetlist did not work either,
since the TupFromTlist expansion code pays no attention to direction (and
has no way to run a SRF backwards anyway).  Again the fix is to make
ExecSupportsBackwardScan check this restriction.

Also adjust the index AM API specification to note that mark/restore support
is unnecessary if the AM can't produce ordered output.
2008-10-17 22:10:30 +00:00
Teodor Sigaev
2a0083ede8 Improve headeline generation. Now headline can contain
several fragments a-la Google.

Sushant Sinha <sushant354@gmail.com>
2008-10-17 18:05:19 +00:00
Tom Lane
a303e4dc43 Extend the date type to support infinity and -infinity, analogously to
the timestamp types.  Turns out this doesn't even reduce the available
range of dates, since the restriction to dates that work for Julian-date
arithmetic is much tighter than the int32 range anyway.  Per a longstanding
TODO item.
2008-10-14 17:12:33 +00:00
Tom Lane
06224652f2 Add docs and regression test about sorting the output of a recursive query in
depth-first search order.  Upon close reading of SQL:2008, it seems that the
spec's SEARCH DEPTH FIRST and SEARCH BREADTH FIRST options do not actually
guarantee any particular result order: what they do is provide a constructed
column that the user can then sort on in the outer query.  So this is actually
just as much functionality ...
2008-10-14 00:41:35 +00:00
Tom Lane
1f238e569a Eliminate unnecessary array[] decoration in examples of recursive cycle
detection.
2008-10-14 00:12:44 +00:00
Tom Lane
e3b0117459 Implement comparison of generic records (composite types), and invent a
pseudo-type record[] to represent arrays of possibly-anonymous composite
types.  Since composite datums carry their own type identification, no
extra knowledge is needed at the array level.

The main reason for doing this right now is that it is necessary to support
the general case of detection of cycles in recursive queries: if you need to
compare more than one column to detect a cycle, you need to compare a ROW()
to an array built from ROW()s, at least if you want to do it as the spec
suggests.  Add some documentation and regression tests concerning the cycle
detection issue.
2008-10-13 16:25:20 +00:00
Tom Lane
74fd3d1b23 Fix COPY documentation to not imply that HEADER can be used outside CSV mode.
Per gripe from Bill Thoen.
2008-10-10 21:46:34 +00:00
Bruce Momjian
e229998138 Update Japanese FAQ.
Jun Kuwamura
2008-10-07 21:26:41 +00:00
Tom Lane
0d115dde82 Extend CTE patch to support recursive UNION (ie, without ALL). The
implementation uses an in-memory hash table, so it will poop out for very
large recursive results ... but the performance characteristics of a
sort-based implementation would be pretty unpleasant too.
2008-10-07 19:27:04 +00:00
Heikki Linnakangas
5f853c6556 Use fork names instead of numbers in the file names for additional
relation forks. While the file names are not visible to users, for those
that do peek into the data directory, it's nice to have more descriptive
names. Per Greg Stark's suggestion.
2008-10-06 14:13:17 +00:00
Tom Lane
e59ad5fbb6 Editorial improvements to description of pg_settings view. 2008-10-06 13:59:37 +00:00
Magnus Hagander
3bea93b3b0 Add columns boot_val and reset_val to the pg_settings view, to expose
the value a parameter has at server start and will have after RESET,
respectively.

Greg Smith, with some modifications by me.
2008-10-06 13:05:40 +00:00
Tom Lane
44d5be0e53 Implement SQL-standard WITH clauses, including WITH RECURSIVE.
There are some unimplemented aspects: recursive queries must use UNION ALL
(should allow UNION too), and we don't have SEARCH or CYCLE clauses.
These might or might not get done for 8.4, but even without them it's a
pretty useful feature.

There are also a couple of small loose ends and definitional quibbles,
which I'll send a memo about to pgsql-hackers shortly.  But let's land
the patch now so we can get on with other development.

Yoshiyuki Asaba, with lots of help from Tatsuo Ishii and Tom Lane
2008-10-04 21:56:55 +00:00
Tom Lane
d5d552fa01 Add a note about how to check for bare < and & in SGML docs, before the
knowledge disappears again.
2008-10-04 02:19:08 +00:00
Peter Eisentraut
6761a0309b Add regression test for macaddr type. Enhance documentation about accepted
input formats.
2008-10-03 15:37:18 +00:00
Heikki Linnakangas
706a308806 Add relation fork support to pg_relation_size() function. You can now pass
name of a fork ('main' or 'fsm', at the moment) to pg_relation_size() to
get the size of a specific fork. Defaults to 'main', if none given.

While we're at it, modify pg_relation_size to take a regclass as argument,
instead of separate variants taking oid and name. This change is
transparent to typical use where the table name is passed as a string
literal, like pg_relation_size('table'), but will break queries like
pg_relation_size(namecol), where namecol is of type name. text-type input
still works, and using a non-schema-qualified table name is not very
reliable anyway, so this is unlikely to break anyone's queries in practice.
2008-10-03 07:33:10 +00:00
Heikki Linnakangas
6736da5484 Make the blkno arguments bigints instead of int4s. A signed int4 is not
large enough for block numbers higher than 2^31. The old pre-FSM-rewrite
pg_freespacemap implementation got this right. While we're at it, remove
some unnecessary #includes.
2008-10-02 12:20:50 +00:00
Heikki Linnakangas
f10a86ece7 Fix function name in pg_freespacemap docs. It's "pg_freespace", not
"pg_freespacemap". Reported by hubert depesz lubaczewski.
2008-10-02 10:26:51 +00:00
Heikki Linnakangas
15c121b3ed Rewrite the FSM. Instead of relying on a fixed-size shared memory segment, the
free space information is stored in a dedicated FSM relation fork, with each
relation (except for hash indexes; they don't use FSM).

This eliminates the max_fsm_relations and max_fsm_pages GUC options; remove any
trace of them from the backend, initdb, and documentation.

Rewrite contrib/pg_freespacemap to match the new FSM implementation. Also
introduce a new variant of the get_raw_page(regclass, int4, int4) function in
contrib/pageinspect that let's you to return pages from any relation fork, and
a new fsm_page_contents() function to inspect the new FSM pages.
2008-09-30 10:52:14 +00:00
Bruce Momjian
436e6af2ad Add documentation about when trigger values NEW/OLD return NULL.
Jeff Davis
2008-09-24 19:51:22 +00:00
Bruce Momjian
93eab311e4 Fix markup tag error, envvar -> envar. 2008-09-24 16:30:26 +00:00
Bruce Momjian
5a8cb50e4f Mention battery-backed cache under hardware selection options. 2008-09-23 20:20:07 +00:00
Heikki Linnakangas
c2d4526495 Tighten the check in initdb and CREATE DATABASE that the chosen encoding
matches the encoding of the locale. LC_COLLATE is now checked in addition
to LC_CTYPE.
2008-09-23 10:58:03 +00:00
Heikki Linnakangas
61d9674988 Make LC_COLLATE and LC_CTYPE database-level settings. Collation and
ctype are now more like encoding, stored in new datcollate and datctype
columns in pg_database.

This is a stripped-down version of Radek Strnad's patch, with further
changes by me.
2008-09-23 09:20:39 +00:00
Tom Lane
c52aab5525 Get rid of pgpass_from_client tracking inside libpq --- given the conclusion
that presence of the password in the conninfo string must be checked *before*
risking a connection attempt, there is no point in checking it afterwards.
This makes the specification of PQconnectionUsedPassword() a bit simpler
and perhaps more generally useful, too.
2008-09-22 14:21:44 +00:00
Tom Lane
cae7ad906a Fix dblink_connect() so that it verifies that a password is supplied in the
conninfo string *before* trying to connect to the remote server, not after.
As pointed out by Marko Kreen, in certain not-very-plausible situations
this could result in sending a password from the postgres user's .pgpass file,
or other places that non-superusers shouldn't have access to, to an
untrustworthy remote server.  The cleanest fix seems to be to expose libpq's
conninfo-string-parsing code so that dblink can check for a password option
without duplicating the parsing logic.

Joe Conway, with a little cleanup by Tom Lane
2008-09-22 13:55:14 +00:00
Tom Lane
3290e6180f Add a PQfireResultCreateEvents function to allow applications to mimic the
sequence of operations that libpq goes through while creating a PGresult.
Also, remove ill-considered "const" decoration on parameters passed to
event procedures.
2008-09-19 20:06:13 +00:00
Tom Lane
4e57668da4 Create a selectivity estimation function for the text search @@ operator.
Jan Urbanski
2008-09-19 19:03:41 +00:00
Tom Lane
e2b7d0c65c Improve the recently-added libpq events code to provide more consistent
guarantees about whether event procedures will receive DESTROY events.
They no longer need to defend themselves against getting a DESTROY
without a successful prior CREATE.

Andrew Chernow
2008-09-19 16:40:40 +00:00
Tom Lane
9fe79c39ca Preliminary release notes for upcoming back branch releases. 2008-09-17 20:57:35 +00:00
Tom Lane
32f159cc55 Add an "events" system to libpq, whereby applications can get callbacks that
enable them to manage private data associated with PGconns and PGresults.

Andrew Chernow and Merlin Moncure
2008-09-17 04:31:08 +00:00
Tom Lane
4adc2f72a4 Change hash indexes to store only the hash code rather than the whole indexed
value.  This means that hash index lookups are always lossy and have to be
rechecked when the heap is visited; however, the gain in index compactness
outweighs this when the indexed values are wide.  Also, we only need to
perform datatype comparisons when the hash codes match exactly, rather than
for every entry in the hash bucket; so it could also win for datatypes that
have expensive comparison functions.  A small additional win is gained by
keeping hash index pages sorted by hash code and using binary search to reduce
the number of index tuples we have to look at.

Xiao Meng

This commit also incorporates Zdenek Kotala's patch to isolate hash metapages
and hash bitmaps a bit better from the page header datastructures.
2008-09-15 18:43:41 +00:00
Magnus Hagander
440b3384b0 Add missing quotes. 2008-09-15 12:41:54 +00:00
Magnus Hagander
9872381090 Parse pg_hba.conf in postmaster, instead of once in each backend for
each connection. This makes it possible to catch errors in the pg_hba
file when it's being reloaded, instead of silently reloading a broken
file and failing only when a user tries to connect.

This patch also makes the "sameuser" argument to ident authentication
optional.
2008-09-15 12:32:57 +00:00
Magnus Hagander
5a1d35ce5c Polish and Turkish FAQ also needed converting to UTF8 2008-09-15 08:50:09 +00:00
Magnus Hagander
3a58d2e172 Convert Russian FAQ to UTF8, to make it render properly on the website. 2008-09-15 08:40:46 +00:00
Tom Lane
ffea8fd381 Update citext's documentation to match the recently-applied patch,
per David Wheeler.
2008-09-12 18:29:49 +00:00
Peter Eisentraut
cdd0895978 Update man page build instructions. 2008-09-12 08:43:53 +00:00
Tom Lane
cff4aa6ad6 Add a duration option to pgbench, so that test length can be specified in seconds
instead of by number of transactions to run.  Takahiro Itagaki
2008-09-11 23:52:48 +00:00
Tom Lane
06edce4c3f Tighten up to_date/to_timestamp so that they are more likely to reject
erroneous input, rather than silently producing bizarre results as formerly
happened.

Brendan Jurd
2008-09-11 17:32:34 +00:00
Tom Lane
70530c808b Adjust the parser to accept the typename syntax INTERVAL ... SECOND(n)
and the literal syntax INTERVAL 'string' ... SECOND(n), as required by the
SQL standard.  Our old syntax put (n) directly after INTERVAL, which was
a mistake, but will still be accepted for backward compatibility as well
as symmetry with the TIMESTAMP cases.

Change intervaltypmodout to show it in the spec's way, too.  (This could
potentially affect clients, if there are any that analyze the typmod of an
INTERVAL in any detail.)

Also fix interval input to handle 'min:sec.frac' properly; I had overlooked
this case in my previous patch.

Document the use of the interval fields qualifier, which up to now we had
never mentioned in the docs.  (I think the omission was intentional because
it didn't work per spec; but it does now, or at least close enough to be
credible.)
2008-09-11 15:27:30 +00:00
Alvaro Herrera
3b9ec4682c Add "source file" and "source line" information to each GUC variable.
initdb forced due to changes in the pg_settings view.

Magnus Hagander and Alvaro Herrera.
2008-09-10 18:09:20 +00:00
Tom Lane
a0b76dc662 Create a separate grantable privilege for TRUNCATE, rather than having it be
always owner-only.  The TRUNCATE privilege works identically to the DELETE
privilege so far as interactions with the rest of the system go.

Robert Haas
2008-09-08 00:47:41 +00:00
Tom Lane
8818f3793e Clarify description of pg_restore's handling of large objects. 2008-09-07 19:12:57 +00:00
Tom Lane
2cf3f6694f Add a few more details in the source-code-formatting documentation.
This isn't exhaustive but it covers some of the more common layout
mistakes I've seen in submitted patches.
2008-09-07 02:01:04 +00:00
Bruce Momjian
1cfd878643 Clarify documention workding for xip_list().
Simon Riggs
2008-09-07 01:29:36 +00:00
Tom Lane
409c144d83 Adjust psql's new \ef command to present an empty CREATE FUNCTION template
for editing if no function name is specified.  This seems a much cleaner way
to offer that functionality than the original patch had.  In passing,
de-clutter the error displays that are given for a bogus function-name
argument, and standardize on "$function$" as the default delimiter for the
function body.  (The original coding would use the shortest possible
dollar-quote delimiter, which seems to create unnecessarily high risk of
later conflicts with the user-modified function body.)
2008-09-06 20:18:08 +00:00
Tom Lane
2c863ca818 Implement a psql command "\ef" to edit the definition of a function.
In support of that, create a backend function pg_get_functiondef().
The psql command is functional but maybe a bit rough around the edges...

Abhijit Menon-Sen
2008-09-06 00:01:25 +00:00
Peter Eisentraut
11f53b1063 Code coverage testing with gcov. Documentation is in the regression test
chapter.

Author: Michelle Caisse <Michelle.Caisse@Sun.COM>
2008-09-05 12:11:18 +00:00
Alvaro Herrera
7ad60b49dc Fixup pg_dumpall adding --lock-wait-timeout, to match pg_dump.
David Gould
2008-08-29 17:28:43 +00:00
Peter Eisentraut
7c31742a07 Remove all traces that suggest that a non-Bison yacc might be supported, and
change build system to use only Bison.  Simplify build rules, make file names
uniform.  Don't build the token table header file where it is not needed.
2008-08-29 13:02:33 +00:00
Tom Lane
6741688b16 Fix pg_dump docs to acknowledge that you can use -Z with plain text output. Pointed out by Daniel Migowski. 2008-08-26 00:03:15 +00:00
Tom Lane
e36716a653 Add standard boilerplate sentence about when stats_temp_directory can be changed. 2008-08-25 19:03:37 +00:00
Magnus Hagander
f1e237b6b2 Unconditionally write the statsfile when SIGHUP is received, to minimize
the window during which backends have no statistics file to read.
2008-08-25 18:55:43 +00:00
Alvaro Herrera
2bb4d09cac Have man page generation work on VPATH builds too. 2008-08-25 15:34:05 +00:00
Magnus Hagander
be8d6c5c34 Make stats_temp_directory PGC_SIGHUP, and document how it may cause a temporary
"outage" of the statistics views.

This requires making the stats collector respond to SIGHUP, like the other
utility processes already did.
2008-08-25 15:11:01 +00:00
Bruce Momjian
42d313f546 Update link to developer's FAQ from main FAQ. 2008-08-23 01:55:36 +00:00
Bruce Momjian
8ddb739e9d Make "log_temp_files" super-user set only, like other logging options.
Simon Riggs
2008-08-22 18:47:07 +00:00
Bruce Momjian
8875a16ee1 Mention that pg_dump does not dump ALTER DATABASE ... SET commands;
backpatch to 8.3.X. Also fix markup that had just one bullet.
2008-08-21 22:25:44 +00:00
Alvaro Herrera
edb6a4c02a Update URL. 2008-08-21 20:15:31 +00:00
Bruce Momjian
3c35de85e7 Remove tools and documention for generating TODO.html. 2008-08-20 18:22:28 +00:00
Bruce Momjian
a8cd6cd109 TODO now in wiki, html version removed. 2008-08-20 18:21:33 +00:00
Bruce Momjian
cbcd3f9a92 New TODO list URL wiki location listed; contents truncated. 2008-08-20 18:20:46 +00:00
Bruce Momjian
7303b20964 Not done:
< 	o -Allow an existing index to be marked as a table's primary key
> 	o Allow an existing index to be marked as a table's primary key
2008-08-19 19:19:53 +00:00
Tom Lane
9650830bc8 Cause the output from debug_print_parse, debug_print_rewritten, and
debug_print_plan to appear at LOG message level, not DEBUG1 as historically.
Make debug_pretty_print default to on.  Also, cause plans generated via
EXPLAIN to be subject to debug_print_plan.  This is all to make
debug_print_plan a reasonably comfortable substitute for the former behavior
of EXPLAIN VERBOSE.
2008-08-19 18:30:04 +00:00
Bruce Momjian
2aaca8e314 TODO done:
!       o Allow an existing index to be marked as a table's primary key
2008-08-19 16:56:42 +00:00
Alvaro Herrera
a3faf37f49 Fix some issues that prevent this file to be processed by scripts.
While at it, mark a couple of items completed in 8.4:
!   o -Prevent long-lived temporary tables from causing frozen-xid
      advancement starvation

! * -Improve performance of shared invalidation queue for multiple CPUs

Also remove a couple of obsolete assignments.
2008-08-19 03:08:56 +00:00
Bruce Momjian
48a9d92159 Add to TODO:
>
> * Fix all set-returning system functions so they support a wildcard
>   target list
>
>   SELECT * FROM pg_get_keywords() works but SELECT * FROM
>   pg_show_all_settings() does not.
2008-08-18 15:02:46 +00:00
Bruce Momjian
909346eff0 Update instructions on generating TODO.html. 2008-08-16 19:39:03 +00:00
Bruce Momjian
58e8f9630a Add URL for:
* Improve ability to modify views via ALTER TABLE
<
>   http://archives.postgresql.org/pgsql-hackers/2008-08/msg00300.php
2008-08-16 02:36:58 +00:00
Bruce Momjian
ef270fb9d2 Add to TODO:
>
> * Prevent query cancel packets from being replayed by an attacker,
>   especially when using SSL
>
>   http://archives.postgresql.org/pgsql-hackers/2008-08/msg00345.php
>
2008-08-16 02:15:33 +00:00
Bruce Momjian
b9984ade83 Update Russian FAQ.
corochoone@gmail.com
2008-08-16 01:14:49 +00:00
Bruce Momjian
10c935527e Add new SQL training web site to FAQ:
<LI><A href=
    "http://sqlzoo.net">http://sqlzoo.net</A>
    </LI>
2008-08-16 00:32:36 +00:00
Magnus Hagander
5b8eb2b4b9 Make the temporary directory for pgstat files configurable by the GUC
variable stats_temp_directory, instead of requiring the admin to
mount/symlink the pg_stat_tmp directory manually.

For now the config variable is PGC_POSTMASTER. Room for further improvment
that would allow it to be changed on-the-fly.
2008-08-15 08:37:41 +00:00
Tom Lane
e006a24ad1 Implement SEMI and ANTI joins in the planner and executor. (Semijoins replace
the old JOIN_IN code, but antijoins are new functionality.)  Teach the planner
to convert appropriate EXISTS and NOT EXISTS subqueries into semi and anti
joins respectively.  Also, LEFT JOINs with suitable upper-level IS NULL
filters are recognized as being anti joins.  Unify the InClauseInfo and
OuterJoinInfo infrastructure into "SpecialJoinInfo".  With that change,
it becomes possible to associate a SpecialJoinInfo with every join attempt,
which permits some cleanup of join selectivity estimation.  That needs to be
taken much further than this patch does, but the next step is to change the
API for oprjoin selectivity functions, which seems like material for a
separate patch.  So for the moment the output size estimates for semi and
especially anti joins are quite bogus.
2008-08-14 18:48:00 +00:00
Heikki Linnakangas
ef1c807c25 pg_buffercache needs to be taught about relation forks, as Greg Stark
pointed out.
2008-08-14 12:56:41 +00:00
Bruce Momjian
4ed300b7ef Add URL for:
* Improve ability to modify views via ALTER TABLE

>   http://archives.postgresql.org/pgsql-hackers/2008-07/msg01410.php
2008-08-14 01:57:42 +00:00
Peter Eisentraut
010eebf164 Remove TODO item
Allow XML to accept more liberal DOCTYPE specifications

Everything works correctly, per today's email to -general.
2008-08-12 09:55:08 +00:00
Bruce Momjian
fc152e95c1 Add:
> * Add 'hostgss' pg_hba.conf option to allow GSS link-level encryption
>
>   http://archives.postgresql.org/pgsql-hackers/2008-07/msg01454.php
2008-08-12 03:48:52 +00:00
Magnus Hagander
70d756970b Move pgstat.tmp into a temporary directory under $PGDATA named pg_stat_tmp.
This allows the use of a ramdrive (either through mount or symlink) for
the temporary file that's written every half second, which should
reduce I/O.

On server shutdown/startup, the file is written to the old location in
the global directory, to preserve data across restarts.

Bump catversion since the $PGDATA directory layout changed.
2008-08-05 12:09:30 +00:00
Bruce Momjian
b1fb3b2a7f Add URL to:
* Consider decreasing the I/O caused by updating tuple hint bits

>   http://archives.postgresql.org/pgsql-patches/2008-07/msg00199.php
2008-07-31 20:47:30 +00:00
Tom Lane
7bd7b2002b Require superuser privilege to create base types (but not composites, enums,
or domains).  This was already effectively required because you had to own
the I/O functions, and the I/O functions pretty much have to be written in
C since we don't let PL functions take or return cstring.  But given the
possible security consequences of a malicious type definition, it seems
prudent to enforce superuser requirement directly.  Per recent discussion.
2008-07-31 16:27:16 +00:00
Tom Lane
c8572986ad Allow I/O conversion casts to be applied to or from any type that is a member
of the STRING type category, thereby opening up the mechanism for user-defined
types.  This is mainly for the benefit of citext, though; there aren't likely
to be a lot of types that are all general-purpose character strings.
Per discussion with David Wheeler.
2008-07-30 21:23:17 +00:00
Tom Lane
7df49cef72 Flip the default typispreferred setting from true to false. This affects
only type categories in which the previous coding made *every* type
preferred; so there is no change in effective behavior, because the function
resolution rules only do something different when faced with a choice
between preferred and non-preferred types in the same category.  It just
seems safer and less surprising to have CREATE TYPE default to non-preferred
status ...
2008-07-30 19:35:13 +00:00
Tom Lane
bac3e83622 Replace the hard-wired type knowledge in TypeCategory() and IsPreferredType()
with system catalog lookups, as was foreseen to be necessary almost since
their creation.  Instead put the information into two new pg_type columns,
typcategory and typispreferred.  Add support for setting these when
creating a user-defined base type.

The category column is just a "char" (i.e. a poor man's enum), allowing
a crude form of user extensibility of the category list: just use an
otherwise-unused character.  This seems sufficient for foreseen uses,
but we could upgrade to having an actual category catalog someday, if
there proves to be a huge demand for custom type categories.

In this patch I have attempted to hew exactly to the behavior of the
previous hardwired logic, except for introducing new type categories for
arrays, composites, and enums.  In particular the default preferred state
for user-defined types remains TRUE.  That seems worth revisiting, but it
should be done as a separate patch from introducing the infrastructure.
Likewise, any adjustment of the standard set of categories should be done
separately.
2008-07-30 17:05:05 +00:00
Tom Lane
ab9907f5e5 Add a new, improved version of citext as a contrib module.
David E. Wheeler
2008-07-29 18:31:20 +00:00
Magnus Hagander
6fe8796341 Cleanup reference to config.pl so it makes sense not only in
SGML source but in the actual web/pdf viewer...
2008-07-29 15:23:44 +00:00
Magnus Hagander
f7cd591698 Document which versions of ActivePerl and ActiveTcl are required
for building on MSVC, and that the free distribution is enough
(no need for the enterprise version).

Per gripe from Martin Zaun.
2008-07-29 15:17:27 +00:00
Peter Eisentraut
509303a597 Abort if Tcl support was configured and no tcl shell was found.
This is required because the value is substituted into the pltcl_*mod
scripts.
2008-07-23 17:07:50 +00:00
Tom Lane
64d84adf03 Update link to Oleg and Teodor's GIN page.
(Extracted from fast-insert patch, since it ought to be back-patched)
2008-07-22 22:05:24 +00:00
Tom Lane
5618ece82b Code review for array_fill patch: fix inadequate check for array size overflow
and bogus documentation (dimension arrays are int[] not anyarray).  Also the
errhint() messages seem to be really errdetail(), since there is nothing
heuristic about them.  Some other trivial cosmetic improvements.
2008-07-21 04:47:00 +00:00
Tom Lane
673a30fbb2 Add a pg_dump option --lock-wait-timeout to allow failing the dump if unable
to acquire shared table locks within a specified amount of time.

David Gould
2008-07-20 18:43:30 +00:00
Bruce Momjian
8d7af89016 Properly document archive/restore command examples on Windows.
ITAGAKI Takahiro
2008-07-18 17:33:17 +00:00
Tom Lane
69a785b8bf Implement SQL-spec RETURNS TABLE syntax for functions.
(Unlike the original submission, this patch treats TABLE output parameters
as being entirely equivalent to OUT parameters -- tgl)

Pavel Stehule
2008-07-18 03:32:53 +00:00
Bruce Momjian
a8fb90cf2d Add URL for:
* Implement SQL:2003 window functions

>   http://archives.postgresql.org/pgsql-hackers/2008-07/msg00232.php
2008-07-18 02:03:28 +00:00
Bruce Momjian
ba38e363ac Add to TODO:
>
> * Reduce locking requirements for creating a trigger
>
>   http://archives.postgresql.org/pgsql-hackers/2008-06/msg00635.php
>
2008-07-17 01:34:33 +00:00
Bruce Momjian
9a3118d454 Add URL for:
* Implement SQL:2003 window functions
>
>   http://archives.postgresql.org/pgsql-hackers/2008-06/msg00380.php
>
2008-07-16 21:03:45 +00:00
Tom Lane
6563e9e2e8 Add a "provariadic" column to pg_proc to eliminate the remarkably expensive
need to deconstruct proargmodes for each pg_proc entry inspected by
FuncnameGetCandidates().  Fixes function lookup performance regression
caused by yesterday's variadic-functions patch.

In passing, make pg_proc.probin be NULL, rather than a dummy value '-',
in cases where it is not actually used for the particular type of function.
This should buy back some of the space cost of the extra column.
2008-07-16 16:55:24 +00:00
Bruce Momjian
9c8f74917d Add to TODO:
>
> 	o Add external tool to auto-tune some postgresql.conf parameters
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-06/msg00000.php
>
2008-07-16 15:30:19 +00:00
Tom Lane
d89737d31c Support "variadic" functions, which can accept a variable number of arguments
so long as all the trailing arguments are of the same (non-array) type.
The function receives them as a single array argument (which is why they
have to all be the same type).

It might be useful to extend this facility to aggregates, but this patch
doesn't do that.

This patch imposes a noticeable slowdown on function lookup --- a follow-on
patch will fix that by adding a redundant column to pg_proc.

Pavel Stehule
2008-07-16 01:30:23 +00:00
Bruce Momjian
2c773296f8 Add array_fill() to create arrays initialized with a value.
Pavel Stehule
2008-07-16 00:48:54 +00:00
Bruce Momjian
2fa42cc9ee Fix alignment of SGML array docs. 2008-07-15 18:24:59 +00:00
Bruce Momjian
bd53eb4b05 Add Swedish_Sweden.1252 Windows locale example to docs. 2008-07-15 17:45:03 +00:00
Bruce Momjian
d3c94b2d84 Add to TODO:
>
> 	o Reduce PITR WAL file size by removing full page writes and
> 	  by removing trailing bytes to improve compression
2008-07-15 15:03:41 +00:00
Bruce Momjian
13e835932b Add TODO:
>
> * Consider decreasing the I/O caused by updating tuple hint bits
>
>   http://archives.postgresql.org/pgsql-hackers/2008-05/msg00847.php
>
2008-07-15 13:55:20 +00:00
Bruce Momjian
db13b7d61f Done:
> 	o -Have psql show current values for a sequence
2008-07-15 03:17:51 +00:00
Bruce Momjian
da0a9f1d5a Clarify that locale names on Windows are more verbose.
Report from Martin Saschek
2008-07-15 01:35:23 +00:00
Bruce Momjian
e39a3dfa86 Add to TODO:
> * Improve ability to modify views via ALTER TABLE
>
>   http://archives.postgresql.org/pgsql-hackers/2008-05/msg00691.php
2008-07-14 22:57:21 +00:00
Bruce Momjian
b1845753d2 Done:
< * Add temporal versions of generate_series()
> * -Add temporal versions of generate_series()
2008-07-14 20:54:18 +00:00
Bruce Momjian
85df9057e1 Add URL for:
* Consider allowing control of upper/lower case folding of unquoted
  identifiers

>   http://archives.postgresql.org/pgsql-hackers/2008-07/msg00415.php
2008-07-14 17:54:54 +00:00
Bruce Momjian
aab30f3abc Done, per Simon:
< 	o Fix server restart problem when the server was shutdown during
> 	o -Fix server restart problem when the server was shutdown during
2008-07-14 17:16:13 +00:00
Tom Lane
6f6d863258 Create a type-specific typanalyze routine for tsvector, which collects stats
on the most common individual lexemes in place of the mostly-useless default
behavior of counting duplicate tsvectors.  Future work: create selectivity
estimation functions that actually do something with these stats.

(Some other things we ought to look at doing: using the Lossy Counting
algorithm in compute_minimal_stats, and using the element-counting idea for
stats on regular arrays.)

Jan Urbanski
2008-07-14 00:51:46 +00:00
Tom Lane
45efb09a01 Fix a couple of stray misuses of "binary compatible". 2008-07-12 16:20:06 +00:00
Tom Lane
27cb66fdfe Multi-column GIN indexes. Teodor Sigaev 2008-07-11 21:06:29 +00:00
Peter Eisentraut
e3afbb3504 Allow binary-coercible types for cast function arguments and return types.
Document return type of cast functions.

Also change documentation to prefer the term "binary coercible" in its
present sense instead of the previous term "binary compatible".
2008-07-11 07:02:43 +00:00
Tom Lane
7a97abe818 Add unchangeable GUC "variables" segment_size, wal_block_size, and
wal_segment_size to make those configuration parameters available to clients,
in the same way that block_size was previously exposed.  Bernd Helmle, with
comments from Abhijit Menon-Sen and some further tweaking by me.
2008-07-10 22:08:17 +00:00
Peter Eisentraut
76c3c59bd1 Added documentation for function xmlagg. 2008-07-07 16:11:35 +00:00
Tom Lane
c63147d6f0 Add a function pg_get_keywords() to let clients find out the set of keywords
known to the SQL parser.  Dave Page
2008-07-03 20:58:47 +00:00
Peter Eisentraut
b11c1876ed Don't print the name of the database in psql \z. 2008-07-03 15:59:55 +00:00
Tom Lane
0a8f6b797a Fix psql's \d and allied commands to work with all server versions back to 7.4.
Guillaume Lelarge, with some additional fixes by me.
2008-07-03 03:37:17 +00:00
Bruce Momjian
1e797d29c3 Documentation patch by Kevin L. McBride explaining GUC lock variables,
which are available if LOCK_DEBUG is defined.
2008-07-01 21:49:04 +00:00
Bruce Momjian
03c4e793e8 Add URL for:
* Add database and transaction-level triggers
2008-07-01 18:26:30 +00:00
Bruce Momjian
16812e339c Add to TODO:
> * Fix TRUNCATE ... RESTART IDENTITY so its affect on sequences is rolled
>   back on transaction abort
2008-07-01 18:09:09 +00:00
Bruce Momjian
5ce521f648 Add psql TODO:
> 	o Add "auto" expanded mode that outputs in expanded format if
> 	  "wrapped" mode can't wrap the output to the screen width
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-05/msg00417.php
>
2008-06-30 19:45:15 +00:00
Bruce Momjian
c96d5df53e Add psql TODO item:
> 	o Add option to wrap column values at whitespace boundaries,
>           rather than chopping them at a fixed width.
> 	  Currently, "wrapped" format chops values into fixed
> 	  widths.  Perhaps the word wrapping could use the same
> 	  algorithm documented in the W3C specification.
> 	  http://archives.postgresql.org/pgsql-hackers/2008-05/msg00404.php
> 	  http://www.w3.org/TR/CSS21/tables.html#auto-table-layout
2008-06-30 19:41:37 +00:00
Heikki Linnakangas
995fb74202 Turn PGBE_ACTIVITY_SIZE into a GUC variable, track_activity_query_size.
As the buffer could now be a lot larger than before, and copying it could
thus be a lot more expensive than before, use strcpy instead of memcpy to
copy the query string, as was already suggested in comments. Also, only copy
the PgBackendStatus struct and string if the slot is in use.

Patch by Thomas Lee, with some changes by me.
2008-06-30 10:58:47 +00:00
Bruce Momjian
f95b5334a7 Mention actual function names in documentation of how to pass binary
values to libpq.
2008-06-27 02:44:31 +00:00
Bruce Momjian
5d747ddd75 Add to TODO:
>
> * Fix system views like pg_stat_all_tables to use set-returning
>   functions, rather than views of per-column functions
2008-06-27 02:38:29 +00:00
Tom Lane
8530c82fc4 Clarify plpgsql documentation by not treating IF THEN ELSE IF ... as a
truly distinct version of IF.  Per suggestion from Marko Kreen.
2008-06-27 01:52:59 +00:00
Bruce Momjian
68057055f6 Use SGML table to show backslash string escapes, rather than have them
appear in a paragraph.

Andy Anderson
2008-06-26 22:24:42 +00:00
Bruce Momjian
476fad2d91 Add MERGE TODO URL:
>   http://archives.postgresql.org/pgsql-hackers/2008-04/msg01890.php
2008-06-26 19:18:37 +00:00
Bruce Momjian
46dd4db31e Add TODO about security:
* Improve server security options

  http://archives.postgresql.org/pgsql-hackers/2008-04/msg01875.php
  http://archives.postgresql.org/pgsql-hackers/2008-05/msg00000.php
2008-06-26 03:58:00 +00:00
Bruce Momjian
9c1d897b94 More FAQ URL updates from Curtis Gallant. 2008-06-26 03:54:28 +00:00
Bruce Momjian
54b9a968ed Update FAQ URLs as suggested by Curtis Gallant. 2008-06-26 03:02:27 +00:00
Bruce Momjian
1fc2fbe51f Add to TODO:
>
> * Improve LDAP authentication configuration options
>
>   http://archives.postgresql.org/pgsql-hackers/2008-04/msg01745.php
2008-06-26 02:53:19 +00:00
Bruce Momjian
124c22d5fd Remove use of postmaster.opts.default by pg_ctl. 2008-06-26 01:12:20 +00:00
Bruce Momjian
3dc59beae2 TODO item done:
< 	o Prevent pg_dump/pg_restore from being affected by
> 	o -Prevent pg_dump/pg_restore from being affected by
2008-06-24 15:53:24 +00:00
Bruce Momjian
815aa2c8e8 Add TODO:
>
> 	o Allow COPY to report errors sooner
>
>          http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php
2008-06-23 22:42:32 +00:00
Bruce Momjian
2047021fdb Add URL for Merge. 2008-06-23 22:23:54 +00:00
Bruce Momjian
d34cf008a9 Backup wording improvement.
Joshua D. Drake
2008-06-23 22:15:17 +00:00
Bruce Momjian
fe0dbfe6f3 Add to TODO:
> * Allow custom variables to appear in pg_settings()
2008-06-23 22:12:20 +00:00
Bruce Momjian
c09174fb95 Add item:
* Implement a module capability for loading /contrib-style extensions

  http://archives.postgresql.org/pgsql-patches/2008-04/msg00164.php
2008-06-23 21:35:35 +00:00
Bruce Momjian
2296e29998 Add libpq comment about how to determine the format used for passing
binary values.

Add comments to libpq C function for parameter passing.
2008-06-23 21:10:49 +00:00
Bruce Momjian
01930cea03 Add TODO:
* Consider whether duplicate keys should be sorted by block/offset

  http://archives.postgresql.org/pgsql-hackers/2008-03/msg00558.php

Create new "Sorting" TODO section.
2008-06-23 20:20:54 +00:00
Bruce Momjian
e3ae27894a Add URL for:
o Allow pg_hba.conf to specify host names along with IP addresses
> 	  http://archives.postgresql.org/pgsql-hackers/2008-06/msg00569.php
2008-06-19 01:15:48 +00:00
Neil Conway
3eb9da524d Fix a few typos in the DTrace docs. Patch from Euler Taveira de Oliveira,
along with an additional typo I noticed along the way.
2008-06-18 17:44:12 +00:00
Tom Lane
9dac1b460f Rewrite docs section about routine vacuuming --- it's gotten rather mangled of
late, with lots of redundancy, bad grammar, and just plain poor exposition.
Make it clear that autovacuum is now considered the normal solution.
2008-06-16 03:13:14 +00:00
Tom Lane
a0b012a1ab Rearrange ALTER TABLE syntax processing as per my recent proposal: the
grammar allows ALTER TABLE/INDEX/SEQUENCE/VIEW interchangeably for all
subforms of those commands, and then we sort out what's really legal
at execution time.  This allows the ALTER SEQUENCE/VIEW reference pages
to fully document all the ALTER forms available for sequences and views
respectively, and eliminates a longstanding cause of confusion for users.

The net effect is that the following forms are allowed that weren't before:
	ALTER SEQUENCE OWNER TO
	ALTER VIEW ALTER COLUMN SET/DROP DEFAULT
	ALTER VIEW OWNER TO
	ALTER VIEW SET SCHEMA
(There's no actual functionality gain here, but formerly you had to say
ALTER TABLE instead.)

Interestingly, the grammar tables actually get smaller, probably because
there are fewer special cases to keep track of.

I did not disallow using ALTER TABLE for these operations.  Perhaps we
should, but there's a backwards-compatibility issue if we do; in fact
it would break existing pg_dump scripts.  I did however tighten up
ALTER SEQUENCE and ALTER VIEW to reject non-sequences and non-views
in the new cases as well as a couple of cases where they didn't before.

The patch doesn't change pg_dump to use the new syntaxes, either.
2008-06-15 01:25:54 +00:00
Alvaro Herrera
bd2ef8707f In log_filename documentation, mention that strftime is not used directly to
expand the pattern specifier.

Per gripe from Josh Drake.
2008-06-14 21:59:59 +00:00
Bruce Momjian
95ce4ee943 Modify TODO entry to be a function:
> 	o Add functions to syntax check configuration files
>
< * Add pg_ctl option to do a syntax check of postgresql.conf
2008-06-13 16:24:38 +00:00
Bruce Momjian
2319ddf3f1 Use macro to document size of ecpg sqlerrmc string. 2008-06-12 19:15:40 +00:00
Bruce Momjian
635131b159 Update item to mention target list problem:
< * Allow INSERT/UPDATE ... RETURNING inside a SELECT 'FROM' clause
> * Allow INSERT/UPDATE ... RETURNING inside a SELECT 'FROM' clause or
>   target list
>   http://archives.postgresql.org/pgsql-hackers/2008-06/msg00124.php
2008-06-12 18:09:04 +00:00
Bruce Momjian
ebff1d4dc6 Add:
> * Add pg_ctl option to do a syntax check of postgresql.conf
2008-06-11 20:54:31 +00:00
Heikki Linnakangas
8b64a2642a Add optional on/off argument to \timing.
David Fetter.
2008-06-11 10:48:17 +00:00
Alvaro Herrera
96063da99d Make XML building work silently on VPATH builds (untested on regular builds). 2008-06-10 00:19:32 +00:00
Bruce Momjian
242d70d5ef Update Japanese FAQ.
Jun Kuwamura
2008-06-09 19:37:16 +00:00
Tom Lane
2071865caa Update release notes for ALTER AGGREGATE fix. 2008-06-08 21:46:07 +00:00
Tom Lane
6d61b404d4 Update release notes for 8.3.3 et al. 2008-06-07 22:10:38 +00:00
Alvaro Herrera
700af334cc Fix missing "not", per Frank Millman (bug #4212). 2008-06-05 19:56:09 +00:00
Tom Lane
393ad11c7e Draft release notes for upcoming back-branch updates. 2008-06-04 03:16:02 +00:00
Tom Lane
6d19e9ffad Marginal improvements to the documentation for PGOPTIONS. 2008-06-01 16:23:08 +00:00
Andrew Dunstan
66e4da4c86 Done: -Remove psql newline patch when we find out why mingw outputs an extra newline 2008-05-31 15:05:46 +00:00
Tom Lane
bf4bd50ff7 Copy refint.so and autoinc.so into the src/test/regress directory during
"make all", and then reference them there during the actual tests.  This
makes the handling of these files more parallel to that of regress.so,
and in particular simplifies use of the regression tests outside the
original build tree.  The PGDG and Red Hat RPMs have been doing this via
patches for a very long time.  Inclusion of the change in core was requested
by Jørgen Austvik of Sun, and I can't see any reason not to.

I attempted to fix the MSVC scripts for this too, but they may need
further tweaking ...
2008-05-30 00:04:32 +00:00
Bruce Momjian
e19d10b595 Add description to:
* Add deferred trigger queue file

<   This item involves dumping large queues into files.
>   This item involves dumping large queues into files, or doing some
>   kind of join to process all the triggers, or some bulk operation.
2008-05-29 02:04:15 +00:00
Bruce Momjian
882576aa89 Add URL for:
* Add deferred trigger queue file

>   http://archives.postgresql.org/pgsql-hackers/2008-05/msg00876.php
2008-05-29 01:58:29 +00:00
Tom Lane
a8f98c068e Improve GRANT documentation to point out that UPDATE and DELETE typically
require SELECT privilege as well, since you normally need to read existing
column values within such commands.  This behavior is according to spec,
but we'd never documented it before.  Per gripe from Volkan Yazici.
2008-05-28 00:45:40 +00:00
Tom Lane
e35ee671a8 Clarify description of typmod input function, per Jeff Davis. 2008-05-27 18:05:13 +00:00
Tom Lane
7b8a63c3e9 Alter the xxx_pattern_ops opclasses to use the regular equality operator of
the associated datatype as their equality member.  This means that these
opclasses can now support plain equality comparisons along with LIKE tests,
thus avoiding the need for an extra index in some applications.  This
optimization was not possible when the pattern opclasses were first introduced,
because we didn't insist that text equality meant bitwise equality; but we
do now, so there is no semantic difference between regular and pattern
equality operators.

I removed the name_pattern_ops opclass altogether, since it's really useless:
name's regular comparisons are just strcmp() and are unlikely to become
something different.  Instead teach indxpath.c that btree name_ops can be
used for LIKE whether or not the locale is C.  This might lead to a useful
speedup in LIKE queries on the system catalogs in non-C locales.

The ~=~ and ~<>~ operators are gone altogether.  (It would have been nice to
keep them for backward compatibility's sake, but since the pg_amop structure
doesn't allow multiple equality operators per opclass, there's no way.)

A not-immediately-obvious incompatibility is that the sort order within
bpchar_pattern_ops indexes changes --- it had been identical to plain
strcmp, but is now trailing-blank-insensitive.  This will impact
in-place upgrades, if those ever happen.

Per discussions a couple months ago.
2008-05-27 00:13:09 +00:00
Bruce Momjian
abb5fd8604 Done:
< 	o Use LC_TIME for localized weekday/month names, rather than
> 	o -Use LC_TIME for localized weekday/month names, rather than
2008-05-20 00:35:45 +00:00
Tom Lane
07a5606735 Make to_char()'s localized month/day names depend on LC_TIME, not LC_MESSAGES.
Euler Taveira de Oliveira
2008-05-19 18:08:16 +00:00
Tom Lane
1bfe97e5a8 Rewrite the warning about non-transaction-safety of TRUNCATE ... RESTART
IDENTITY to be more explicit about the possible hazards.  Per gripe from Neil
and subsequent discussion.  Eventually we may be able to get rid of this
warning, but for now it had better be there.
2008-05-17 23:36:27 +00:00
Tom Lane
caede71b44 Allow ALTER SEQUENCE START WITH to change the recorded start_value of a
sequence.  This seems an obvious extension to the recent patch, and it
makes the code noticeably cleaner and more orthogonal.
2008-05-17 01:20:39 +00:00
Tom Lane
10a3471bed Add a RESTART (without parameter) option to ALTER SEQUENCE, allowing a
sequence to be reset to its original starting value.  This requires adding the
original start value to the set of parameters (columns) of a sequence object,
which is a user-visible change with potential compatibility implications;
it also forces initdb.

Also add hopefully-SQL-compatible RESTART/CONTINUE IDENTITY options to
TRUNCATE TABLE.  RESTART IDENTITY executes ALTER SEQUENCE RESTART for all
sequences "owned by" any of the truncated relations.  CONTINUE IDENTITY is
a no-op option.

Zoltan Boszormenyi
2008-05-16 23:36:05 +00:00
Bruce Momjian
9263d86f59 Update psql startup banner to be shorter, suggest "help" for help.
Add a few "help" entries.

Move \g help entry into "General".

Update psql version mismatch warning text.

Joshua D. Drake
2008-05-16 17:17:00 +00:00
Bruce Momjian
7adddb4002 Done in TODO:
> 	o -Have \l+ show database size, if permissions allow
2008-05-16 17:03:40 +00:00
Bruce Momjian
43ee22826b Add detection of psql pager to trigger on wide output. Also add pager
detection for wrapped lines or lines with newlines that need pager to
display.
2008-05-16 16:59:05 +00:00
Tom Lane
e6dbcb72fa Extend GIN to support partial-match searches, and extend tsquery to support
prefix matching using this facility.

Teodor Sigaev and Oleg Bartunov
2008-05-16 16:31:02 +00:00
Bruce Momjian
4eb0900768 Done:
PL/pgSQL

> 	o -Add CASE capability to language (already in SQL)
2008-05-16 02:23:44 +00:00
Tom Lane
b62f246fb0 Support SQL/PSM-compatible CASE statement in plpgsql.
Pavel Stehule
2008-05-15 22:39:49 +00:00
Tom Lane
93c701edc6 Add support for tracking call counts and elapsed runtime for user-defined
functions.

Note that because this patch changes FmgrInfo, any external C functions
you might be testing with 8.4 will need to be recompiled.

Patch by Martin Pihlak, some editorialization by me (principally, removing
tracking of getrusage() numbers)
2008-05-15 00:17:41 +00:00
Bruce Momjian
36f0b1cab7 Remove odd duplicate wording in psql pager section. 2008-05-14 04:07:01 +00:00
Tom Lane
4107478d37 Improve plpgsql's RAISE command. It is now possible to attach DETAIL and
HINT fields to a user-thrown error message, and to specify the SQLSTATE
error code to use.  The syntax has also been tweaked so that the
Oracle-compatible case "RAISE exception_name" works (though you won't get a
very nice error message if you just write that much).  Lastly, support
the Oracle-compatible syntax "RAISE" with no parameters to re-throw
the current error from within an EXCEPTION block.

In passing, allow the syntax SQLSTATE 'nnnnn' within EXCEPTION lists,
so that there is a way to trap errors with custom SQLSTATE codes.

Pavel Stehule and Tom Lane
2008-05-13 22:10:30 +00:00
Bruce Momjian
9340c6372f Todo done:
> * -Improve dead row detection during multi-statement transactions usage
2008-05-12 20:50:52 +00:00
Alvaro Herrera
000086b49c Document that "ROLLBACK TO savepoint" does not un-close cursors. 2008-05-12 16:23:26 +00:00
Bruce Momjian
2cabe2db79 Add URL for:
o Allow an existing index to be marked as a table's primary key
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-04/msg00500.php
2008-05-10 01:50:51 +00:00
Bruce Momjian
d603b3e48a Add to TODO:
> 	o Allow an existing index to be marked as a table's primary key
2008-05-10 01:50:14 +00:00
Bruce Momjian
f586e70665 Add URL for:
* Add column to pg_stat_activity that shows the progress of long-running
  commands like CREATE INDEX and VACUUM
>
>   http://archives.postgresql.org/pgsql-patches/2008-04/msg00203.php
>
2008-05-10 01:40:09 +00:00
Bruce Momjian
1526a701c4 Add TODO item:
> 	o Clear table counters on TRUNCATE
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-04/msg00169.php
2008-05-10 00:33:33 +00:00
Bruce Momjian
1d18d1dd7b TODOs done:
> 	o -Prevent parent tables from altering or dropping constraints
> 	o -Prevent child tables from altering or dropping constraints
2008-05-10 00:25:08 +00:00
Tom Lane
cd902b331d Change the rules for inherited CHECK constraints to be essentially the same
as those for inherited columns; that is, it's no longer allowed for a child
table to not have a check constraint matching one that exists on a parent.
This satisfies the principle of least surprise (rows selected from the parent
will always appear to meet its check constraints) and eliminates some
longstanding bogosity in pg_dump, which formerly had to guess about whether
check constraints were really inherited or not.

The implementation involves adding conislocal and coninhcount columns to
pg_constraint (paralleling attislocal and attinhcount in pg_attribute)
and refactoring various ALTER TABLE actions to be more like those for
columns.

Alex Hunsaker, Nikhil Sontakke, Tom Lane
2008-05-09 23:32:05 +00:00
Bruce Momjian
c56b444496 Add to TODO:
>
> * Improve the /contrib installation experience
>
>   http://archives.postgresql.org/pgsql-hackers/2008-04/msg00132.php
2008-05-09 03:58:41 +00:00
Bruce Momjian
5adf98ae24 Add psql '\pset format wrapped' mode to wrap output to screen width, or
file/pipe output too if \pset columns' is set.

Bryce Nesbitt
2008-05-08 17:04:26 +00:00
Tom Lane
eb915caf92 Fix contrib/xml2 makefile to not override CFLAGS, and in passing make it
auto-configure properly for libxslt present or not.
2008-05-08 16:49:37 +00:00
Bruce Momjian
9c9732e3c7 Update TODO wording:
< * Improve detection of shared memory segments being used by other
<   FreeBSD jails

> * Improve detection of shared memory segments being used by others
>   by checking the SysV shared memory field 'nattch'
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00673.php
2008-05-08 02:24:26 +00:00
Bruce Momjian
b4362eeaa7 Add to TODO:
>
> 	o Add CREATE SCHEMA ... LIKE that copies a schema
>
2008-05-08 01:49:43 +00:00
Bruce Momjian
5b9c14cdf9 Add to TODO:
> * Add database and transaction-level triggers
>
>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg00451.php
2008-05-08 01:45:16 +00:00
Bruce Momjian
5bf049b56c Remove OID/foreign key mention in psql variable interpolation docs. 2008-05-08 00:27:57 +00:00
Alvaro Herrera
09005f2fec Add Simon Riggs' email address. 2008-05-07 18:48:40 +00:00
Bruce Momjian
00756a5691 Move Client Authentication right after Server Configuration in docs.
Scott Marlowe
2008-05-07 16:36:43 +00:00
Magnus Hagander
0423de4d30 Make the pg_stat_activity view call a SRF (pg_stat_get_activity())
instead of calling a bunch of individual functions.

This function can also be called directly, taking a PID as an argument, to
return only the data for a single PID.
2008-05-07 14:41:56 +00:00
Bruce Momjian
8008988be3 Fix TODO typo. 2008-05-07 04:46:01 +00:00
Bruce Momjian
44ba6f3476 Add URL for
< * Consider increasing the number of default statistics target, and
<   reduce statistics target overhead
2008-05-07 04:45:39 +00:00
Bruce Momjian
bd8131ee8f Update TODO wording:
< 	o Allow dictionary to filter out only stop words
> 	o Allow dictionaries to change the token that is passed on to
> 	  later dictionaries
2008-05-07 04:34:51 +00:00
Bruce Momjian
40941c5129 Add item, make text search section:
o Consider changing error to warning for strings larger than one
          megabyte

          http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php
          http://archives.postgresql.org/pgsql-patches/2008-03/msg00062.php
2008-05-07 04:12:25 +00:00
Bruce Momjian
2d592d2e86 Done:
> * -Add function to report the time of the most recent server reload
2008-05-06 16:14:29 +00:00
Bruce Momjian
93afd6f619 Done:
> 	o -Improve display of enums to show valid enum values
2008-05-06 00:47:53 +00:00
Andrew Dunstan
27a52fa2d9 Document extra information provided by psql's \dT+ (not \dt+ as per recent commit). 2008-05-05 01:38:08 +00:00
Andrew Dunstan
a87f15d506 Display ACLS using multiple lines for psql's \z. Brendan Jurd. 2008-05-05 01:21:03 +00:00
Tom Lane
b6d15590f7 Add timestamp and timestamptz versions of generate_series().
Hitoshi Harada
2008-05-04 23:19:24 +00:00
Tom Lane
600da67fbe Add pg_conf_load_time() function to report when the Postgres configuration
files were last loaded.

George Gensure
2008-05-04 21:13:36 +00:00
Tom Lane
47391591ba Support RETURN QUERY EXECUTE in plpgsql.
Pavel Stehule
2008-05-03 00:11:36 +00:00
Tom Lane
511b798c46 Update documentation for psql relation-size-in-\dt+ patch. 2008-05-02 22:50:21 +00:00
Tom Lane
db147b3483 Allow the planner's estimate of the fraction of a cursor's rows that will be
retrieved to be controlled through a GUC variable.

Robert Hell
2008-05-02 21:26:10 +00:00
Tom Lane
cf9f6c8d8e Extend yesterday's patch making BLCKSZ and RELSEG_SIZE configurable to also
let XLOG_BLCKSZ and XLOG_SEG_SIZE be set via configure.  Per a proposal by
Mark Wong, though I thought it better to call the switches after "wal" rather
than "xlog".
2008-05-02 19:52:37 +00:00
Tom Lane
3c6248a828 Remove the recently added USE_SEGMENTED_FILES option, and indeed remove all
support for a nonsegmented mode from md.c.  Per recent discussions, there
doesn't seem to be much value in a "never segment" option as opposed to
segmenting with a suitably large segment size.  So instead provide a
configure-time switch to set the desired segment size in units of gigabytes.
While at it, expose a configure switch for BLCKSZ as well.

Zdenek Kotala
2008-05-02 01:08:27 +00:00
Tom Lane
1b1e335b15 Make the minimum allowed value of work_mem be 64KB always, rather than having
it vary with BLCKSZ as before.  This agrees with what the documentation says,
and avoids a regression test problem when BLCKSZ is larger than default.
Per recent discussion.
2008-05-01 19:55:40 +00:00
Alvaro Herrera
ca0aecfdef Add example showing how to remove a password from a role.
Andreas Scherbaum
2008-04-30 12:38:49 +00:00
Bruce Momjian
d7379b7624 Update comment for 8.4:
> #A hyphen, "-", marks changes that will appear in the upcoming 8.4 release.#
2008-04-28 23:08:33 +00:00
Alvaro Herrera
1fcb977a13 Add generate_subscripts, a series-generation function which generates an
array's subscripts.

Pavel Stehule, some editorialization by me.
2008-04-28 14:48:58 +00:00
Alvaro Herrera
a1d479f518 Add SGML ID attributes to the arrays subsections, and a few index entries for
them.
2008-04-27 04:33:27 +00:00
Tom Lane
ea0382e370 Code review for recent patch to terminate online backup during shutdown:
do CancelBackup at a sane place, fix some oversights in the state transitions,
allow only superusers to connect while we are waiting for backup mode to end.
2008-04-26 22:47:40 +00:00
Bruce Momjian
b6e2fab978 Add URL for:
* Allow adding/renaming/removing enumerated values to an existing
  enumerated data type
>
>   http://archives.postgresql.org/pgsql-hackers/2008-04/msg01718.php
>
2008-04-25 21:38:46 +00:00
Bruce Momjian
5463d399e3 Update wording from David Fetter. 2008-04-25 14:34:26 +00:00
Bruce Momjian
43a43ad21d Update to remove passive wording from FAQ, David Fetter 2008-04-25 14:28:51 +00:00
Bruce Momjian
91674bce68 Update TODO item:
> * Allow adding/renaming/removing enumerated values to an existing
>   enumerated data type
2008-04-24 20:57:34 +00:00
Bruce Momjian
bb908d9879 Update:
< * Allow adding enumerated values to an existing enumerated data
> * Allow adding/removing enumerated values to an existing enumerated data
2008-04-24 20:29:16 +00:00
Bruce Momjian
830f276b2a Add embedded usage mention to FAQ, per Greg Smith. 2008-04-24 19:58:32 +00:00
Bruce Momjian
cc3c9e1b29 Add to TODO:
> * Allow prepared transactions with temporary tables created and dropped
>   in the same transaction, and when an ON COMMIT DELETE ROWS temporary
>   table is accessed
>
>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg00047.php
2008-04-24 18:23:05 +00:00
Bruce Momjian
a61fbe4582 Add TODO item:
>
> 	o Impove COPY performance
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php
2008-04-24 17:32:44 +00:00
Bruce Momjian
82403f0350 Add URL for:
* Allow index scans to return matching index keys, not just the matching
  heap locations
>
>   http://archives.postgresql.org/pgsql-hackers/2008-04/msg01657.php
>
2008-04-24 17:06:13 +00:00
Bruce Momjian
a88b8943db Add to TODO:
> * Allow index scans to return matching index keys, not just the matching
>   heap locations
2008-04-24 16:42:39 +00:00
Bruce Momjian
0e242fec5f Add to TODO:
<
> * Allow adding enumerated values to an existing enumerated data
>   type
2008-04-24 16:14:25 +00:00
Bruce Momjian
a3552f050f Remove, item done, description unclear:
< * Allow index scans to return matching index keys
<
<   http://archives.postgresql.org/pgsql-hackers/2007-03/msg01079.php
2008-04-24 16:11:31 +00:00
Bruce Momjian
9dd10490ed Update TODO description for GIT:
* Consider smaller indexes that record a range of values per heap page,
  rather than having one index entry for every heap row
2008-04-24 15:54:00 +00:00
Bruce Momjian
19750904c8 Add GIT URL:
>   http://archives.postgresql.org/pgsql-hackers/2008-04/msg01589.php
2008-04-24 02:24:29 +00:00
Bruce Momjian
0b6b8cdc81 Add to TODO:
<
> 	o Add prompt escape to display the client and server versions
2008-04-24 00:39:50 +00:00
Bruce Momjian
fef58c6943 Add URL for MERGE:
>   http://archives.postgresql.org/pgsql-hackers/2008-04/msg01475.php
2008-04-23 22:38:47 +00:00
Magnus Hagander
c979a1fefa Prevent shutdown in normal mode if online backup is running, and
have pg_ctl warn about this.

Cancel running online backups (by renaming the backup_label file,
thus rendering the backup useless) when shutting down in fast mode.

Laurenz Albe
2008-04-23 13:44:59 +00:00
Magnus Hagander
fc2117a4b5 Replace developer FAQ with a reference to the wiki, which is where
it now lives (per discussion). Leave the other FAQs alone for now.
2008-04-22 09:26:32 +00:00
Magnus Hagander
be9ab11366 Fix typo, noted by Stefan Kaltenbrunner. 2008-04-21 11:06:13 +00:00
Magnus Hagander
3bb6d101c4 Add link to major version release notes at the top of the minor
version ones, to make it clear to users just browsing the notes
that there are a lot more changes available from whatever version
they are at than what's in the minor version release notes.
2008-04-21 09:44:47 +00:00
Tom Lane
8472bf7a73 Allow float8, int8, and related datatypes to be passed by value on machines
where Datum is 8 bytes wide.  Since this will break old-style C functions
(those still using version 0 calling convention) that have arguments or
results of these types, provide a configure option to disable it and retain
the old pass-by-reference behavior.  Likewise, provide a configure option
to disable the recently-committed float4 pass-by-value change.

Zoltan Boszormenyi, plus configurability stuff by me.
2008-04-21 00:26:47 +00:00
Bruce Momjian
3ca214ed1a Update TODO using new script. 2008-04-19 12:33:06 +00:00
Bruce Momjian
fa4f87769f Remove TODO.detail directory. All URLs now in TODO file as references. 2008-04-19 12:19:41 +00:00
Bruce Momjian
883b6a8a51 Remove TODO.detail references; instead add TODO URLs pointing to the
archives.  We have been using URLs for a while for new items.
2008-04-19 12:16:21 +00:00
Tom Lane
87a2f050a9 Cause EXPLAIN's VERBOSE option to print the target list (output column list)
of each plan node, instead of its former behavior of dumping the internal
representation of the plan tree.  The latter display is still available for
those who really want it (see debug_print_plan), but uses for it are certainly
few and and far between.  Per discussion.

This patch also removes the explain_pretty_print GUC, which is obsoleted
by the change.
2008-04-18 01:42:17 +00:00
Bruce Momjian
c5c7ba1b10 TODO Done:
> * -Allow administrators to safely terminate individual sessions
2008-04-17 20:57:07 +00:00
Bruce Momjian
c4fd93b3f3 Re-enable pg_terminate_backend() using SIGTERM. SIGTERM testing still
needed.
2008-04-17 20:56:41 +00:00
Bruce Momjian
35390aab16 Update most recent release to 8.3.1. 2008-04-16 20:57:18 +00:00
Bruce Momjian
c0f839fc60 Update TODO wording. 2008-04-16 17:50:01 +00:00
Bruce Momjian
54495e387f Add to TODO:
> * Implement the non-threaded Avahi service discovery protocol
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg00939.php
>   http://archives.postgresql.org/pgsql-patches/2008-02/msg00097.php
>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg01211.php
>   http://archives.postgresql.org/pgsql-patches/2008-04/msg00001.php
2008-04-16 17:25:56 +00:00
Bruce Momjian
17cdf848b8 Re-add terminate TODO item. 2008-04-15 21:39:19 +00:00
Bruce Momjian
76365960d2 Revert addition of pg_terminate_backend() because of race conditions. 2008-04-15 20:28:47 +00:00
Bruce Momjian
1e40da49ae Add TODO item:
< * Allow NOTIFY in rules involving conditionals
>
> 	o Allow NOTIFY in rules involving conditionals
> 	o Improve LISTEN concurrency
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg01106.php
2008-04-15 15:08:59 +00:00
Bruce Momjian
6d2b258ad0 Move LISTEN/NOTIFY items to separate TODO section. 2008-04-15 15:07:09 +00:00
Bruce Momjian
c28c9d69ef Add to TODO:
> * Allow XML to accept more liberal DOCTYPE specifications
>
>   http://archives.postgresql.org/pgsql-general/2008-02/msg00347.php
2008-04-15 14:24:32 +00:00
Bruce Momjian
56913735d0 Done:
> * -Allow administrators to safely terminate individual sessions either
2008-04-15 13:55:42 +00:00
Bruce Momjian
18b286f3e3 Add pg_terminate_backend() to allow terminating only a single session. 2008-04-15 13:55:12 +00:00
Tom Lane
9b5c8d45f6 Push index operator lossiness determination down to GIST/GIN opclass
"consistent" functions, and remove pg_amop.opreqcheck, as per recent
discussion.  The main immediate benefit of this is that we no longer need
8.3's ugly hack of requiring @@@ rather than @@ to test weight-using tsquery
searches on GIN indexes.  In future it should be possible to optimize some
other queries better than is done now, by detecting at runtime whether the
index match is exact or not.

Tom Lane, after an idea of Heikki's, and with some help from Teodor.
2008-04-14 17:05:34 +00:00
Bruce Momjian
9afab58eed Add URL for:
* Consider automatic caching of statements at various levels:

> 	http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php
2008-04-14 13:33:53 +00:00
Tom Lane
24558da14a Phase 2 of project to make index operator lossiness be determined at runtime
instead of plan time.  Extend the amgettuple API so that the index AM returns
a boolean indicating whether the indexquals need to be rechecked, and make
that rechecking happen in nodeIndexscan.c (currently the only place where
it's expected to be needed; other callers of index_getnext are just erroring
out for now).  For the moment, GIN and GIST have stub logic that just always
sets the recheck flag to TRUE --- I'm hoping to get Teodor to handle pushing
that control down to the opclass consistent() functions.  The planner no
longer pays any attention to amopreqcheck, and that catalog column will go
away in due course.
2008-04-13 19:18:14 +00:00
Tom Lane
c22ed3d523 Turn the -i/--ignore-version options of pg_dump and pg_dumpall into no-ops:
the server version check is now always enforced.  Relax the version check to
allow a server that is of pg_dump's own major version but a later minor
version; this is the only case that -i was at all safe to use in.

pg_restore already enforced only a very weak version check, so this is
really just a documentation change for it.

Per discussion.
2008-04-13 03:49:22 +00:00
Bruce Momjian
00b1827ae1 Update wording:
< * Allow functions to control the transaction state
> * Allow calling of a procedure outside a SELECT that can control the
>   transaction state
2008-04-11 19:50:40 +00:00
Bruce Momjian
accbddc9bd Changed TODO wording:
< * Support procedures, which return no value
> * Allow functions to control the transaction state
2008-04-11 19:36:07 +00:00
Bruce Momjian
942550575f Add TODO:
> * Support procedures, which return no value
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg01375.php
2008-04-11 19:16:47 +00:00
Bruce Momjian
a464dc07fe Update URLs for dead space map. 2008-04-11 19:14:57 +00:00
Tom Lane
4e82a95476 Replace "amgetmulti" AM functions with "amgetbitmap", in which the whole
indexscan always occurs in one call, and the results are returned in a
TIDBitmap instead of a limited-size array of TIDs.  This should improve
speed a little by reducing AM entry/exit overhead, and it is necessary
infrastructure if we are ever to support bitmap indexes.

In an only slightly related change, add support for TIDBitmaps to preserve
(somewhat lossily) the knowledge that particular TIDs reported by an index
need to have their quals rechecked when the heap is visited.  This facility
is not really used yet; we'll need to extend the forced-recheck feature to
plain indexscans before it's useful, and that hasn't been coded yet.
The intent is to use it to clean up 8.3's horrid @@@ kluge for text search
with weighted queries.  There might be other uses in future, but that one
alone is sufficient reason.

Heikki Linnakangas, with some adjustments by me.
2008-04-10 22:25:26 +00:00
Bruce Momjian
f260edb144 Add TODO URLs moved from open items queue:
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00265.php
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg01214.php
>   http://archives.postgresql.org/pgsql-patches/2007-05/msg00013.php
>   http://archives.postgresql.org/pgsql-hackers/2007-07/msg00741.php
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00014.php
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00487.php
> * Allow index scans to return matching index keys
>
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg01079.php
>
>   http://archives.postgresql.org/pgsql-patches/2007-10/msg00166.php
>   http://archives.postgresql.org/pgsql-patches/2008-01/msg00049.php
2008-04-10 18:58:15 +00:00
Alvaro Herrera
e863951a59 Remove mention of DBD::PgSPI, which is unmaintained and generally unnecessary. 2008-04-10 15:16:46 +00:00
Alvaro Herrera
66782364a1 Mention pg_backend_pid() in the system information section in addition
to the monitoring section.

Jim Nasby
2008-04-10 13:34:33 +00:00
Bruce Momjian
d44523638a Document that continuous archiving backup can be used for cases where
you can't get a simultaneous snapshot.
2008-04-09 02:52:04 +00:00
Bruce Momjian
2662e03b64 Update text FAQ. 2008-04-09 01:04:08 +00:00
Bruce Momjian
8cb3ad9f52 Revert sentence removal from nickname in FAQ. 2008-04-09 00:55:30 +00:00
Bruce Momjian
20c5542c8b Remove mention of the Berkeley origins of the alias "Postgres" ---
seems unnecessary to mention in the FAQ, per discussion on IRC.
2008-04-09 00:44:07 +00:00
Bruce Momjian
8deafd6fdf Add to TODO:
>
> 	o Add ability to obfuscate function bodies
>
> 	  http://archives.postgresql.org/pgsql-patches/2008-01/msg00125.php
2008-04-07 02:14:14 +00:00
Bruce Momjian
a84171b078 Add documentation clarification for IS [NOT] NULL and row-valued
expressions.
2008-04-07 00:51:27 +00:00
Tom Lane
347dd6a1cf Make plpgsql support FOR over a query specified by a cursor declaration,
for improved compatibility with Oracle.

Pavel Stehule, with some fixes by me.
2008-04-06 23:43:29 +00:00
Bruce Momjian
2a1cf97c22 Have pg_stop_backup() wait for all archive files to be sent, rather than
returing right away.  This guarantees that when pg_stop_backup()
returns, you have a valid backup.

Simon Riggs
2008-04-05 01:34:06 +00:00
Tom Lane
a0fad9762a Re-implement division for numeric values using the traditional "schoolbook"
algorithm.  This is a good deal slower than our old roundoff-error-prone
code for long inputs, so we keep the old code for use in the transcendental
functions, where everything is approximate anyway.  Also create a
user-accessible function div(numeric, numeric) to provide access to the
exact result of trunc(x/y) --- since the regular numeric / operator will
round off its result, simply computing that expression in SQL doesn't
reliably give the desired answer.  This fixes bug #3387 and various related
corner cases, and improves the usefulness of PG for high-precision integer
arithmetic.
2008-04-04 18:45:36 +00:00
Bruce Momjian
f96928fde9 Implement current_query(), that shows the currently executing query.
At the same time remove dblink/dblink_current_query() as it is no longer
necessary
*BACKWARD COMPATIBILITY ISSUE* for dblink

Tomas Doran
2008-04-04 16:57:21 +00:00
Tom Lane
55f6e5f689 Add a variant of the Levenshtein string-distance function that lets the user
specify the cost values to use, instead of always using 1's.
Volkan Yazici

In passing, remove fuzzystrmatch.h, which contained a bunch of stuff that had
no business being in a .h file; fold it into its only user, fuzzystrmatch.c.
2008-04-03 21:13:07 +00:00
Bruce Momjian
bbe48195ab Add Wiki URLs for:
< * Allow encoding on a per-column basis optionally using the ICU library

>   http://wiki.postgresql.org/wiki/Todo:Collate
>   http://wiki.postgresql.org/wiki/Todo:ICU
2008-04-03 18:14:02 +00:00
Bruce Momjian
d3bf8c7097 Add to TODO:
> * Improve how ANALYZE computes in-doubt tuples
>
>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg00771.php
>
2008-04-03 16:37:07 +00:00
Peter Eisentraut
ec0be6073a Remove -C from rsync call, because it omits directories named "core". 2008-04-03 09:52:03 +00:00
Bruce Momjian
b011c5ff6a Add URLs for:
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-patches/2008-01/msg00105.php
>   http://archives.postgresql.org/pgsql-patches/2008-03/msg00327.php
2008-04-03 01:56:04 +00:00
Bruce Momjian
afa2a9ec9c Remove due to survey/discussion:
<
< * Prefix command-line utilities like createuser with 'pg_'
<
<   http://archives.postgresql.org/pgsql-hackers/2007-06/msg00025.php
<
2008-04-02 02:11:47 +00:00
Tom Lane
e2a8804330 Support EXECUTE USING in plpgsql.
Pavel Stehule, with some improvements by myself.
2008-04-01 03:51:09 +00:00
Tom Lane
d5466e38f0 Add SPI-level support for executing SQL commands with one-time-use plans,
that is commands that have out-of-line parameters but the plan is prepared
assuming that the parameter values are constants.  This is needed for the
plpgsql EXECUTE USING patch, but will probably have use elsewhere.

This commit includes the SPI functions and documentation, but no callers
nor regression tests.  The upcoming EXECUTE USING patch will provide
regression-test coverage.  I thought committing this separately made
sense since it's logically a distinct feature.
2008-04-01 03:09:30 +00:00
Tom Lane
3405f2b925 Use error message wordings for permissions checks on .pgpass and SSL private
key files that are similar to the one for the postmaster's data directory
permissions check.  (I chose to standardize on that one since it's the most
heavily used and presumably best-wordsmithed by now.)  Also eliminate explicit
tests on file ownership in these places, since the ensuing read attempt must
fail anyway if it's wrong, and there seems no value in issuing the same error
message for distinct problems.  (But I left in the explicit ownership test in
postmaster.c, since it had its own error message anyway.)  Also be more
specific in the documentation's descriptions of these checks.  Per a gripe
from Kevin Hunter.
2008-03-31 02:43:14 +00:00
Tom Lane
b65a509746 Show database access privileges in psql's \l command. For \l+, also show
database size, when available to the current user.

Andrew Gilligan
2008-03-30 18:10:20 +00:00
Neil Conway
2169e42bef Enable 64-bit integer datetimes by default, per previous discussion.
This requires a working 64-bit integer type. If such a type cannot
be found, "--disable-integer-datetimes" can be used to switch
back to the previous floating point-based datetime implementation.
2008-03-30 04:08:15 +00:00
Bruce Momjian
2b350bc585 Done:
> * -Add ability to trigger on TRUNCATE
2008-03-28 15:18:42 +00:00
Heikki Linnakangas
958db06181 Clarify documentation on PITR and warm standby on the fact that the standby
restore_command should report failure on non-existent .backup and .history
files. Tidy up some related text along the way.

Patch by Markus Bertheau, with some editing by Simon Riggs and myself.
2008-03-28 15:00:28 +00:00
Bruce Momjian
da215f05ec Add to TODO:
>
> 	o Add CASE capability to language (already in SQL)
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg00696.php
>
>
2008-03-28 03:29:49 +00:00
Bruce Momjian
79262016a3 Add:
> * Allow one transaction to see tuples using the snapshot of another
>   transaction
>
>   This would assist multiple backends in working together.
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00400.php
2008-03-28 02:36:04 +00:00
Tom Lane
7692d8d5b7 Support statement-level ON TRUNCATE triggers. Simon Riggs 2008-03-28 00:21:56 +00:00
Bruce Momjian
107b3d0c23 Add to TODO:
>
> * Consider being smarter about memory and external files used during
>   sorts
>
>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg01101.php
>   http://archives.postgresql.org/pgsql-hackers/2007-12/msg00045.php
2008-03-27 20:37:43 +00:00
Bruce Momjian
de44ecf860 Add URL for:
* Consider allowing control of upper/lower case folding of unquoted
  identifiers

>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg00849.php
2008-03-27 20:31:04 +00:00
Bruce Momjian
39627b1ae6 Remove ipcclean utility command --- didn't work on all Unixes and on
Windows.  Users should use their operating system tools instead.
2008-03-27 17:24:16 +00:00
Tom Lane
2d013c41a3 Fix bad spelling and worse grammar in recent doc commits. Propagate
pg_dump --ignore-version comments into pg_dumpall and pg_restore pages.
2008-03-26 16:34:47 +00:00
Bruce Momjian
9469d083e5 Improve documentation for odd array slice behavior. 2008-03-26 14:43:20 +00:00
Bruce Momjian
c22de3989b Strengthen warnings about using pg_dump's -i option. 2008-03-26 14:32:22 +00:00
Bruce Momjian
530659fac8 Update TODO:
< 	o Consider invalidating the cache or keeping seperate cached
< 	  copies when search_path changes
> 	o Consider keeping seperate cached copies when search_path changes
2008-03-26 02:39:46 +00:00
Bruce Momjian
924fbc6eb8 Added to TODO:
>
> * Consider transaction start/end performance improvements
>
>   http://archives.postgresql.org/pgsql-hackers/2007-07/msg00948.php
>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php
2008-03-26 01:49:51 +00:00
Neil Conway
c111a7211f Update documentation for recent DTrace changes. Patch from Robert Lor. 2008-03-25 22:50:27 +00:00
Tom Lane
220db7ccd8 Simplify and standardize conversions between TEXT datums and ordinary C
strings.  This patch introduces four support functions cstring_to_text,
cstring_to_text_with_len, text_to_cstring, and text_to_cstring_buffer, and
two macros CStringGetTextDatum and TextDatumGetCString.  A number of
existing macros that provided variants on these themes were removed.

Most of the places that need to make such conversions now require just one
function or macro call, in place of the multiple notational layers that used
to be needed.  There are no longer any direct calls of textout or textin,
and we got most of the places that were using handmade conversions via
memcpy (there may be a few still lurking, though).

This commit doesn't make any serious effort to eliminate transient memory
leaks caused by detoasting toasted text objects before they reach
text_to_cstring.  We changed PG_GETARG_TEXT_P to PG_GETARG_TEXT_PP in a few
places where it was easy, but much more could be done.

Brendan Jurd and Tom Lane
2008-03-25 22:42:46 +00:00
Bruce Momjian
f948197b40 Done:
> * -Avoid tuple some tuple copying in sort routines
2008-03-25 20:18:18 +00:00
Bruce Momjian
76cf067ae4 Update TODO wording:
* Simplify integer cross-data-type operators
2008-03-25 13:09:39 +00:00
Alvaro Herrera
ab20a8465a Reword Win32 rint() item, per Tom. 2008-03-25 12:55:38 +00:00
Alvaro Herrera
7726f6f337 Add URLs to previous discussions, per Simon. 2008-03-25 12:50:47 +00:00
Bruce Momjian
82694e2920 Add to TODO:
>
> * Add SQL-standard array_agg() and unnest() array functions
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg01017.php
>
2008-03-25 02:58:09 +00:00
Bruce Momjian
d30ccbe2ae Add to pl/pgsql TODO:
>
> 	o Consider invalidating the cache or keeping seperate cached
> 	  copies when search_path changes
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg01009.php
2008-03-25 02:47:49 +00:00
Bruce Momjian
52346dadeb Add to TODO:
>
> * Add more cross-data-type operators
>
>   http://archives.postgresql.org/pgsql-bugs/2008-01/msg00189.php
2008-03-25 02:41:21 +00:00
Bruce Momjian
c0e6ee3716 Add to TODO:
> * Detect deadlocks involving LockBufferForCleanup()
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php
2008-03-25 02:38:34 +00:00
Bruce Momjian
697b0829b3 Add to psql TODO:
>
> 	o Improve display if enums
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg00826.php
>
>
2008-03-25 02:33:37 +00:00
Bruce Momjian
62c39d6dad Add to TODO:
>
> 	o Fix port/rint.c to be spec-compliant
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg00808.php
2008-03-25 02:23:43 +00:00
Bruce Momjian
2f31c72225 Add to TODO:
>
> * Consider sorting entries before inserting into btree index
>
>   http://archives.postgresql.org/pgsql-general/2008-01/msg01010.php
2008-03-25 02:17:17 +00:00
Bruce Momjian
43253b2152 Add to TODO:
>
> * Improve detection of shared memory segments being used by other
>   FreeBSD jails
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00656.php
2008-03-25 02:11:22 +00:00
Bruce Momjian
e8b350cee3 Add to TODO:
>
> * Move pgfoundry's xlogdump to /contrib and have it rely more closely
>   on the WAL backend code
>
>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg00035.php
>
2008-03-25 00:42:23 +00:00
Bruce Momjian
3c8cbbd313 Add to TODO:
>
> * Have resource managers report the duration of their status changes
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg01468.php
2008-03-25 00:28:54 +00:00
Bruce Momjian
751f3d2f19 Add to TODO:
>
> * Be more aggressive about creating WAL files
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg01325.php
2008-03-25 00:14:53 +00:00
Bruce Momjian
a24d3fdddd Add:
> 	o Prevent concurrent CREATE TABLE table1 from sometimes returning
> 	  a cryptic error message
>
> 	  http://archives.postgresql.org/pgsql-bugs/2007-10/msg00169.php
2008-03-25 00:11:48 +00:00
Bruce Momjian
aa8f1a565c Add to TODO:
>
> * Have /contrib/dblink reuse unnamed connections
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg00895.php
2008-03-25 00:07:12 +00:00
Bruce Momjian
9cee80911b Add to TODO:
> * Remove old-style routines for manipulating tuples
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg00851.php
2008-03-25 00:05:10 +00:00
Bruce Momjian
ab61bc6f57 Add to TODO:
>
> * Create three versions of libpgport to simplify client code
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg00154.php
>
2008-03-25 00:02:03 +00:00
Bruce Momjian
a689b20b67 Add to TODO:
>
> * Fix regular expression bug when using complex back-references
>
>   http://archives.postgresql.org/pgsql-bugs/2007-10/msg00000.php
2008-03-25 00:00:30 +00:00
Bruce Momjian
cc0d744281 Add to TODO:
>
> * Allow xml arrays to be cast to other data types
>
>   http://archives.postgresql.org/pgsql-hackers/2007-09/msg00981.php
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg00231.php
>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg00471.php
>
2008-03-24 23:46:21 +00:00
Bruce Momjian
3da2a4b899 Add to TODO:
>
> * Research reducing deTOASTing in more places
>
>   http://archives.postgresql.org/pgsql-hackers/2007-09/msg00895.php
2008-03-24 18:24:30 +00:00
Tom Lane
05fc744b96 Add a new ereport auxiliary function errdetail_log(), which works the same as
errdetail except the string goes only to the server log, replacing the normal
errdetail there.  This provides a reasonably clean way of dealing with error
details that are too security-sensitive or too bulky to send to the client.

This commit just adds the infrastructure --- actual uses to follow.
2008-03-24 18:08:47 +00:00
Bruce Momjian
7feabcbf7f Add URL for:
* SMP scalability improvements

>   http://archives.postgresql.org/pgsql-hackers/2007-09/msg00206.php
2008-03-24 17:48:07 +00:00
Bruce Momjian
4c9ea732ac Add URL to:
* SMP scalability improvements

>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php
2008-03-24 17:41:16 +00:00
Bruce Momjian
504e896260 Add to TODO:
>
> * SMP scalability improvements
>
>   http://archives.postgresql.org/pgsql-hackers/2007-07/msg00439.php
2008-03-24 17:29:35 +00:00
Bruce Momjian
3eabcdb820 Add URL:
* Allow statistics last vacuum/analyze execution times to be displayed
  without requiring stats_row_level to be enabled

>
>   http://archives.postgresql.org/pgsql-docs/2007-04/msg00028.php
>
2008-03-24 16:11:27 +00:00
Bruce Momjian
67f686c550 Add to TODO:
> * Improve reporting of UNION type mismatches
>
>   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00944.php
>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg00597.php
2008-03-24 16:05:45 +00:00
Bruce Momjian
d9bc39a704 Update wording:
< 	o Allow pre/data/post files when dumping a single object, for
< 	  performance reasons
> 	o Allow pre/data/post files when schema and data are dumped
> 	  separately, for performance reasons
2008-03-24 14:17:06 +00:00
Bruce Momjian
ecb16f6e4b Update text:
< 	o Support pgxs
> 	o Support pgxs when using MSVC
2008-03-23 12:36:59 +00:00
Bruce Momjian
6deb1795df Add:
>   http://archives.postgresql.org/pgsql-patches/2008-02/msg00176.php
2008-03-23 01:30:46 +00:00
Bruce Momjian
8a568bd880 Re-add:
>
> * Avoid tuple some tuple copying in sort routines
>
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01206.php
2008-03-23 01:26:53 +00:00
Bruce Momjian
9471c33d12 Add:
>
> * Sort large UPDATE/DELETEs so it is done in heap order
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg01119.php
2008-03-23 01:23:10 +00:00
Bruce Momjian
5b6c6e8bf1 Add URL for:
* Do async I/O for faster random read-ahead of data

  Async I/O allows multiple I/O requests to be sent to the disk with
  results coming back asynchronously.

>   http://archives.postgresql.org/pgsql-patches/2008-01/msg00170.php
2008-03-23 01:13:38 +00:00
Bruce Momjian
b63a0c9c4a Done:
<
< * Avoid tuple some tuple copying in sort routines
<
<   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01206.php
2008-03-23 00:56:54 +00:00
Bruce Momjian
deb519611b Add to pg_dump TODO:
> 	o Allow pre/data/post files when dumping a single object, for
> 	  performance reasons
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00205.php
>
2008-03-23 00:32:33 +00:00
Tom Lane
7de81124d5 Create a function quote_nullable(), which works the same as quote_literal()
except that it returns the string 'NULL', rather than a SQL null, when called
with a null argument.  This is often a much more useful behavior for
constructing dynamic queries.  Add more discussion to the documentation
about how to use these functions.

Brendan Jurd
2008-03-23 00:24:20 +00:00
Bruce Momjian
40a3dfb7e3 Add to Win3 TODO:
>
> 	o Fix MSVC NLS support, like for to_char()
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00485.php
> 	  http://archives.postgresql.org/pgsql-patches/2008-02/msg00038.php
2008-03-23 00:14:41 +00:00
Bruce Momjian
58cd4b91ad Add to TODO:
>
> * Improve WAL concurrency by increasing lock granularity
>
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg00556.php
>
2008-03-23 00:08:47 +00:00
Bruce Momjian
80ee184923 Add to Win32 TODO
>
> 	o Support pgxs
2008-03-22 23:49:22 +00:00
Bruce Momjian
6e6c6d4412 Add to TODO:
>
> * Avoid tuple some tuple copying in sort routines
>
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01206.php
2008-03-22 23:47:03 +00:00
Bruce Momjian
3301046345 Add URL for TODO:
o Add checks to prevent a CREATE RULE views on inherited tables

> 	  http://archives.postgresql.org/pgsql-general/2008-03/msg00077.php
2008-03-22 22:52:26 +00:00
Bruce Momjian
6828c3928d Add to TODO:
>
> 	o Add checks to prevent a CREATE RULE views on inherited tables
>
> 	  http://archives.postgresql.org/pgsql-general/2008-02/msg01420.php
2008-03-22 22:06:12 +00:00
Tatsuo Ishii
325c0a39e4 Add server side lo_import(filename, oid) function. 2008-03-22 01:55:14 +00:00
Bruce Momjian
bc49703d91 Add URL for:
* Simplify ability to create partitioned tables

>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00387.php
2008-03-22 01:47:38 +00:00
Bruce Momjian
a5f70eb014 Add URL for:
* Simplify ability to create partitioned tables

>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00248.php
2008-03-22 01:46:30 +00:00
Bruce Momjian
4edb822360 Add TODO:
>
> * Improve performance of shared invalidation queue for multiple CPUs
>
>   http://archives.postgresql.org/pgsql-performance/2008-01/msg00023.php
2008-03-22 01:44:42 +00:00
Bruce Momjian
3892dc75eb Add URLs for:
* Simplify ability to create partitioned tables

  This would allow creation of partitioned tables without requiring
  creation of triggers or rules for INSERT/UPDATE/DELETE, and constraints
  for rapid partition selection.  Options could include range and hash
  partition selection.

>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00028.php
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00413.php
2008-03-22 01:30:21 +00:00
Bruce Momjian
df812e91ad Add:
>
> * Convert single quotes to apostrophes in the PDF documentation
>
>   http://archives.postgresql.org/pgsql-docs/2007-12/msg00059.php
>
2008-03-21 20:00:53 +00:00
Bruce Momjian
0d5125a56f Add:
>
> * Fix inconsistent precedence of =, >, and < compared to <>, >=, and <=
>
>   http://archives.postgresql.org/pgsql-bugs/2007-12/msg00145.php
2008-03-21 19:58:11 +00:00
Bruce Momjian
8a04a1d0bc Add:
>
> 	o Prevent SSL from sending network packets to avoid interference
> 	  with Win32 signal emulation
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-12/msg00455.php
2008-03-21 19:34:33 +00:00
Bruce Momjian
480d4f7ea5 Document that soft-mounting NFS is not recommended. 2008-03-21 14:23:37 +00:00
Tom Lane
d287818eb5 Adjust pgstatindex() to give correct answers for indexes larger than
2^31 blocks.  Also fix pg_relpages() for the same case.
Tatsuhito Kasahara
2008-03-21 03:23:30 +00:00
Tom Lane
6b0706ac33 Arrange for an explicit cast applied to an ARRAY[] constructor to be applied
directly to all the member expressions, instead of the previous implementation
where the ARRAY[] constructor would infer a common element type and then we'd
coerce the finished array after the fact.  This has a number of benefits,
one being that we can allow an empty ARRAY[] construct so long as its
element type is specified by such a cast.

Brendan Jurd, minor fixes by me.
2008-03-20 21:42:48 +00:00
Tom Lane
68528d37bb Support a --no-tablespaces option in pg_dump/pg_dumpall/pg_restore, so that
dumps can be loaded into databases without the same tablespaces that the
source had.  The option acts by suppressing all "SET default_tablespace"
commands, and also CREATE TABLESPACE commands in pg_dumpall's case.

Gavin Roy, with documentation and minor fixes by me.
2008-03-20 17:36:58 +00:00
Tom Lane
5507b22dfc Support ALTER TYPE RENAME. Petr Jelinek 2008-03-19 18:38:30 +00:00
Tatsuo Ishii
49639a7b2c Add -M (query mode) option per ITAGAKI Takahiro 2008-03-19 03:33:21 +00:00
Tatsuo Ishii
8436f9a036 Add libpq new API lo_import_with_oid() which is similar to lo_import()
except that lob's oid can be specified.
2008-03-19 00:39:33 +00:00
Bruce Momjian
2f2b58d642 Spit items:
* Experiment with multi-threaded backend better I/O utilization

  This would allow a single query to make use of multiple I/O channels
  simultaneously.  One idea is to create a background reader that can
  pre-fetch sequential and index scan pages needed by other backends.
  This could be expanded to allow concurrent reads from multiple devices
  in a partitioned table.

* Experiment with multi-threaded backend better CPU utilization

  This would allow several CPUs to be used for a single query, such as
  for sorting or query execution.
2008-03-18 23:35:21 +00:00
Bruce Momjian
8426b5640e Update TODO description:
* Speed WAL recovery by allowing more than one page to be prefetched

  This should be done utilizing the same infrastructure used for
  prefetching in general to avoid introducing complex error-prone code
  in WAL replay.
2008-03-18 23:32:57 +00:00
Bruce Momjian
433c5238bf Add to TODO:
>
> * Consider not storing a NULL bitmap on disk if all the NULLs are
>   trailing
>
>   http://archives.postgresql.org/pgsql-hackers/2007-12/msg00624.php
>   http://archives.postgresql.org/pgsql-patches/2007-12/msg00109.php
>
2008-03-18 18:40:42 +00:00
Peter Eisentraut
8c87cc370f Catch all errors in for and while loops in makefiles. Don't ignore any
errors in any commands, including in various clean targets that have so far
been handled inconsistently.  make -i is available to ignore all errors in
a consistent and official way.
2008-03-18 16:24:50 +00:00
Magnus Hagander
184c42d20d cvsweb lives on anoncvs.postgresql.org these days. 2008-03-18 16:05:07 +00:00
Magnus Hagander
c4a195c200 Wiki page about cvs now lives in the main wiki, the one
on developer.postgresql.org is going away.
2008-03-18 16:02:27 +00:00
Bruce Momjian
db81819c4f Add TODO URLs for:
o Allow UPDATE tab SET ROW (col, ...) = (SELECT...)

> 	  http://archives.postgresql.org/pgsql-patches/2007-04/msg00315.php
> 	  http://archives.postgresql.org/pgsql-patches/2008-03/msg00237.php
2008-03-18 15:30:59 +00:00
Bruce Momjian
7e2be4e513 Add URLs for :
* Speed WAL recovery by allowing more than one page to be prefetched

  This involves having a separate process that can be told which pages
  the recovery process will need in the near future.

>   http://archives.postgresql.org/pgsql-general/2007-12/msg00683.php
>   http://archives.postgresql.org/pgsql-hackers/2007-12/msg00497.php
<
2008-03-18 03:59:45 +00:00
Bruce Momjian
a2f1827dfd Add TODO:
> 	o Recreate pg_xlog/archive_status/ if it doesn't exist after
> 	  restoring from a PITR backup
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-12/msg00487.php
2008-03-18 02:37:05 +00:00
Bruce Momjian
9706f54d5d Add to TODO:
>
> * Consider Cartesian joins when both relations are needed to form an
>   indexscan qualification for a third relation
>
>   http://archives.postgresql.org/pgsql-performance/2007-12/msg00090.php
2008-03-18 00:43:01 +00:00
Bruce Momjian
ec62bdff06 Add URL for:
o Allow COPY to report error lines and continue

          This requires the use of a savepoint before each COPY line is
          processed, with ROLLBACK on COPY failure.
> 	  http://archives.postgresql.org/pgsql-hackers/2007-12/msg00572.php
2008-03-18 00:23:41 +00:00
Bruce Momjian
3777cde067 Add to TODO:
>
> * Allow SSL key file permission checks to be optionally disabled when
>   sharing SSL keys with other applications
>
>   http://archives.postgresql.org/pgsql-bugs/2007-12/msg00069.php
2008-03-17 23:56:30 +00:00
Bruce Momjian
b1f0cdaf84 Add:
>
> * Reduce BIT data type overhead using short varlena headers
>
>   http://archives.postgresql.org/pgsql-general/2007-12/msg00273.php
2008-03-17 23:49:33 +00:00
Bruce Momjian
9970141794 Add to TODO:
> * Reduce file system activity overhead of statistics file pgstat.stat
>
>   http://archives.postgresql.org/pgsql-general/2007-12/msg00106.php
>
2008-03-17 23:32:21 +00:00
Bruce Momjian
e56dfc778d Add to TODO:
> * Consider if CommandCounterIncrement() can avoid its
>   AcceptInvalidationMessages() call
>
>   http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php
2008-03-17 22:59:01 +00:00
Bruce Momjian
c10b0a7a73 Add URL for:
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg01334.php
2008-03-17 22:54:23 +00:00
Bruce Momjian
187e884a6a Add:
>
> 	o Remove pre-7.3 pg_dump code that assumes pg_depend does not exit
2008-03-17 22:53:02 +00:00
Bruce Momjian
cd66b94637 Add URL for:
* Improve text search error messages

>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php
2008-03-17 22:45:20 +00:00
Bruce Momjian
0b5eaef2e3 Added to TODO:
> * Improve text search error messages
>
>   http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php
>
>
> * Fix /contrib/ltree operator
>
>   http://archives.postgresql.org/pgsql-bugs/2007-11/msg00044.php
2008-03-17 22:34:23 +00:00
Bruce Momjian
5db762ef00 Add TODO:
>
> 	o Fix server restart problem when the server was shutdown during
> 	  a PITR backup
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-11/msg00800.php
>
2008-03-17 21:49:11 +00:00
Bruce Momjian
3a1e7b24a7 Adjust TODO spacing. 2008-03-17 21:45:14 +00:00
Bruce Momjian
3ff83c333e Add TODO URL for:
* Consider increasing the number of default statistics target, and
  reduce statistics target overhead

>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg01066.php
2008-03-17 21:09:30 +00:00
Bruce Momjian
f09f055d32 Add:
>
> 	o Allow Kerberos to disable stripping of realms so we can
> 	  check the username@realm against multiple realms
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-11/msg00009.php
2008-03-17 18:22:44 +00:00
Bruce Momjian
a7c58abeb1 Done:
> 	o -During index creation, pre-sort the tuples to improve build speed
2008-03-17 01:46:42 +00:00
Tom Lane
ff213239c5 Add a note to the CREATE INDEX reference page about the impact of
maintenance_work_mem and effective_cache_size on index creation speed.
2008-03-16 23:57:51 +00:00
Alvaro Herrera
4844529ce4 Fix duplicate word, per Guillaume Lelarge. 2008-03-14 17:28:23 +00:00
Tom Lane
be5d6df346 Update release notes for 8.3.1 and 8.2.7 releases. 2008-03-13 23:47:49 +00:00
Bruce Momjian
f4bce7e086 Add URL for:
* Do async I/O for faster random read-ahead of data

  Async I/O allows multiple I/O requests to be sent to the disk with
  results coming back asynchronously.

>   http://archives.postgresql.org/pgsql-performance/2007-09/msg00255.php
2008-03-13 01:56:46 +00:00
Bruce Momjian
0d540b097c Add psql TODO:
< * Include the symbolic SQLSTATE name in verbose error reports
<
<   http://archives.postgresql.org/pgsql-general/2007-09/msg00438.php
2008-03-12 20:50:22 +00:00
Bruce Momjian
4fed6e3ffd Add to TODO:
> * Expire published xmin for read-only and idle transactions
>
>   http://archives.postgresql.org/pgsql-hackers/2007-09/msg00343.php
2008-03-12 20:19:46 +00:00
Tom Lane
033eb1581b Fix LISTEN/NOTIFY race condition reported by Laurent Birtz, by postponing
pg_listener modifications commanded by LISTEN and UNLISTEN until the end
of the current transaction.  This allows us to hold the ExclusiveLock on
pg_listener until after commit, with no greater risk of deadlock than there
was before.  Aside from fixing the race condition, this gets rid of a
truly ugly kludge that was there before, namely having to ignore
HeapTupleBeingUpdated failures during NOTIFY.  There is a small potential
incompatibility, which is that if a transaction issues LISTEN or UNLISTEN
and then looks into pg_listener before committing, it won't see any resulting
row insertion or deletion, where before it would have.  It seems unlikely
that anyone would be depending on that, though.

This patch also disallows LISTEN and UNLISTEN inside a prepared transaction.
That case had some pretty undesirable properties already, such as possibly
allowing pg_listener entries to be made for PIDs no longer present, so
disallowing it seems like a better idea than trying to maintain the behavior.
2008-03-12 20:11:46 +00:00
Bruce Momjian
1c228fa5ab Add:
>
> * Consider a special data type for regular expressions
>
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg01067.php
2008-03-12 19:41:23 +00:00
Bruce Momjian
582f32fd45 Back out text search change to TODO. 2008-03-12 19:40:01 +00:00
Bruce Momjian
4f72bc7fce Update TODO:
* Add array_accum() and array_to_set() functions for arrays

  The standards specify array_agg() and UNNEST.
  http://archives.postgresql.org/pgsql-hackers/2007-08/msg00464.php
2008-03-12 19:32:07 +00:00
Bruce Momjian
3a27ad1b81 Add URL for:
* Consider a simplified API for full text searches

>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg01067.php
2008-03-12 19:30:59 +00:00
Bruce Momjian
0a81e99384 Add for Win32 TODO:
>
> 	o Convert MSVC build system to remove most batch files
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-08/msg00961.php
2008-03-12 19:28:03 +00:00
Bruce Momjian
8522e59e13 Add URL for:
* Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY

>   http://archives.postgresql.org/pgsql-performance/2007-08/msg00289.php
2008-03-12 19:15:25 +00:00
Bruce Momjian
a690d09aab Add for Win32 TODO:
> 	o Diagnose problem where shared memory can sometimes not be
> 	  attached by postmaster children
>
> 	  http://archives.postgresql.org/pgsql-general/2007-08/msg01377.php
>
2008-03-12 18:33:54 +00:00
Bruce Momjian
ef34846cd1 Add to TODO:
>
> * Remove use of MAKE_PTR and MAKE_OFFSET macros
>
>   http://archives.postgresql.org/pgsql-general/2007-08/msg01510.php
2008-03-12 18:32:29 +00:00
Bruce Momjian
c7302beb58 Add to TODO:
>
> * Add array_accum() and array_to_set() functions for arrays
>
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00464.php
2008-03-12 15:14:50 +00:00
Bruce Momjian
3030f18a1b Add URL for:
* Improve speed with indexes

  For large table adjustments during VACUUM FULL, it is faster to cluster
  or reindex rather than update the index.  Also, index updates can bloat
  the index.


>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00307.php
2008-03-12 01:48:08 +00:00
Bruce Momjian
ab2ff36465 Add:
>
> * Allow domains to be cast
>
>   http://archives.postgresql.org/pgsql-hackers/2003-06/msg01206.php
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00289.php
2008-03-12 01:40:09 +00:00
Bruce Momjian
232c4b4038 Add:
>
> * Consider simplifying how memory context resets handle child contexts
>
>   http://archives.postgresql.org/pgsql-patches/2007-08/msg00067.php
2008-03-12 01:35:00 +00:00
Bruce Momjian
381e4cde45 Add URL for:
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00082.php
2008-03-12 01:21:25 +00:00
Bruce Momjian
b21e8b2e1e Add URL for:
* Consider increasing NUM_CLOG_BUFFERS

>   http://archives.postgresql.org/pgsql-performance/2007-08/msg00024.php
2008-03-12 01:08:32 +00:00
Bruce Momjian
e6729a3bee Add URL for:
* Consider increasing NUM_CLOG_BUFFERS
>
>   http://archives.postgresql.org/pgsql-hackers/2007-08/msg00030.php
>
2008-03-12 01:03:04 +00:00
Bruce Momjian
288579ca71 Update TODO:
o Allow COPY in CSV mode to control whether a quoted zero-length
          string is treated as NULL

          Currently this is always treated as a zero-length string,
          which generates an error when loading into an integer column
2008-03-11 23:17:05 +00:00
Bruce Momjian
fc8d249457 add to TODO COPY:
>
> 	o Allow COPY in CSV mode to control whether "" is treated as NULL
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-07/msg00905.php
2008-03-11 22:47:28 +00:00
Bruce Momjian
5db5d70a6d Add to pl/pgsql:
>
> 	o Improve logic of determining if an identifier is a a
> 	  variable or column name
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-07/msg00436.php
2008-03-11 22:31:02 +00:00
Bruce Momjian
8dc75d062f Add:
>
> * Add automated check for invalid C++ source code constructs
>
>   http://archives.postgresql.org/pgsql-patches/2007-07/msg00056.php
2008-03-11 21:25:02 +00:00
Bruce Momjian
1ac2627ab0 Add:
> * Research use of signals and sleep wake ups
>
>   http://archives.postgresql.org/pgsql-hackers/2007-07/msg00003.php
2008-03-11 21:13:13 +00:00
Bruce Momjian
56c7614bb2 Add:
* Test to see if calling PreallocXlogFiles() from the background writer
  will help with WAL segment creation latency

  http://archives.postgresql.org/pgsql-patches/2007-06/msg00340.php
2008-03-11 21:06:10 +00:00
Bruce Momjian
955ddc3e7d < * Consider adding buffers the BGW finds reusable to the free list
> * Consider adding buffers the background writer finds reusable to the
>   free list
>
> * Consider wither increasing BM_MAX_USAGE_COUNT improves performance
>
>   http://archives.postgresql.org/pgsql-hackers/2007-06/msg01007.php
2008-03-11 20:46:20 +00:00
Bruce Momjian
639c6cb712 Add URL for:
* Reduce storage space for small NUMERICs

>   http://archives.postgresql.org/pgsql-hackers/2007-06/msg00715.php
2008-03-11 20:28:13 +00:00
Bruce Momjian
ba8a9a9282 Add:
> 	o Consider normalizing fractions in postgresql.conf, perhaps
> 	  using '%'
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-06/msg00550.php
2008-03-11 20:16:40 +00:00
Bruce Momjian
beaef327eb Add:
> * Consider sorting writes during checkpoint
>
>   http://archives.postgresql.org/pgsql-hackers/2007-06/msg00541.php
2008-03-11 20:04:56 +00:00
Bruce Momjian
a0e4f5f30a Add:
>
> * Prefix command-line utilities like createuser with 'pg_'
>
>   http://archives.postgresql.org/pgsql-hackers/2007-06/msg00025.php
2008-03-11 19:48:17 +00:00
Bruce Momjian
efdb082878 Add:
>
> * Change memory allocation for multi-byte functions so memory is
>   allocated inside conversion functions
>
>   Currently we preallocate memory based on worst-case usage.
2008-03-11 19:44:39 +00:00
Bruce Momjian
177eae145f Add another URL for:
* Consider increasing the number of default statistics target, and
  reduce statistics target overhead

  Also consider having a larger statistics target for indexed columns
  and expression indexes
<
>   http://archives.postgresql.org/pgsql-general/2007-06/msg00542.php
2008-03-11 19:34:12 +00:00
Bruce Momjian
73df8b174e Add URL for:
* Consider increasing the number of default statistics target, and
  reduce statistics target overhead

  Also consider having a larger statistics target for indexed columns
  and expression indexes
>   http://archives.postgresql.org/pgsql-general/2007-05/msg01228.php
>
2008-03-11 19:32:03 +00:00
Bruce Momjian
d14ca04e58 Add:
>
> * Consider increasing the number of default statistics target, and
>   reduce statistics target overhead
>
>   Also consider having a larger statistics target for indexed columns
>   and expression indexes
2008-03-11 18:30:50 +00:00
Bruce Momjian
3879b62173 Add:
>
> * Consider using a hash for joining to a large IN (VALUES ...) list
>
>   http://archives.postgresql.org/pgsql-hackers/2007-05/msg00450.php
2008-03-11 18:14:57 +00:00
Bruce Momjian
a2c4705702 Add for VACUUM:
>
> * Consider a more compact data representation for dead tuples
>
>   http://archives.postgresql.org/pgsql-patches/2007-05/msg00143.php
2008-03-11 18:05:10 +00:00
Bruce Momjian
8129a814d0 Add URL for:
* Fix problem when multiple subtransactions of the same outer transaction
  hold different types of locks, and one subtransaction aborts

>   http://archives.postgresql.org/pgsql-hackers/2007-05/msg00773.php
2008-03-11 18:01:04 +00:00
Bruce Momjian
c3f6ca1e27 Add:
>
> * Add temporal versions of generate_series()
>
>   http://archives.postgresql.org/pgsql-hackers/2007-04/msg01180.php
2008-03-11 17:42:13 +00:00
Bruce Momjian
adc0ee5ea1 Add for pl/pgsql:
o Review handling of MOVE and FETCH


http://archives.postgresql.org/pgsql-patches/2007-04/msg00527.php
2008-03-11 17:20:47 +00:00
Bruce Momjian
8e4b2e354f Add:
> 	o Prevent pg_dump/pg_restore from being affected by
> 	  statement_timeout
>
> 	  Using psql to restore a pg_dump dump is also affected.
2008-03-11 17:02:33 +00:00
Bruce Momjian
a534afc854 Add to documentation:
+         Setting <varname>statement_timeout</> in
+         <filename>postgresql.conf</> is not recommended because it
+         affects all sessions.

Backpatch to 8.3.X.
2008-03-11 16:59:00 +00:00
Bruce Momjian
b633f2b98a Add:
> * Allow statistics last vacuum/analyze execution times to be displayed
>   without requiring stats_row_level to be enabled
2008-03-11 15:52:02 +00:00
Bruce Momjian
2d049a07c9 Back out doc addition that statement_timeout affects autovacuum. 2008-03-11 15:49:46 +00:00
Bruce Momjian
032f9d9a2e Remove item, per Alvaro:
<
< 	o Set up autovacuum to ignore statement_timeout set in
< 	  postgresql.conf
<
< 	  http://archives.postgresql.org/pgsql-hackers/2007-03/msg01753.php
2008-03-11 15:48:50 +00:00
Bruce Momjian
bc0fc3ec5f Add:
>
> * Consider adding buffers the BGW finds reusable to the free list
>
>   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php
>
> * Automatically tune bgwriter_delay based on activity rather then using a
>   fixed interval
>
>   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php
2008-03-11 15:45:05 +00:00
Bruce Momjian
bbd2e68cfb Document that statement_timeout is not recommended in postgresql.conf
because it affects all sessions, including autovacuum.
2008-03-11 15:39:23 +00:00
Bruce Momjian
eb34ffc15b Add:
>
> 	o Set up autovacuum to ignore statement_timeout set in
> 	  postgresql.conf
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-03/msg01753.php
2008-03-11 15:38:54 +00:00
Bruce Momjian
bc963fe849 Add URL for:
* Optimize referential integrity checks

>   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00744.php
2008-03-11 14:56:52 +00:00
Bruce Momjian
af7545edb7 Add URL for:
* Allow administrators to safely terminate individual sessions either
  via an SQL function or SIGTERM

>   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00218.php
2008-03-11 14:25:51 +00:00
Tom Lane
f0828b2fc3 Provide a build-time option to store large relations as single files, rather
than dividing them into 1GB segments as has been our longtime practice.  This
requires working support for large files in the operating system; at least for
the time being, it won't be the default.

Zdenek Kotala
2008-03-10 20:06:27 +00:00
Bruce Momjian
b6912af22b Add:
>
> * Consider increasing the minimum allowed number of shared buffers
>
>   http://archives.postgresql.org/pgsql-bugs/2008-02/msg00157.php
>
2008-03-10 14:16:37 +00:00
Magnus Hagander
52a8d4f8f7 Implement enum type for guc parameters, and convert a couple of existing
variables to it. More need to be converted, but I wanted to get this in
before it conflicts with too much...

Other than just centralising the text-to-int conversion for parameters,
this allows the pg_settings view to contain a list of available options
and allows an error hint to show what values are allowed.
2008-03-10 12:55:13 +00:00
Tom Lane
23c356ccec Document and enforce that the usable range of setseed() arguments is
-1 to 1, not 0 to 1.  The actual behavior for values within this range
does not change.  Kris Jurka
2008-03-10 12:39:23 +00:00
Tom Lane
2abf130a4e Increase the default value of log_min_messages to WARNING, so that
NOTICE-grade messages are not logged by default.  Per pgsql-hackers
discussion back on 21-Nov-2007.
2008-03-10 03:22:29 +00:00
Tom Lane
7953fdcd9e Add a CaseSensitive parameter to synonym dictionaries.
Simon Riggs
2008-03-10 03:01:28 +00:00
Tom Lane
d9384a4b73 Remove postmaster.c's check that NBuffers is at least twice MaxBackends.
With the addition of multiple autovacuum workers, our choices were to delete
the check, document the interaction with autovacuum_max_workers, or complicate
the check to try to hide that interaction.  Since this restriction has never
been adequate to ensure backends can't run out of pinnable buffers, it doesn't
really have enough excuse to live to justify the second or third choices.
Per discussion of a complaint from Andreas Kling (see also bug #3888).

This commit also removes several documentation references to this restriction,
but I'm not sure I got them all.
2008-03-09 04:56:28 +00:00
Bruce Momjian
cc05d051a6 Add:
>
> * Consider a function-based API for '@@' full text searches
>
>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php
>
2008-03-08 17:57:21 +00:00
Bruce Momjian
1cc52905f0 Add:
>
> * Add a function like pg_get_indexdef() that report more detailed index
>   information
>
>   http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php
>
2008-03-07 20:38:59 +00:00
Bruce Momjian
f76eee0bf1 Add:
>
>
> 	o Prevent autovacuum from running if an old transaction is still
> 	  running from the last vacuum
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-11/msg00899.php
>
2008-03-07 20:22:25 +00:00
Bruce Momjian
0323f706b0 Added to TODO:
>
> * Allow text search dictionary to filter out only stop words
>
>   http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php
2008-03-07 20:06:03 +00:00
Bruce Momjian
090012131c Add to TODO:
>
> * Consider allowing higher priority queries to have referenced buffer
>   cache pages stay in memory longer
>
>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg00562.php
2008-03-07 20:01:24 +00:00
Bruce Momjian
3310b3c144 Add:
>
> * Improve referential integrity checks
>
>   http://archives.postgresql.org/pgsql-performance/2005-10/msg00458.php
2008-03-07 19:18:59 +00:00
Bruce Momjian
4864986e94 Add item:
> 	o Store per-table autovacuum settings in pg_class.reloptions.
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-02/msg01440.php
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg00724.php
2008-03-07 19:03:39 +00:00
Bruce Momjian
3c361cbe57 Add URL for:
* Allow multiple identical NOTIFY events to always be communicated to the
  client, rather than sent as a single notification to the listener

  http://archives.postgresql.org/pgsql-general/2008-01/msg00057.php
2008-03-07 18:53:49 +00:00
Bruce Momjian
9d96b581d0 Add:
> 	o Add SQLSTATE severity to PGconn return status
>
> 	  http://archives.postgresql.org/pgsql-interfaces/2007-11/msg00015.php
2008-03-07 17:54:15 +00:00
Bruce Momjian
b2facfd918 Add:
> 	o Have \l+ show database size, if permissions allow
>
> 	  Ideally it will not generate an error for invalid permissions
>
2008-03-07 15:56:40 +00:00
Bruce Momjian
cbd08f6370 Add:
>
> * Add comments on system tables/columns using the information in
>   catalogs.sgml
>
>   Ideally the information would be pulled from the SGML file
>   automatically.
>
2008-03-07 14:57:39 +00:00
Bruce Momjian
588d213a92 Clearify PITR doc wording. 2008-03-07 01:46:41 +00:00
Bruce Momjian
5490ccc033 Update wording:
< 	o Require all check constraints to be inherited
> 	o Require all CHECK constraints to be inherited
2008-03-07 01:06:55 +00:00
Bruce Momjian
86e39da9c6 Add:
>
> 	o Require all check constraints to be inherited
>
> 	  http://archives.postgresql.org/pgsql-bugs/2007-04/msg00026.php
2008-03-07 01:06:36 +00:00
Bruce Momjian
868d7e2643 Add:
> 	o Have \d show foreign keys that reference a table's primary key
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-04/msg00424.php
>
> 	o Have \d show child tables that inherit from the specified parent
2008-03-07 00:10:13 +00:00
Bruce Momjian
60fb7187d0 Add URL for:
* Consider compressing indexes by storing key values duplicated in
  several rows as a single index entry

>   http://archives.postgresql.org/pgsql-patches/2007-03/msg00163.php
2008-03-06 22:17:41 +00:00
Bruce Momjian
cfc4d6ef11 Add URL for:
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-patches/2007-03/msg00139.php
2008-03-06 22:15:27 +00:00
Bruce Momjian
7afc827cf6 Add URLs for:
* Consider compressing indexes by storing key values duplicated in
  several rows as a single index entry
>
>   http://archives.postgresql.org/pgsql-hackers/2006-12/msg00341.php
>   http://archives.postgresql.org/pgsql-hackers/2007-02/msg01264.php
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00465.php
>
2008-03-06 22:09:43 +00:00
Bruce Momjian
512775e2c6 Add URL for:
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-hackers/2007-01/msg01375.php
2008-03-06 22:04:57 +00:00
Bruce Momjian
dc29472b74 Document that enabling asserts can _significantly_ slow down the server.
Back patch to 8.3.X.
2008-03-06 21:37:33 +00:00
Bruce Momjian
38ade59f95 Add:
>
> * Allow client certificate names to be checked against the client
>   hostname
>
>   This is already implemented in
>   libpq/fe-secure.c::verify_peer_name_matches_certificate() but the code
>   is commented out.
2008-03-06 21:25:50 +00:00
Bruce Momjian
2b70548bd4 Document use of pg_locks.objid for advisory locks, suggestion from Marc Mamin 2008-03-06 18:49:32 +00:00
Bruce Momjian
4f887c6bf0 Add:
>
> * Reduce memory usage of aggregates in set returning functions
>
>   http://archives.postgresql.org/pgsql-performance/2008-01/msg00031.php
>
2008-03-06 18:00:59 +00:00
Bruce Momjian
9772eb339d Add:
>
> 	o Prevent escape string warnings when object names have
> 	  backslashes
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg00227.php
>
2008-03-06 17:28:22 +00:00
Bruce Momjian
0083856e01 Add:
> * Prevent malicious functions from being executed with the permissions
>   of unsuspecting users
>
>   Index functions are safe, so VACUUM and ANALYZE are safe too.
>   Triggers, CHECK and DEFAULT expressions, and rules are still vulnerable.
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00268.php
2008-03-06 17:19:38 +00:00
Bruce Momjian
51c3727903 Move client encoding libpq function docs into libpq doc section, and
just reference them from the localization doc section.

Backpatch to 8.3.X.
2008-03-06 15:37:56 +00:00
Bruce Momjian
a4591abf37 Wording fix:
< 	o Have CONSTRAINT cname NOT NULL preserve the contraint name
> 	o Have CONSTRAINT cname NOT NULL record the contraint name
2008-03-06 03:22:32 +00:00
Bruce Momjian
ecc5db57d5 Add:
>
> 	o Have CONSTRAINT cname NOT NULL preserve the contraint name
>
> 	  Right now pg_attribute.attnotnull records the NOT NULL status
> 	  of the column, but does not record the contraint name
>
2008-03-06 03:18:19 +00:00
Bruce Momjian
fca7bcbb64 Break out referential integrity and server-side languages into separate
TODO categories.
2008-03-06 03:15:52 +00:00
Bruce Momjian
91215f6241 Document that increasing the number of checkpoints segments or
checkpoint timeout can incrase the time needed for crash recovery, per
suggestion from Simon.
2008-03-05 16:59:10 +00:00
Bruce Momjian
4309a7dd99 Add URL for:
* Add support for SQL-standard GENERATED/IDENTITY columns

>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg00604.php
2008-03-05 16:07:21 +00:00
Bruce Momjian
af79f03bdd Add URL for:
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg00642.php
>
2008-03-05 16:02:31 +00:00
Bruce Momjian
fd598416fc Add:
>
> 	o Allow COPY FROM to create index entries in bulk
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00811.php
>
2008-03-05 15:56:11 +00:00
Bruce Momjian
2c63d8405b Update pg_dump item:
< 	  produce a single dump output file.
> 	  produce a single dump output file.  It also would require
> 	  several sessions to share the same snapshot.
2008-03-04 14:38:38 +00:00
Bruce Momjian
271205223a Show example of ts_headline() using a configuration name. 2008-03-04 03:17:18 +00:00
Bruce Momjian
60c93d3976 Remove:
<
< 	o To better utilize resources, restore data, primary keys, and
<  	  indexes for a single table before restoring the next table
<
< 	  Hopefully this will allow the CPU-I/O load to be more uniform
< 	  for simultaneous restores.  The idea is to start data restores
< 	  for several objects, and once the first object is done, to move
< 	  on to its primary keys and indexes.  Over time, simultaneous
< 	  data loads and index builds will be running.
2008-03-04 02:48:22 +00:00
Bruce Momjian
66504d763f Add URL for:
o Allow pg_restore to utilize multiple CPUs and I/O channels by
          restoring multiple objects simultaneously

> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00963.php
2008-03-04 01:38:37 +00:00
Bruce Momjian
a273d393b7 Add ideas for concurrent pg_dump and pg_restore:
< * pg_dump
> * pg_dump / pg_restore
> 	o Allow pg_dump to utilize multiple CPUs and I/O channels by dumping
> 	  multiple objects simultaneously
>
> 	  The difficulty with this is getting multiple dump processes to
> 	  produce a single dump output file.
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00205.php
>
> 	o Allow pg_restore to utilize multiple CPUs and I/O channels by
>           restoring multiple objects simultaneously
>
> 	  This might require a pg_restore flag to indicate how many
> 	  simultaneous operations should be performed.  Only pg_dump's
> 	  -Fc format has the necessary dependency information.
>
> 	o To better utilize resources, restore data, primary keys, and
>  	  indexes for a single table before restoring the next table
>
> 	  Hopefully this will allow the CPU-I/O load to be more uniform
> 	  for simultaneous restores.  The idea is to start data restores
> 	  for several objects, and once the first object is done, to move
> 	  on to its primary keys and indexes.  Over time, simultaneous
> 	  data loads and index builds will be running.
>
> 	o To better utilize resources, allow pg_restore to check foreign
> 	  keys simultaneously, where possible
> 	o Allow pg_restore to create all indexes of a table
> 	  concurrently, via a single heap scan
>
> 	  This requires a pg_dump -Fc file because that format contains
>           the required dependency information.
> 	  http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
>
> 	o Allow pg_restore to load different parts of the COPY data
> 	  simultaneously
<   single heap scan, and have a restore of a pg_dump somehow use it
>   single heap scan, and have pg_restore use it
<   http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
2008-03-04 01:33:32 +00:00
Bruce Momjian
b5aae11c73 Update Japanese FAQ.
Jun Kuwamura
2008-03-03 22:10:51 +00:00
Bruce Momjian
a17772c7fb Add:
> * Allow INSERT ... DELETE ... RETURNING, namely allow the DELETE ...
>   RETURNING to supply values to the INSERT
>   http://archives.postgresql.org/pgsql-hackers/2008-02/thrd2.php#00979
2008-03-03 21:26:09 +00:00
Bruce Momjian
ca470198a4 Add another URL for:
o Consider using a ring buffer for COPY FROM
<
< http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php
2008-03-03 21:00:35 +00:00
Bruce Momjian
17405109d4 Document that REVOKE doesn't remove all permissions if PUBLIC has permissions. 2008-03-03 19:17:27 +00:00
Bruce Momjian
efa67833bb Add:
>
> * Allow the UUID type to accept non-standard formats
>
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01214.php
2008-03-03 19:03:44 +00:00
Bruce Momjian
7740991d52 Add:
> * Speed WAL recovery by allowing more than one page to be prefetched
>
>   This involves having a separate process that can be told which pages
>   the recovery process will need in the near future.
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php
>
2008-03-03 18:45:24 +00:00
Bruce Momjian
37cb2b776a Remove "reliably" from chr(0) doc mention. 2008-03-03 18:09:02 +00:00
Bruce Momjian
dc41fd8869 Document that chr(0) is not supported, and why. 2008-03-03 17:11:13 +00:00
Bruce Momjian
55f037ffe3 Fix markup. 2008-03-03 16:22:55 +00:00
Bruce Momjian
06ae191f90 Add new FAQ item:
<H3 id="item1.15">1.15) How do I unsubscribe from the
    PostgreSQL email lists?  How do I avoid receiving duplicate
    emails?</H3>
2008-03-03 15:55:26 +00:00
Bruce Momjian
ceb567c1c1 Add URL's for sequence discussions:
>
>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php
>
< 	o %Have ALTER TABLE RENAME rename SERIAL sequence names
> 	o Have ALTER TABLE RENAME rename SERIAL sequence names
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php
2008-03-03 15:06:55 +00:00
Bruce Momjian
4db0d87c9d Update wording:
< * Add Oracle-style packages  (Pavel)
> * Add features of Oracle-style packages  (Pavel)
2008-02-29 14:56:50 +00:00
Magnus Hagander
b13635ce59 Support for building contrib/uuid-ossp with MSVC.
Original patch from Hiroshi Saito, modified by me.
2008-02-28 12:17:59 +00:00
Peter Eisentraut
00941eea77 Add more clarification about SSH tunnels from Faheem Mitha. 2008-02-26 18:01:26 +00:00
Peter Eisentraut
f49beb3f50 In the SSH setup instructions, change
ssh -L 3333:foo.com:5432 joe@foo.com

I think this should be changed to

ssh -L 3333:localhost:5432 joe@foo.com

The reason is that this assumes the postgres server on foo.com allows
connections from foo.com, which is not allowed by the default
listen_addresses setting.  Add more detail explaining this.

pointed out by Faheem Mitha

Also change the example port number 3333 to 63333 so no one can complain
that we are stealing a reserved port number.
2008-02-26 16:07:16 +00:00
Peter Eisentraut
f26203ef32 Add information about format modifiers that apply to numeric formats.
These were previously only documented in the context of date/time formats.
2008-02-26 15:32:30 +00:00
Tom Lane
9713c06319 Change the declaration of struct varlena so that the length word is
represented as "char ...[4]" not "int32".  Since the length word is never
supposed to be accessed via this struct member anyway, this won't break
any existing code that is following the rules.  The advantage is that C
compilers will no longer assume that a pointer to struct varlena is
word-aligned, which prevents incorrect optimizations in TOAST-pointer
access and perhaps other places.  gcc doesn't seem to do this (at least
not at -O2), but the problem is demonstrable on some other compilers.

I changed struct inet as well, but didn't bother to touch a lot of other
struct definitions in which it wouldn't make any difference because there
were other fields forcing int alignment anyway.  Hopefully none of those
struct definitions are used for accessing unaligned Datums.
2008-02-23 19:11:45 +00:00
Peter Eisentraut
84ce707ba8 Added --htmldir option to pg_config, equivalent to the new configure option. 2008-02-18 14:51:48 +00:00
Peter Eisentraut
b120382353 Upgrade to Autoconf 2.61:
- Change configure.in to use Autoconf 2.61 and update generated files.
- Update build system and documentation to support now directory variables
  offered by Autoconf 2.61.
- Replace usages of PGAC_CHECK_ALIGNOF by AC_CHECK_ALIGNOF, now available
  in Autoconf 2.61.
- Drop our patched version of AC_C_INLINE, as Autoconf now has the change.
2008-02-17 16:36:43 +00:00
Bruce Momjian
ee7a6770f6 Move item as done:
<
> * -Allow AS in "SELECT col AS label" to be optional in certain cases
>
< * Allow AS in "SELECT col AS label" to be optional (not wanted)
2008-02-16 23:27:34 +00:00
Tom Lane
2874d38d7f Update docs to reflect the fact that we can now deal with DST rules
outside the 32-bit-time_t range.  Also, refer to Olson's tz database
as the 'zoneinfo' database, a name that upstream sometimes uses, not
'zic database' which they never use.
2008-02-16 21:51:04 +00:00
Bruce Momjian
2f67722dda No need to use checkpoint_warning to log checkpoints --- we added
log_checkpoints in 8.3.
2008-02-16 21:14:08 +00:00
Bruce Momjian
2fce2336dc Add suggestion about how to set checkpoint_warning to log all
checkpoints.
2008-02-16 21:11:32 +00:00
Tom Lane
e67867b26c Allow AS to be omitted when specifying an output column name in SELECT
(or RETURNING), but only when the output name is not any SQL keyword.
This seems as close as we can get to the standard's syntax without a
great deal of thrashing.  Original patch by Hiroshi Saito, amended by me.
2008-02-15 22:17:06 +00:00
Bruce Momjian
0fa15b9ed3 Correct XML markup typo, <book> -> </book>
XMLPARSE (DOCUMENT '<?xml
 version="1.0"?><book><title>Manual</title><chapter>...</chapter></book>')

Backpatch to 8.3.X.
2008-02-13 22:46:55 +00:00
Bruce Momjian
74de091473 Add section to Migration talking about typical areas that change between
major releases.
2008-02-13 22:44:06 +00:00
Tom Lane
cf9e156156 Stamp HEAD as 8.4devel. 2008-02-13 03:40:38 +00:00
Tom Lane
745e6edaae Fix SPI_cursor_open() and SPI_is_cursor_plan() to push the SPI stack before
doing anything interesting, such as calling RevalidateCachedPlan().  The
necessity of this is demonstrated by an example from Willem Buitendyk:
during a replan, the planner might try to evaluate SPI-using functions,
and so we'd better be in a clean SPI context.

A small downside of this fix is that these two functions will now fail
outright if called when not inside a SPI-using procedure (ie, a
SPI_connect/SPI_finish pair).  The documentation never promised or suggested
that that would work, though; and they are normally used in concert with
other functions, mainly SPI_prepare, that always have failed in such a case.
So the odds of breaking something seem pretty low.

In passing, make SPI_is_cursor_plan's error handling convention clearer,
and fix documentation's erroneous claim that SPI_cursor_open would
return NULL on error.

Before 8.3 these functions could not invoke replanning, so there is probably
no need for back-patching.
2008-02-12 04:09:44 +00:00
Tom Lane
0028b22d68 Some small editorialization on the protocol documentation for GSSAPI/SSPI
authentication.
2008-02-08 18:18:05 +00:00
Bruce Momjian
d9c7f63244 Add "automatically" to HOT release note description. 2008-02-07 22:28:54 +00:00
Magnus Hagander
8d363727f4 Fix very broken clean.bat for msvc install. The way we used subroutines
in .bat simply did not work, and it called them in the wrong order,
some several times, and some not at all. So this unrolls all subroutine
calls.

This should fix the issues with clean deleting the wrong files reported
by Dave Page.

While at it, add the "clean dist" option to act like "make distclean",
and no longer remove the flex/bison output files by default. This shuold
fix the problem reported by Pavel Golub in bug #3909.
2008-02-06 15:13:25 +00:00
Tom Lane
701cd5af45 Fix mistaken duplicate reference to max_fsm_pages, per bug #3926.
Also make links clickable.
2008-02-03 16:24:08 +00:00
Tom Lane
09bcb24806 Minor wordsmithing in release notes' description of asynchronous commit. 2008-02-02 23:30:23 +00:00
Tom Lane
19c40492f0 Move example of turning off synchronous_commit to a more logical place,
to wit in the description of that variable rather than some other one.
2008-02-02 23:29:12 +00:00
Bruce Momjian
aad140b7ff Stamp 8.3 in CVS. _No_ update of configure/configure.in. 2008-02-01 02:59:02 +00:00
Bruce Momjian
1ac09940db Update FAQ for most recent release as 8.3. 2008-02-01 02:55:41 +00:00
Bruce Momjian
ea3db8f79d Update item:
< * Improve deadlock detection when deleting items from shared buffers
> * Improve deadlock detection when a page cleaning lock conflicts
>   with a shared buffer that is pinned
2008-02-01 02:41:10 +00:00
Bruce Momjian
b07e548590 Fix spelling typo in comment. 2008-01-31 23:31:33 +00:00
Bruce Momjian
694403d30e Add comment about possible URL changes for www7.hp.com:
<!-- If this URL chnages replace it with a URL to www.archive.org. -->
2008-01-31 23:30:31 +00:00
Bruce Momjian
162dc31428 Update spoofing /tmp symlink instructions to be more specific about the
name of the needed symlink file.
2008-01-31 23:03:16 +00:00
Tom Lane
06462f51e3 Mention synchronize_seqscans GUC variable in release notes.
Update expected release date.
2008-01-31 21:31:33 +00:00
Tom Lane
73d9544e27 Remove the old table of "supported platforms" in favor of a link to the
buildfarm plus a narrative description of the CPU types and operating systems
on which Postgres is likely to work.  Now that we've almost completely
decoupled CPU and OS considerations, the former tabular style isn't all that
enlightening anyway.  Perhaps more importantly, no one seems particularly
interested in maintaining the table by hand when we have the buildfarm.
2008-01-31 20:29:30 +00:00
Tom Lane
7c15b10a9a Improve pg_autovacuum documentation to clarify that the enabled field cannot
prevent anti-wraparound vacuuming, and to caution against setting unreasonably
small values of freeze_max_age.  Also put in a notice that this catalog is
likely to disappear entirely in some future release.  Per discussion of
bug #3898 from Steven Flatt.
2008-01-31 18:40:02 +00:00
Bruce Momjian
8e9c7fe982 Document the idea of creating a symbolic link in /tmp to prevent server
spoofing when the socket file has been moved.
2008-01-31 17:22:43 +00:00
Bruce Momjian
55986a5eb8 Add:
> * Improve deadlock detection when deleting items from shared buffers
>
>   http://archives.postgresql.org/pgsql-bugs/2008-01/msg00138.php
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php
>   http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php
2008-01-31 15:05:09 +00:00
Tom Lane
47df4f6688 Add a GUC variable "synchronize_seqscans" to allow clients to disable the new
synchronized-scanning behavior, and make pg_dump disable sync scans so that
it will reliably preserve row ordering.  Per recent discussions.
2008-01-30 18:35:55 +00:00
Peter Eisentraut
f73f18f92c Improve table reference 2008-01-30 10:49:55 +00:00
Peter Eisentraut
c7640c3298 Update key words table for 8.3 2008-01-30 10:37:36 +00:00
Bruce Momjian
65b39ec347 Update wording:
< * Add anonymous transactions
> * Add autonomous transactions
2008-01-29 16:13:09 +00:00
Bruce Momjian
1567133511 Add item:
> * Add anonymous transactions
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php
>
2008-01-29 16:11:19 +00:00
Bruce Momjian
522f362975 Remove duplicat item:
< 	  o Allow the PITR process to be debugged and data examined
2008-01-29 16:09:28 +00:00
Peter Eisentraut
a38fae6c75 markup correct
from Gevik Babakhani
2008-01-29 13:03:50 +00:00
Bruce Momjian
cf9990c66e Add "Communication Method" row to HA feature matrix documentation. 2008-01-28 18:43:55 +00:00
Tom Lane
b5518c8e88 Minor editorial improvements in documentation of session_replication_role;
in particular correct the obsolete claim that it can't be changed once
any plans have been cached.
2008-01-27 19:12:28 +00:00
Andrew Dunstan
a794b99a31 Fix example of de-escaping bytea argument, per Florian Weimer. Also fix example
of escaping bytea return value. Both cases did not handle backslash values properly.
2008-01-25 15:28:35 +00:00
Peter Eisentraut
79a323ab49 Change /contrib to contrib for consistency. 2008-01-24 06:23:33 +00:00
Tom Lane
1570d0467a Provide a concrete example of parameter expansion in archive_command.
Per discussion of bug #3877.  Simon Riggs, some fixes by moi.
2008-01-23 20:21:37 +00:00
Tom Lane
216e63bbce Avoid mathematical inconsistency in example about avoiding division by
zero with a CASE expression.  Per gripe from Russell Smith.
2008-01-23 19:51:29 +00:00
Tom Lane
6a7a63d3a3 Reference pgAdmin as a typical client-side tool, rather than the
no-longer-maintained PgAccess.  Per Erik Rijkers.
2008-01-23 02:04:47 +00:00
Tom Lane
1e985720eb Improve description of bgwriter_lru_multiplier, per discussion. 2008-01-21 03:28:42 +00:00
Bruce Momjian
7b4be2ba2f Stamp release for 8.3RC2; configure will be stamped by packager. 2008-01-18 00:13:50 +00:00
Bruce Momjian
d07de6c4ec Update Japanese FAQ.
Jun Kuwamura
2008-01-17 18:53:20 +00:00
Magnus Hagander
e467168e32 Typo fix.
Erik Rijkers
2008-01-17 14:34:45 +00:00
Magnus Hagander
98bb697f33 pgcrypto doc updates
Marko Kreen
2008-01-17 11:06:28 +00:00
Andrew Dunstan
c7d7c15bb1 Document the fact that COPY always uses the client encoding. 2008-01-16 22:07:04 +00:00
Tom Lane
0153c4c466 Be less wishy-washy in the documentation and comments about whether a
ParameterStatus message can be sent during COPY OUT: it's definitely
possible, since COPY from a SELECT subquery can trigger any user-defined
function.
2008-01-15 22:18:20 +00:00
Tom Lane
abab776b3c Somebody forgot to add this ERRCODE everywhere it should go ... 2008-01-15 01:36:53 +00:00
Bruce Momjian
1272ac82b6 Add:
>
> * Add the ability to automatically create materialized views
>
>   Right now materialized views require the user to create triggers on the
>   main table to keep the summary table current.  SQL syntax should be able
>   to manager the triggers and summary table automatically.  A more
>   sophisticated implementation would automatically retrieve from the
>   summary table when the main table is referenced, if possible.
>
2008-01-14 22:14:30 +00:00
Bruce Momjian
be8451e548 Most recent Postgres version is 8.2.6, per report from Robert Treat. 2008-01-14 20:39:30 +00:00
Tom Lane
5c7671425f Fix an ancient oversight in libpq's handling of V3-protocol COPY OUT mode:
we need to be able to swallow NOTICE messages, and potentially also
ParameterStatus messages (although the latter would be a bit weird),
without exiting COPY OUT state.  Fix it, and adjust the protocol documentation
to emphasize the need for this.  Per off-list report from Alexander Galler.
2008-01-14 18:46:17 +00:00
Tom Lane
05a381add9 Add note pointing out that read-only commands no longer consume
command IDs.
2008-01-13 17:58:54 +00:00
Bruce Momjian
9f2a20b66d Update documentation for tsvector duplicate elimination:
!      Duplicate positions for the same lexeme are discarded.
2008-01-12 21:51:36 +00:00
Bruce Momjian
f3e3f2e158 Add:
> * Add ability to trigger on TRUNCATE
>
>   http://archives.postgresql.org/pgsql-sql/2008-01/msg00050.php
2008-01-11 16:49:27 +00:00
Alvaro Herrera
ccd3e321f7 Add index entry. 2008-01-09 05:27:22 +00:00
Bruce Momjian
3048964e65 Remove mention of /contrib README files from documentation because files
are moved to SGML.
2008-01-09 02:37:45 +00:00
Bruce Momjian
bbd3bdba3e Add URLs to two excellent web pages about SSL API and certificate usage. 2008-01-08 18:07:38 +00:00
Peter Eisentraut
99749f3306 Put spaces after "RFC". 2008-01-05 13:17:00 +00:00
Bruce Momjian
88a79c1d61 Add URL for:
* Allow AS in "SELECT col AS label" to be optional (not wanted)

>   http://archives.postgresql.org/pgsql-hackers/2003-04/msg00436.php
2008-01-04 15:58:27 +00:00
Tom Lane
2bf121e40b Stamp release 8.3RC1.
Security: CVE-2007-4769, CVE-2007-4772, CVE-2007-6067, CVE-2007-6600, CVE-2007-6601
2008-01-03 21:40:12 +00:00
Tom Lane
019fac777d Update release notes for security releases.
Security: CVE-2007-4769, CVE-2007-4772, CVE-2007-6067, CVE-2007-6600, CVE-2007-6601
2008-01-03 21:35:25 +00:00
Tom Lane
eedb068c0a Make standard maintenance operations (including VACUUM, ANALYZE, REINDEX,
and CLUSTER) execute as the table owner rather than the calling user, using
the same privilege-switching mechanism already used for SECURITY DEFINER
functions.  The purpose of this change is to ensure that user-defined
functions used in index definitions cannot acquire the privileges of a
superuser account that is performing routine maintenance.  While a function
used in an index is supposed to be IMMUTABLE and thus not able to do anything
very interesting, there are several easy ways around that restriction; and
even if we could plug them all, there would remain a risk of reading sensitive
information and broadcasting it through a covert channel such as CPU usage.

To prevent bypassing this security measure, execution of SET SESSION
AUTHORIZATION and SET ROLE is now forbidden within a SECURITY DEFINER context.

Thanks to Itagaki Takahiro for reporting this vulnerability.

Security: CVE-2007-6600
2008-01-03 21:23:15 +00:00
Bruce Momjian
8af31d56f4 Add:
> * Allow multiple identical NOTIFY events to always be communicated to the
>   client, rather than sent as a single notification to the listener
2008-01-03 18:47:44 +00:00
Magnus Hagander
86b322b16f Fix invalid ipv6 address in example. Per doc comment 7211. 2008-01-02 19:53:13 +00:00
Bruce Momjian
9098ab9e32 Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00
Bruce Momjian
44ede1072d Move a few release note items from "Utility Commands" to "Object Manipulation". 2008-01-01 19:41:14 +00:00
Bruce Momjian
40f4bb5a2d Update release notes to match CVS HEAD. 2008-01-01 19:36:20 +00:00
Bruce Momjian
2a0e33edc4 8.3 is possible release on 2008-01-??, not 2007. 2008-01-01 15:14:37 +00:00
Bruce Momjian
a225bf05e0 Update TODO list based on 8.3 completed items:
< * Allow major upgrades without dump/reload, perhaps using pg_upgrade
<   [pg_upgrade]
< * Check for unreferenced table files created by transactions that were
<   in-progress when the server terminated abruptly
<
<   http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php
<
> * Check for unreferenced table files created by transactions that were
>   in-progress when the server terminated abruptly
>
>   http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php
>
< * Support table partitioning that allows a single table to be stored
<   in subtables that are partitioned based on the primary key or a WHERE
<   clause
<   creation of rules for INSERT/UPDATE/DELETE, and constraints for
<   rapid partition selection.  Options could include range and hash
>   creation of triggers or rules for INSERT/UPDATE/DELETE, and constraints
>   for rapid partition selection.  Options could include range and hash
<
< * Improve replication solutions
<
< 	o Load balancing
<
< 	  You can use any of the master/slave replication servers to use a
< 	  standby server for data warehousing. To allow read/write queries to
< 	  multiple servers, you need multi-master replication like pgcluster.
<
< 	o Allow replication over unreliable or non-persistent links
<
<
< 	o Mark change-on-restart-only values in postgresql.conf
< 	  All objects in the default database tablespace must have default
< 	  tablespace specifications. This is because new databases are
< 	  created by copying directories. If you mix default tablespace
< 	  tables and tablespace-specified tables in the same directory,
< 	  creating a new database from such a mixed directory would create a
< 	  new database with tables that had incorrect explicit tablespaces.
< 	  To fix this would require modifying pg_class in the newly copied
< 	  database, which we don't currently do.
> 	  Currently all objects in the default database tablespace must
> 	  have default tablespace specifications. This is because new
> 	  databases are created by copying directories. If you mix default
> 	  tablespace tables and tablespace-specified tables in the same
> 	  directory, creating a new database from such a mixed directory
> 	  would create a new database with tables that had incorrect
> 	  explicit tablespaces.  To fix this would require modifying
> 	  pg_class in the newly copied database, which we don't currently
> 	  do.
<
< 	  o Allow recovery.conf to allow the same syntax as
> 	  o Allow recovery.conf to support the same syntax as
< * Allow user-defined types to specify a type modifier at table creation
<   time
< * Allow all data types to cast to and from TEXT
<
<   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00017.php
<
<
< 		o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH
< 		o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
< 		  INTERVAL MONTH), and this should return '12 months'
> 		o Add support for year-month syntax, INTERVAL '50-6' YEAR
> 		  TO MONTH
> 		o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1
> 		  year' AS INTERVAL MONTH), and this should return '12 months'
< 	* Allow MONEY to be cast to/from other numeric data types
> 	* Allow MONEY to be easily cast to/from other numeric data types
>
< * Allow functions to have a schema search path specified at creation time
< * Fix cases where invalid byte encodings are accepted by the database,
<   but throw an error on SELECT
<
<   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00767.php
< * Improve logging of prepared statements recovered during startup
> * Improve logging of prepared transactions recovered during startup
< * Make standard_conforming_strings the default in 8.4?
> * Make standard_conforming_strings the default in 8.5?
< * Allow the count returned by SELECT, etc to be to represent as an int64
> * Allow the count returned by SELECT, etc to be represented as an int64
< 	o Use more reliable method for CREATE DATABASE to get a consistent
< 	  copy of db?
< 	o Fix transaction restriction checks for CREATE DATABASE and
< 	  other commands
<
< 	  http://archives.postgresql.org/pgsql-hackers/2007-01/msg00133.php
< 	  currently allowed.
> 	  currently allowed.  This currently is done if the table is
> 	  created inside the same transaction block as the COPY because
> 	  no other backends can see the table.
< 	o Add SET PATH for schemas?
<
< 	  This is basically the same as SET search_path.
< 	o Enforce referential integrity for system tables
< 		o Add Oracle-style packages  (Pavel)
<
< 		  A package would be a schema with session-local variables,
< 		  public/private functions, and initialization functions.  It
< 		  is also possible to implement these capabilities
< 		  in all schemas and not use a separate "packages"
< 		  syntax at all.
<
< 		  http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
<
< 		o Add single-step debugging of functions
< 		o Allow RETURN to return row or record functions
<
< 		  http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
< 		  http://archives.postgresql.org/pgsql-patches/2006-08/msg00397.php
< 		  http://archives.postgresql.org/pgsql-hackers/2006-09/msg00388.php
<
< 		o Fix problems with RETURN NEXT on tables with
< 		  dropped/added columns after function creation
<
< 		  http://archives.postgresql.org/pgsql-patches/2006-02/msg00165.php
<
< * Make consistent use of long/short command options --- pg_ctl needs
<   long ones, pg_config doesn't have short ones, postgres doesn't have
<   enough long ones, etc.
<
<
<
< 	o Consider parsing the -c string into individual queries so each
< 	  is run in its own transaction
<
< 	  http://archives.postgresql.org/pgsql-hackers/2007-01/msg00291.php
<
<
< 	o Remove unnecessary function pointer abstractions in pg_dump source
< 	  code
> 	o Remove unnecessary function pointer abstractions in pg_dump source
> 	  code
<
<
< 	o Fix SSL retry to avoid useless repeated connection attempts and
< 	  ensuing misleading error messages
>
<
<   This is difficult because it requires datatype-specific knowledge.
<
< * Improve commit_delay handling to reduce fsync()
< * %Add an option to sync() before fsync()'ing checkpoint files
>
< * Reduce lock time during VACUUM FULL by moving tuples with read lock,
<   then write lock and truncate table
<
<   Moved tuples are invisible to other backends so they don't require a
<   write lock. However, the read lock promotion to write lock could lead
<   to deadlock situations.
<
< * Prevent long-lived temporary tables from causing frozen-xid advancement
<    starvation
<
<    The problem is that autovacuum cannot vacuum them to set frozen xids;
<    only the session that created them can do that.
<
<
<
< 	o Use free-space map information to guide refilling
< 	o Consider logging activity either to the logs or a system view
> 	  The problem is that autovacuum cannot vacuum them to set frozen xids;
> 	  only the session that created them can do that.
< * Add connection pooling
<
<   It is unclear if this should be done inside the backend code or done
<   by something external like pgpool. The passing of file descriptors to
<   existing backends is one of the difficulties with a backend approach.
<
< * Consider reducing memory used for shared buffer reference count
<
<   http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php
<
< * %Remove memory/file descriptor freeing before ereport(ERROR)
< * %Promote debug_query_string into a server-side function current_query()
< * Allow ecpg to work with MSVC and BCC
< * Add xpath_array() to /contrib/xml2 to return results as an array
< * Allow building in directories containing spaces
<
<   This is probably not possible because 'gmake' and other compiler tools
<   do not fully support quoting of paths with spaces.
<
< * Fix sgmltools so PDFs can be generated with bookmarks
< * Split out libpq pgpass and environment documentation sections to make
<   it easier for non-developers to find
< * Use strlcpy() rather than our StrNCpy() macro
<
<   http://archives.postgresql.org/pgsql-hackers/2006-09/msg02108.php
<
< 	o Re-enable timezone output on log_line_prefix '%t' when a
< 	  shorter timezone string is available
< * Allow statements across databases or servers with transaction
<   semantics
<
<   This can be done using dblink and two-phase commit.
> * Add Oracle-style packages  (Pavel)
< * Add the features of packages
> 	  A package would be a schema with session-local variables,
> 	  public/private functions, and initialization functions.  It
> 	  is also possible to implement these capabilities
> 	  in any schema and not use a separate "packages"
> 	  syntax at all.
< 	o  Make private objects accessible only to objects in the same schema
< 	o  Allow current_schema.objname to access current schema objects
< 	o  Add session variables
< 	o  Allow nested schemas
> 	  http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
2007-12-30 03:22:53 +00:00
Bruce Momjian
835a51c67e Remove TODO.detil for pg_upgrade. 2007-12-30 01:50:11 +00:00
Bruce Momjian
ebb28cb3a6 Add:
>
> * Allow SSL authentication/encryption over unix domain sockets
>
>   http://archives.postgresql.org/pgsql-hackers/2007-12/msg00924.php
2007-12-30 00:42:38 +00:00
Bruce Momjian
e1576008a6 Update Japanese FAQ.
Jun Kuwamura
2007-12-29 19:26:27 +00:00