Commit Graph

7213 Commits

Author SHA1 Message Date
Teodor Sigaev 823ffd88e3 Fix table's caption 2006-09-21 15:03:53 +00:00
Michael Meskes 8ad3afee1a Updated several parts in particular variable handling. This is work that was part of SoC. 2006-09-21 09:10:27 +00:00
Bruce Momjian 323ff93afb Wording changes for continuous archving, per Simon. 2006-09-21 03:12:58 +00:00
Tom Lane 0efa510bf7 Add documentation for new in-core advisory lock functions. Merlin Moncure 2006-09-20 23:43:22 +00:00
Bruce Momjian e56ccad7b0 Add URL for domain casting:
>   http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php
2006-09-20 23:01:55 +00:00
Bruce Momjian 0e54962890 Update release notes to use scaron, rather than numeric code for entity. 2006-09-20 22:48:47 +00:00
Tom Lane c59487cfb3 Fix bogus markup. 2006-09-20 21:30:20 +00:00
Bruce Momjian f2aad31424 Add AIX shared library support item to release notes. 2006-09-20 19:55:42 +00:00
Bruce Momjian 06b33f0ee8 Release note wording improvement.
Alvaro.
2006-09-20 11:54:23 +00:00
Bruce Momjian c840db7f0d Add shared linking information to AIX FAQ.
Laurenz Albe
2006-09-20 02:10:11 +00:00
Neil Conway c62172100b Improvements to the partitioning documentation. Original patch from Greg
Stark, additional fixes and editorialization by Neil Conway. Greg's patch
description:

    Some more doc patches for partitioned tables. In particular replace
    the caveat that INCLUDING CONSTRAINTS doesn't exist and replace it
    with documentation of, well, INCLUDING CONSTRAINTS.

    Also, there was an instance of "LIKE WITH DEFAULTS" which is
    actually spelled "LIKE INCLUDING DEFAULTS".
2006-09-20 01:20:38 +00:00
Neil Conway 45e11d098f Do a round of copy-editing for the release notes: fix some typos and
grammatical errors, improve the description of some new features.
2006-09-19 19:54:05 +00:00
Bruce Momjian b27170b936 Dashed items are now for 8.3:
< #A hyphen, "-", marks changes that will appear in the upcoming 8.2 release.#
> #A hyphen, "-", marks changes that will appear in the upcoming 8.3 release.#
2006-09-19 19:20:21 +00:00
Bruce Momjian aa3f396aca Remove completed TODO items:
< * -Make postmater and postgres options distinct so the postmaster -o
<   option is no longer needed
< * -Allow pooled connections to list all prepared statements
<
<   This would allow an application inheriting a pooled connection to know
<   the statements prepared in the current session.
<
< * -Re-enable the GUC full_page_writes in 8.2 when reliability issues have
<   been addressed
< 	o -Add "include file" functionality in postgresql.conf
< 	o -Allow per-database permissions to be set via GRANT
<
< 	  Allow database connection checks based on GRANT rules in
< 	  addition to the existing access checks in pg_hba.conf.
<
< 	o -Issue a warning if a change-on-restart-only postgresql.conf value
> 	o Issue a warning if a change-on-restart-only postgresql.conf value
< 	  o -Automatically force archiving of partially-filled WAL files when
< 	    pg_stop_backup() is called or the server is stopped
< 	  o -Add reporting of the current WAL file and offset, perhaps as
< 	    part of partial log file archiving
< * -Allow server logs to be remotely read and removed using SQL commands
< * -Allow protocol-level BIND parameter values to be logged
< * -Zero umasked bits in conversion from INET cast to CIDR
< * -Prevent INET cast to CIDR from dropping netmask, SELECT '1.1.1.1'::inet::cidr
< * -Allow INET + INT8 to increment the host part of the address or
<   throw an error on overflow
< * -Add 'tid != tid ' operator for use in corruption recovery
< 	o -Allow customization of the known set of TZ names (generalize the
< 	  present australian_timezones hack)
< 	o -Allow timezone names in SQL strings, '2006-05-24 21:11
< 	   Americas/New_York'::timestamptz
< 		o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO
< 		  SECOND
< 	o -Allow NULLs in arrays
< * -Add transaction_timestamp(), statement_timestamp(), clock_timestamp()
<   functionality
<
<   Current CURRENT_TIMESTAMP returns the start time of the current
<   transaction, and gettimeofday() returns the wallclock time. This will
<   make time reporting more consistent and will allow reporting of
<   the statement start time.
<
< * -Allow to_char() to print localized month names
< * -Add sleep() function, remove from regress.c
< * -Allow user-defined functions retuning a domain value to enforce domain
<   constraints
< * -Allow TRUNCATE ... CASCADE/RESTRICT
<
<   This is like DELETE CASCADE, but truncates.
<
< * -Add COMMENT ON for all cluster global objects (roles, databases
<   and tablespaces)
< * -Make row-wise comparisons work per SQL spec
<
<   Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but
<   the SQL standard requires it to be processed as a column-by-column
<   comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'.
<
< * -Enable escape_string_warning and standard_conforming_strings
> * Enable standard_conforming_strings
< 	o -Add ON COMMIT capability to CREATE TABLE AS ... SELECT
< 	o -Allow an alias to be provided for the target table in
< 	  UPDATE/DELETE (Neil)
< 	o -Allow UPDATE tab SET ROW (col, ...) = (val, ...) for updating
< 	  multiple columns
< 	o -Add ALTER TABLE tab INHERIT / NO INHERIT  parent
< 	o -Have COPY return the number of rows loaded/unloaded?
< 	o -Allow COPY (SELECT ...) TO 'filename'
<
< 	o -Allow pooled connections to list all open WITH HOLD cursors
<
< 	  Because WITH HOLD cursors exist outside transactions, this allows
< 	  them to be listed so they can be closed.
<
< 	o -Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
< 	o -Allow INSERT/UPDATE ... RETURNING new.col or old.col
< 		o -Allow PL/python to return composite types and result sets
<
< * -Have initdb set the input DateStyle (MDY or DMY) based on locale
< 	o -Improve psql's handling of multi-line statements
<
< 	  Currently, while \e saves a single statement as one entry, interactive
< 	  statements are saved one line at a time.  Ideally all statements
< 	  would be saved like \e does.
<
< 	o -Allow multi-line column values to align in the proper columns
<
< 	  If the second output column value is 'a\nb', the 'b' should appear
< 	  in the second display column, rather than the first column as it
< 	  does now.
<
< 	o -Display IN, INOUT, and OUT parameters in \df
< 	o -Allow pg_dump to use multiple -t and -n switches, exclusion
< 	   ability, and regular expression object matching
< 	o -Update pg_dump and psql to use the new COPY libpq API (Christopher)
< 	o -Add a function to support Parse/DescribeStatement capability
< * -Add fillfactor to control reserved free space during index creation
< * -Add system view to show free space map contents
< * -Allow installing to directories containing spaces
<
<   This is possible if proper quoting is added to the makefiles for the
<   install targets.  Because PostgreSQL supports relocatable installs, it
<   is already possible to install into a directory that doesn't contain
<   spaces and then copy the install to a directory with spaces.
<
< * -%Clean up compiler warnings (especially with gcc version 4)
< * -Remove BeOS and QNX-specific code
< 	o -Port contrib/xml2
2006-09-19 19:20:00 +00:00
Neil Conway f7ea4eeed6 Document how to use psql's --single-transaction option to rollback restoring
an SQL dump if an error occurs. Along the way, make some improvements and
copy-edits to the surrounding text. Patch from Simon Riggs, additional
fixes by Neil Conway.
2006-09-19 19:04:51 +00:00
Tom Lane 85fca79a02 Fix broken markup. 2006-09-19 17:22:42 +00:00
Neil Conway 48fe137425 Minor additions and typo fixes for the backup documentation. Patch from
Simon Riggs, minor editorialization by Neil Conway.
2006-09-19 15:18:41 +00:00
Bruce Momjian a676d7f6d9 More 8.2 release item reordering. 2006-09-19 02:25:13 +00:00
Bruce Momjian cf90c54bb3 Reorder 8.2 release note items more logically. 2006-09-19 02:08:30 +00:00
Bruce Momjian 88057d0cf2 Update migration changes, more cleanups. 2006-09-19 00:57:07 +00:00
Bruce Momjian dd18c57979 Properly mention in the release notes that fillfactor controls both heap
and indexes.  Other cleanups.
2006-09-18 23:19:50 +00:00
Bruce Momjian e328f8b0ba Wrap long lines in 8.2 release notes. 2006-09-18 23:01:43 +00:00
Bruce Momjian 1fc333f041 Updates from Jim Nasby. 2006-09-18 22:43:16 +00:00
Tom Lane 9b4cda0df6 Add built-in userlock manipulation functions to replace the former
contrib functionality.  Along the way, remove the USER_LOCKS configuration
symbol, since it no longer makes any sense to try to compile that out.
No user documentation yet ... mmoncure has promised to write some.
Thanks to Abhijit Menon-Sen for creating a first draft to work from.
2006-09-18 22:40:40 +00:00
Bruce Momjian f7f308d6a6 Move 8.2 release documentation into SGML. 2006-09-18 21:45:10 +00:00
Neil Conway ecf5009099 Make the order of the CASCADE and RESTRICT keywords in the DROP OWNED
syntax summary consistent with the other SQL reference pages. Patch
from Euler Taveira de Oliveira.
2006-09-18 21:19:29 +00:00
Tom Lane b5b1eb80b7 Documentation for VALUES lists. Joe Conway and Tom Lane 2006-09-18 19:54:01 +00:00
Bruce Momjian 5f04ce3126 Add URL for commenting postgresql.conf:
> 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg01481.php
2006-09-18 16:24:07 +00:00
Bruce Momjian c74c313519 Add URL for UUID:
>
>   http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php
>
2006-09-18 16:22:32 +00:00
Bruce Momjian e8efd98312 Add item:
>
> * Set client encoding based on the client operating system encoding
>
>   Currently client_encoding is set in postgresql.conf, which
>   defaults to the server encoding.
2006-09-18 15:52:23 +00:00
Bruce Momjian 329cec451e Add URL to UPDATE unique index case x=x+1:
<
> 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php
2006-09-18 14:56:19 +00:00
Teodor Sigaev bcbb402e31 Improve wordings by David Fuhry <dfuhry@cs.kent.edu> 2006-09-18 12:11:36 +00:00
Tom Lane da7540b9d1 Change ANALYZE to take ShareUpdateExclusiveLock not AccessShareLock on
the table being analyzed.  This prevents two ANALYZEs from running
concurrently on the same table and possibly suffering concurrent-update
failures while trying to store their results into pg_statistic.  The
downside is that a database-wide ANALYZE executed within a transaction
block will hold ShareUpdateExclusiveLock on many tables simultaneously,
which could lead to concurrency issues or even deadlock against another
such ANALYZE.  However, this seems a corner case of less importance
than getting unexpected errors from a foreground ANALYZE when autovacuum
elects to analyze the same table concurrently.  Per discussion.
2006-09-17 22:50:31 +00:00
Bruce Momjian f204274191 Update TODO for short header versions:
< 	o Reorder physical storage order to reduce padding?
<
< 	  This involves having the user-specified order of columns
< 	  be different from the physical order.  SELECT * would
< 	  need to reorder the physical values to match the
< 	  user-specified ordering.
<
< 	o Store disk pages with no alignment/padding?
<
< 	  This necessitates adding CPU-required padding when moving
< 	  rows from disk to memory.
<
< 	  One idea is to store the header in network byte order (high bits
< 	  first), and read the high bits to determine the header length.
< 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg00848.php
> 	  One idea is to create zero-or-one-byte-header versions
> 	  of varlena data types.  In involves setting the high-bit and
> 	  0-127 length in the single-byte header, or clear the high bit
> 	  and store the 7-bit ASCII value in the rest of the byte.
> 	  The small-header versions have no alignment requirements.
> 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg01372.php
2006-09-16 22:06:54 +00:00
Tom Lane 5ff4f39c0e Rename the recently-added pg_timezonenames view to pg_timezone_abbrevs,
and create a new view pg_timezone_names that provides information about
the zones known in the 'zic' database.  Magnus Hagander, with some
additional work by Tom Lane.
2006-09-16 20:14:34 +00:00
Tom Lane 1246d797e4 Rename xml_valid() to xml_is_well_formed(), but provide a temporary
alias with the old name for backwards compatibility.  Per discussion,
the old name is actively wrong because validity and well-formedness
have different meanings in XML.
2006-09-16 16:18:11 +00:00
Bruce Momjian 32cebaecff Remove emacs info from footer of SGML files. 2006-09-16 00:30:20 +00:00
Bruce Momjian 5e550acbc4 Document Warm Standby for High Availability
Includes sample standby script.

Simon Riggs
2006-09-15 22:02:21 +00:00
Bruce Momjian 075c0caa90 Document WAL recovery now uses checkpoints.
Simon Riggs
2006-09-15 21:55:07 +00:00
Tom Lane 65ab9f4f24 Add a couple of information functions to support direct checks on whether
a schema is our own temp schema or another backend's temp schema, and use
these in place of some former kluges in information_schema.  Per my
proposal of yesterday.
2006-09-14 22:05:06 +00:00
Bruce Momjian 2a20412c45 Seems no one wants this:
< * -Allow PREPARE to automatically determine parameter types based on the SQL
<   statement (Neil)
2006-09-14 21:44:08 +00:00
Bruce Momjian c1d1c50424 Done:
< * -Allow protocol-level BIND parameter values to be logged, if text mode
> * -Allow protocol-level BIND parameter values to be logged
2006-09-14 21:41:29 +00:00
Bruce Momjian e467e5c8ad Not done yet:
< 	o -Allow commenting of variables in postgresql.conf to restore them
> 	o Allow commenting of variables in postgresql.conf to restore them
2006-09-14 21:37:04 +00:00
Tom Lane c2314b9ece Fix missing markup. 2006-09-14 21:15:07 +00:00
Bruce Momjian e101e6bb8f Remove:
< * Research storing only active XIDs in subtransaction cache
2006-09-14 20:46:10 +00:00
Bruce Momjian 3e6d1efa4a Add:
> * Research storing only active XIDs in subtransaction cache
2006-09-14 20:30:35 +00:00
Bruce Momjian a6e240a30f Add XML item.
>
> * Improve XML support
>
>   http://developer.postgresql.org/index.php/XML_Support
2006-09-14 18:10:38 +00:00
Bruce Momjian fa2801e361 Add description for variable-length header:
> 	  One idea is to store the header in network byte order (high bits
> 	  first), and read the high bits to determine the header length.
2006-09-14 17:34:14 +00:00
Bruce Momjian 536316aa42 Add recent ICU URL:
>   http://archives.postgresql.org/pgsql-hackers/2006-09/msg00662.php
2006-09-14 17:14:53 +00:00
Bruce Momjian 7f75537cd7 Update TODO items:
< 	o Store disk pages with no alignment/padding?
>
> 	  This involves having the user-specified order of columns
> 	  be different from the physical order.  SELECT * would
> 	  need to reorder the physical values to match the
> 	  user-specified ordering.
>
> 	o Store disk pages with no alignment/padding?
>
> 	  This necessitates adding CPU-required padding when moving
> 	  rows from disk to memory.
>
>
> 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg00848.php
>
2006-09-14 17:11:51 +00:00
Bruce Momjian 9256b84e61 For release notes checklist, add UTF8 URL. 2006-09-14 16:55:43 +00:00
Bruce Momjian 4f7b0fb103 In release notes checklist, add URL for HTML non-ASCII escapes, mention
UTF8 escapes.
2006-09-14 16:51:39 +00:00
Teodor Sigaev e25c3e84b6 Fix SGML markup 2006-09-14 13:40:28 +00:00
Teodor Sigaev 0ca9907ce4 GIN documentation and slightly improving GiST docs.
Thanks to  Christopher Kings-Lynne <chris.kingslynne@gmail.com> for
initial version and Jeff Davis <pgsql@j-davis.com> for inspection
2006-09-14 11:16:27 +00:00
Tom Lane f8fe328c24 Some small editorialization on the description of CREATE INDEX
CONCURRENTLY.  Greg Stark, some further tweaks by me.
2006-09-13 23:42:26 +00:00
Bruce Momjian 500da222f1 Add David Fetter:
> * David is David Fetter <david@fetter.org>
2006-09-12 21:02:43 +00:00
Bruce Momjian a80b1b4bfc Add items:
< * Research storing disk pages with no alignment/padding
> * Consider ways of storing rows more compactly on disk
>
> 	o Store disk pages with no alignment/padding?
> 	o Reorder physical storage order to reduce padding?
> 	o Support a smaller header for short variable-length fields?
> 	o Reduce the row header size?
2006-09-10 22:20:01 +00:00
Tom Lane 17c371fe82 Remove unhelpful/misleading advice about how to use SPI_saveplan().
Per gripe from Jack Orenstein.
2006-09-10 20:56:42 +00:00
Tom Lane 69b7c99265 Add missing documentation for new anyarray-overlap operator. 2006-09-10 19:03:57 +00:00
Tom Lane 684ad6a92f Rename contrib contains/contained-by operators to @> and <@, per discussion. 2006-09-10 17:36:52 +00:00
Tom Lane ba920e1c91 Rename contains/contained-by operators to @> and <@, per discussion that
agreed these symbols are less easily confused.  I made new pg_operator
entries (with new OIDs) for the old names, so as to provide backward
compatibility while making it pretty easy to remove the old names in
some future release cycle.  This commit only touches the core datatypes,
contrib will be fixed separately.
2006-09-10 00:29:35 +00:00
Tom Lane 9cea5a82f8 Remove reference to contrib/mac, which isn't there anymore. 2006-09-09 18:45:37 +00:00
Tom Lane b59d31c215 Tweak the behavior of log_duration as proposed by Guillaume Smet: rather
than being equivalent to setting log_min_duration_statement to zero, this
option now forces logging of all query durations, but doesn't force logging
of query text.  Also, add duration logging coverage for fastpath function
calls.
2006-09-08 15:55:53 +00:00
Tom Lane 893632be4e Clean up logging for extended-query-protocol operations, as per my recent
proposal.  Parameter logging works even for binary-format parameters, and
logging overhead is avoided when disabled.

log_statement = all output for the src/test/examples/testlibpq3.c example
now looks like

LOG:  statement: execute <unnamed>: SELECT * FROM test1 WHERE t = $1
DETAIL:  parameters: $1 = 'joe''s place'
LOG:  statement: execute <unnamed>: SELECT * FROM test1 WHERE i = $1::int4
DETAIL:  parameters: $1 = '2'

and log_min_duration_statement = 0 results in

LOG:  duration: 2.431 ms  parse <unnamed>: SELECT * FROM test1 WHERE t = $1
LOG:  duration: 2.335 ms  bind <unnamed> to <unnamed>: SELECT * FROM test1 WHERE t = $1
DETAIL:  parameters: $1 = 'joe''s place'
LOG:  duration: 0.394 ms  execute <unnamed>: SELECT * FROM test1 WHERE t = $1
DETAIL:  parameters: $1 = 'joe''s place'
LOG:  duration: 1.251 ms  parse <unnamed>: SELECT * FROM test1 WHERE i = $1::int4
LOG:  duration: 0.566 ms  bind <unnamed> to <unnamed>: SELECT * FROM test1 WHERE i = $1::int4
DETAIL:  parameters: $1 = '2'
LOG:  duration: 0.173 ms  execute <unnamed>: SELECT * FROM test1 WHERE i = $1::int4
DETAIL:  parameters: $1 = '2'

(This example demonstrates the folly of ignoring parse/bind steps for duration
logging purposes, BTW.)

Along the way, create a less ad-hoc mechanism for determining which commands
are logged by log_statement = mod and log_statement = ddl.  The former coding
was actually missing quite a few things that look like ddl to me, and it
did not handle EXECUTE or extended query protocol correctly at all.

This commit does not do anything about the question of whether log_duration
should be removed or made less redundant with log_min_duration_statement.
2006-09-07 22:52:01 +00:00
Bruce Momjian ca6a4ff82b HTLM cleanup. 2006-09-07 00:12:20 +00:00
Bruce Momjian 8dc8f44f58 Update Emacs/vim editor info. 2006-09-07 00:10:46 +00:00
Bruce Momjian c84db61c08 Update emacs info for FAQ_DEV.
Andrew Dunstan
2006-09-07 00:08:43 +00:00
Bruce Momjian a8db61f8ef Add XML documentation. 2006-09-07 00:04:48 +00:00
Bruce Momjian d511134776 Update tools directory name. 2006-09-06 22:03:22 +00:00
Tom Lane 5983a1aaa9 Change processing of extended-Query mode so that an unnamed statement
that has parameters is always planned afresh for each Bind command,
treating the parameter values as constants in the planner.  This removes
the performance penalty formerly often paid for using out-of-line
parameters --- with this definition, the planner can do constant folding,
LIKE optimization, etc.  After a suggestion by Andrew@supernews.
2006-09-06 20:40:48 +00:00
Tom Lane 7bae5a289c Get rid of the separate RULE privilege for tables: now only a table's owner
can create or modify rules for the table.  Do setRuleCheckAsUser() while
loading rules into the relcache, rather than when defining a rule.  This
ensures that permission checks for tables referenced in a rule are done with
respect to the current owner of the rule's table, whereas formerly ALTER TABLE
OWNER would fail to update the permission checking for associated rules.
Removal of separate RULE privilege is needed to prevent various scenarios
in which a grantee of RULE privilege could effectively have any privilege
of the table owner.  For backwards compatibility, GRANT/REVOKE RULE is still
accepted, but it doesn't do anything.  Per discussion here:
http://archives.postgresql.org/pgsql-hackers/2006-04/msg01138.php
2006-09-05 21:08:36 +00:00
Bruce Momjian 10964008c9 Remove GIN documentation
Christopher Kings-Lynne
2006-09-05 03:09:56 +00:00
Bruce Momjian 548e2c0a01 Update Japanese FAQ.
Jun Kuwamura
2006-09-05 00:13:41 +00:00
Bruce Momjian 7d03215f31 Update setseed() documentation. 2006-09-04 21:47:25 +00:00
Bruce Momjian 3bc7ededac Update LDAP installation wording.
Albe Laurenz
2006-09-04 21:43:18 +00:00
Bruce Momjian 19dd2fbf7e Add GIN documentation.
Christopher Kings-Lynne
2006-09-04 20:10:53 +00:00
Bruce Momjian a65f7db3b5 Mention paremeterized queries do not work with partial indexes.
Simon Riggs
2006-09-04 19:58:02 +00:00
Tom Lane 091fe03775 Code review for UPDATE SET (columnlist) patch. Make it handle as much
of the syntax as this fundamentally dead-end approach can, in particular
combinations of single and multi column assignments.  Improve rather
inadequate documentation and provide some regression tests.
2006-09-03 22:37:06 +00:00
Tom Lane 676d1b4e67 Remove duplicated index entry. 2006-09-03 22:23:58 +00:00
Tom Lane 4ae15f29f7 Fix broken markup. 2006-09-03 22:15:32 +00:00
Tom Lane 7781916ab5 Fix non-improvement of description of archive_timeout. archive_command
is only invoked on completed WAL segments, period --- there's no 'by
default' about it.
2006-09-03 19:06:15 +00:00
Bruce Momjian f79f57a0af Remove:
< * Change LIMIT/OFFSET and FETCH/MOVE to use int8
2006-09-03 13:37:38 +00:00
Bruce Momjian 5120f88c88 Reverted:
< * -Change LIMIT/OFFSET and FETCH/MOVE to use int8
> * Change LIMIT/OFFSET and FETCH/MOVE to use int8
2006-09-03 03:26:42 +00:00
Bruce Momjian d387a07050 Update predicate locking text. 2006-09-03 01:59:09 +00:00
Bruce Momjian 18f2e0351a Add:
> * Simplify ability to create partitioned tables
>
>   This would allow creation of partitioned tables without requiring
>   creation of rules for INSERT/UPDATE/DELETE, and constraints for
>   rapid partition selection.  Options could include range and hash
>   partition selection.
>
> * Allow auto-selection of partitioned tables for min/max() operations
2006-09-02 23:47:39 +00:00
Bruce Momjian e0938c3f5b Make autovacuum behavior more agressive, per discussion on hackers list
--- was part of autovacuum default 'on' patch that was reverted, but we
want this part.

Peter Eisentraut
2006-09-02 23:12:16 +00:00
Bruce Momjian 1a84952670 Change "superuser_reserved_connections" default to 3, because of
possible autovacuum use.
2006-09-02 23:04:20 +00:00
Bruce Momjian 1f57aac024 Add URL for autovacuum default:
>
> 	  http://archives.postgresql.org/pgsql-hackers/2006-08/msg01852.php
2006-09-02 22:59:00 +00:00
Bruce Momjian 4b636e35a5 Wording improvements for archive_timeout. 2006-09-02 21:11:26 +00:00
Bruce Momjian 6e8596a146 Add UPDATE tab SET ROW (col, ...) = (val, ...) for updating
multiple columns

Susanne Ebrecht
2006-09-02 20:34:47 +00:00
Bruce Momjian 9e522d0816 Update:
< Last updated:		Sat Sep  2 08:31:04 EDT 2006
> Last updated:		Sat Sep  2 16:31:46 EDT 2006
< 	o Allow UPDATE tab SET ROW (col, ...) = (...) for updating multiple
< 	  columns
> 	o -Allow UPDATE tab SET ROW (col, ...) = (val, ...) for updating
> 	  multiple columns
> 	o Allow UPDATE tab SET ROW (col, ...) = (SELECT...)
<           A subselect can also be used as the value source.
2006-09-02 20:31:50 +00:00
Tom Lane 917bbebf7f Apply a simple solution to the problem of making INSERT/UPDATE/DELETE
RETURNING play nice with views/rules.  To wit, have the rule rewriter
rewrite any RETURNING clause found in a rule to produce what the rule's
triggering query asked for in its RETURNING clause, in particular drop
the RETURNING clause if no RETURNING in the triggering query.  This
leaves the responsibility for knowing how to produce the view's output
columns on the rule author, without requiring any fundamental changes
in rule semantics such as adding new rule event types would do.  The
initial implementation constrains things to ensure that there is
exactly one, unconditionally invoked RETURNING clause among the rules
for an event --- later we might be able to relax that, but for a post
feature freeze fix it seems better to minimize how much invention we do.
Per gripe from Jaime Casanova.
2006-09-02 17:06:52 +00:00
Bruce Momjian 04912899e7 Add new variable "server_version_num", which is almost the same as
"server_version" but uses the handy PG_VERSION_NUM which allows apps to
do things like if ($version >= 80200) without having to parse apart the
value of server_version themselves.

Greg Sabino Mullane greg@turnstep.com
2006-09-02 13:12:50 +00:00
Bruce Momjian bb7be1ee10 Update wording:
< 		o -Allow PL/python to composite types and result sets
> 		o -Allow PL/python to return composite types and result sets
2006-09-02 12:31:10 +00:00
Bruce Momjian 819f22a302 Allow PL/python to return composite types and result sets
Sven Suursoho
2006-09-02 12:30:01 +00:00
Bruce Momjian b1620c538d Done:
o -Allow PL/python to composite types and result sets
2006-09-02 12:29:18 +00:00
Bruce Momjian 5bb9c25904 Done:
< Last updated:		Tue Aug 29 12:21:52 EDT 2006
> Last updated:		Wed Aug 30 20:34:28 EDT 2006
< 	o Allow COPY (SELECT ...) TO 'filename'
<
< 	  COPY should also be able to output views using COPY (SELECT
< 	  * FROM view) TO 'filename' internally.
< 	  http://archives.postgresql.org/pgsql-patches/2005-09/msg00148.php
> 	o -Allow COPY (SELECT ...) TO 'filename'
2006-08-31 00:34:34 +00:00
Tom Lane 85188ab883 Extend COPY to support COPY (SELECT ...) TO ...
Bernd Helmle
2006-08-30 23:34:22 +00:00
Tom Lane c2f60711d2 Create a FETCH_COUNT parameter that causes psql to execute SELECT-like
queries via a cursor, fetching a limited number of rows at a time and
therefore not risking exhausting memory.  A disadvantage of the scheme
is that 'aligned' output mode will align each group of rows independently
leading to odd-looking output, but all the other output formats work
reasonably well.  Chris Mair, with some additional hacking by moi.
2006-08-29 22:25:08 +00:00
Bruce Momjian 5f6f70a04f Add autovacuum item:
> 	o Turn on by default
2006-08-29 16:22:03 +00:00
Peter Eisentraut ba9f9bf1b1 Revert change to turn autovacuum on by default. 2006-08-29 11:37:47 +00:00
Bruce Momjian bc24d5b976 Now bind displays prepare as detail, and execute displays prepare and
optionally bind.  I re-added the "statement:" label so people will
understand why the line is being printed (it is log_*statement
behavior).

Use single quotes for bind values, instead of double quotes, and double
literal single quotes in bind values (and document that).  I also made
use of the DETAIL line to have much cleaner output.
2006-08-29 02:11:30 +00:00
Bruce Momjian 216bb6662a Add URL:
> 	  http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html
>
2006-08-28 23:22:57 +00:00
Bruce Momjian 22bb6929cd Move to referential integrity section:
> 	o Allow DEFERRABLE and end-of-statement UNIQUE constraints?
>
> 	  This would allow UPDATE tab SET col = col + 1 to work if col has
> 	  a unique index.  Currently, uniqueness checks are done while the
> 	  command is being executed, rather than at the end of the statement
> 	  or transaction.
>
<
< * Allow DEFERRABLE and end-of-statement UNIQUE constraints?
<
<   This would allow UPDATE tab SET col = col + 1 to work if col has
<   a unique index.  Currently, uniqueness checks are done while the
<   command is being executed, rather than at the end of the statement
<   or transaction.
2006-08-28 23:21:46 +00:00
Bruce Momjian 79222272bb Update:
< * Allow DEFERRABLE UNIQUE constraints?
> * Allow DEFERRABLE and end-of-statement UNIQUE constraints?
>
>   This would allow UPDATE tab SET col = col + 1 to work if col has
>   a unique index.  Currently, uniqueness checks are done while the
>   command is being executed, rather than at the end of the statement
>   or transaction.
>
2006-08-28 23:20:35 +00:00
Peter Eisentraut 88b8110443 Turn autovacuum on by default. (stats_row_level is also on by default.)
Threshold and scale factor are cut in half for more aggressive behavior.
2006-08-28 13:37:18 +00:00
Tom Lane ea2e263539 Add new return codes SPI_OK_INSERT_RETURNING etc to the SPI API.
Fix all the standard PLs to be able to return tuples from FOO_RETURNING
statements as well as utility statements that return tuples.  Also,
fix oversight that SPI_processed wasn't set for a utility statement
returning tuples.  Per recent discussion.
2006-08-27 23:47:58 +00:00
Bruce Momjian 29a517eac9 Add blank line.> 2006-08-25 23:44:04 +00:00
Bruce Momjian 9579acbe8b Add:
<
> * Implement SQL:2003 window functions
2006-08-25 23:43:46 +00:00
Tom Lane e093dcdd28 Add the ability to create indexes 'concurrently', that is, without
blocking concurrent writes to the table.  Greg Stark, with a little help
from Tom Lane.
2006-08-25 04:06:58 +00:00
Bruce Momjian 726ede7370 Add:
> * Allow inlining of set-returning functions
2006-08-24 16:38:13 +00:00
Bruce Momjian 7ad642d0b5 Add "AS" item:
< * All backends running as threads in a single process (not want)
> * All backends running as threads in a single process (not wanted)
< * Optimizer hints (not want)
> * Optimizer hints (not wanted)
>
> * Allow AS in "SELECT col AS label" to be optional (not wanted)
>
>   Because we support postfix operators, it isn't possible to make AS
>   optional and continue to use bison.
>   http://archives.postgresql.org/pgsql-sql/2006-08/msg00164.php
2006-08-23 18:32:02 +00:00
Bruce Momjian efdec1ac1b Update COPY/VIEW item:
< 	o Allow COPY to output from SELECT
> 	o Allow COPY (SELECT ...) TO 'filename'
< 	  COPY should also be able to output views.
> 	  COPY should also be able to output views using COPY (SELECT
> 	  * FROM view) TO 'filename' internally.
2006-08-23 02:48:12 +00:00
Bruce Momjian 77f2c78ea6 Add info for get_* functions:
>
>   These would be for application use, not for use by pg_dump.
>
2006-08-22 03:40:39 +00:00
Bruce Momjian 04b84f5a93 Generalize width_bucket() documentation because b1/b2 can be
interchanged.
2006-08-22 00:49:19 +00:00
Bruce Momjian f5caa1e9ec Add space between Win2000 and SP4. 2006-08-22 00:45:34 +00:00
Tom Lane 5405576a22 Fix encrypted-LDAP support so that it doesn't cause the server to fail
entirely on older Windows platforms without the needed library function.
Magnus Hagander
2006-08-21 19:21:38 +00:00
Tom Lane 548237fc84 Remove obsolete tip about casting bool to int, per Taiki Yamaguchi. 2006-08-21 16:23:46 +00:00
Tom Lane 35af5422f6 Make the server track an 'XID epoch', that is, maintain higher-order bits
of the transaction ID counter.  Nothing is done with the epoch except to
store it in checkpoint records, but this provides a foundation with which
add-on code can pretend that XIDs never wrap around.  This is a severely
trimmed and rewritten version of the xxid patch submitted by Marko Kreen.
Per discussion, the epoch counter seems the only part of xxid that really
needs to be in the core server.
2006-08-21 16:16:31 +00:00
Bruce Momjian 1054c38069 Done:
< 	o Add a function to support Parse/DescribeStatement capability
> 	o -Add a function to support Parse/DescribeStatement capability
2006-08-21 12:50:29 +00:00
Bruce Momjian fe5d213378 Remove items, not needed anymore:
< * %Disallow changing DEFAULT expression of a SERIAL column?
<
<   This should be done only if the existing SERIAL problems cannot be
<   fixed.
<
< * %Disallow ALTER SEQUENCE changes for SERIAL sequences because pg_dump
<   does not dump the changes
2006-08-21 12:20:26 +00:00
Tom Lane 2b2a50722c Fix all known problems with pg_dump's handling of serial sequences
by abandoning the idea that it should say SERIAL in the dump.  Instead,
dump serial sequences and column defaults just like regular ones.
Add a new backend command ALTER SEQUENCE OWNED BY to let pg_dump recreate
the sequence-to-column dependency that was formerly created "behind the
scenes" by SERIAL.  This restores SERIAL to being truly "just a macro"
consisting of component operations that can be stated explicitly in SQL.
Furthermore, the new command allows sequence ownership to be reassigned,
so that old mistakes can be cleaned up.

Also, downgrade the OWNED-BY dependency from INTERNAL to AUTO, since there
is no longer any very compelling argument why the sequence couldn't be
dropped while keeping the column.  (This forces initdb, to be sure the
right kinds of dependencies are in there.)

Along the way, add checks to prevent ALTER OWNER or SET SCHEMA on an
owned sequence; you can now only do this indirectly by changing the
owning table's owner or schema.  This is an oversight in previous
releases, but probably not worth back-patching.
2006-08-21 00:57:26 +00:00
Tom Lane 9bf760f7de Add a 'waiting' column to pg_stat_activity to carry the same information
that ps_status provides by appending 'waiting' to the PS display.  This
completes the project of making it feasible to turn off process title
updates and instead rely on pg_stat_activity.  Per my suggestion a few
weeks ago.
2006-08-19 01:36:34 +00:00
Tom Lane 9a8920e1d7 Add PQdescribePrepared, PQdescribePortal, and related functions to libpq
to allow obtaining information about previously prepared statements and
open cursors.  Volkan Yazici
2006-08-18 19:52:39 +00:00
Bruce Momjian 121dd1cdf5 Add space before SP4. 2006-08-18 16:27:40 +00:00
Bruce Momjian 4c2aad4b26 Update Win2000SP4 mention. 2006-08-18 16:26:59 +00:00
Bruce Momjian 45436a403f Mention only Windows 2000SP4 works. 2006-08-18 15:51:28 +00:00
Tom Lane e8ea9e9587 Implement archive_timeout feature to force xlog file switches to occur no more
than N seconds apart.  This allows a simple, if not very high performance,
means of guaranteeing that a PITR archive is no more than N seconds behind
real time.  Also make pg_current_xlog_location return the WAL Write pointer,
add pg_current_xlog_insert_location to return the Insert pointer, and fix
pg_xlogfile_name_offset to return its results as a two-element record instead
of a smashed-together string, as per recent discussion.

Simon Riggs
2006-08-17 23:04:10 +00:00
Peter Eisentraut bb764e94ce Produce a clean failure in configure when dtrace is selected but cannot be
found.  Besides stopping those early who have no dtrace installed
whatsoever, this will also alert those who have dtrace in /usr/sbin, which
might not be in the path, which would produce confusing failures much later
in the build process.

Add documentation about pointing configure to find dtrace.
2006-08-17 17:25:43 +00:00
Bruce Momjian 4e1bdcaabf Add:
< * Add support for arrays of domains
> 	o Add support for arrays of domains
> 	o Add support for arrays of complex types
2006-08-17 06:48:38 +00:00
Bruce Momjian 565de20ff7 Add:
> * Support a data type with specific enumerated values (ENUM)
>
>   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00979.php
2006-08-17 06:45:12 +00:00
Bruce Momjian 6a5a241ee6 Add:
> * Add support for arrays of domains
2006-08-16 14:59:26 +00:00
Tom Lane abc3120e9b Add server support for "plugin" libraries that can be used for add-on tasks
such as debugging and performance measurement.  This consists of two features:
a table of "rendezvous variables" that allows separately-loaded shared
libraries to communicate, and a new GUC setting "local_preload_libraries"
that allows libraries to be loaded into specific sessions without explicit
cooperation from the client application.  To make local_preload_libraries
as flexible as possible, we do not restrict its use to superusers; instead,
it is restricted to load only libraries stored in $libdir/plugins/.  The
existing LOAD command has also been modified to allow non-superusers to
LOAD libraries stored in this directory.

This patch also renames the existing GUC variable preload_libraries to
shared_preload_libraries (after a suggestion by Simon Riggs) and does some
code refactoring in dfmgr.c to improve clarity.

Korry Douglas, with a little help from Tom Lane.
2006-08-15 18:26:59 +00:00
Tom Lane 3d1e01caa4 Support INSERT/UPDATE/DELETE RETURNING in plpgsql, with rowcount checking
as per yesterday's proposal.  Also make things a tad more orthogonal by
adding the recent STRICT addition to EXECUTE INTO.
Jonah Harris and Tom Lane
2006-08-14 21:14:42 +00:00
Tom Lane 3f8db37c2f Tweak SPI_cursor_open to allow INSERT/UPDATE/DELETE RETURNING; this was
merely a matter of fixing the error check, since the underlying Portal
infrastructure already handles it.  This in turn allows these statements
to be used in some existing plpgsql and plperl contexts, such as a
plpgsql FOR loop.  Also, do some marginal code cleanup in places that
were being sloppy about distinguishing SELECT from SELECT INTO.
2006-08-12 20:05:56 +00:00
Bruce Momjian 510aad39d0 Done:
< 	o Allow INSERT/UPDATE ... RETURNING new.col or old.col
<
< 	  This is useful for returning the auto-generated key for an INSERT.
< 	  One complication is how to handle rules that run as part of
< 	  the insert.
< 	  http://archives.postgresql.org/pgsql-patches/2005-07/msg00568.php
> 	o -Allow INSERT/UPDATE ... RETURNING new.col or old.col
2006-08-12 03:50:27 +00:00
Bruce Momjian aeb056f610 Fix wording, per Neil. 2006-08-12 03:48:32 +00:00
Tom Lane 7a3e30e608 Add INSERT/UPDATE/DELETE RETURNING, with basic docs and regression tests.
plpgsql support to come later.  Along the way, convert execMain's
SELECT INTO support into a DestReceiver, in order to eliminate some ugly
special cases.

Jonah Harris and Tom Lane
2006-08-12 02:52:06 +00:00
Bruce Momjian 99c2b8b8e3 Done:
< 	o %Allow commenting of variables in postgresql.conf to restore them
> 	o -Allow commenting of variables in postgresql.conf to restore them
2006-08-11 20:17:26 +00:00
Bruce Momjian 12e4660574 Revert undesired FAQ_DEV change. 2006-08-11 20:16:50 +00:00
Bruce Momjian c07fbcf577 plperl:
Allow conversion from perl to postgresql array in OUT parameters. Second,
allow hash form output from procedures with one OUT argument.

Pavel Stehule
2006-08-11 19:42:35 +00:00
Bruce Momjian 6932048b9b Add Neil's presentation to FAQ_DEV. 2006-08-11 19:18:59 +00:00
Bruce Momjian 0d5877ab0c Update for company URL.
Ian Barwick
2006-08-11 18:47:57 +00:00
Bruce Momjian 3638eff501 Add URLs
< * Allow encoding on a per-column basis
> * Allow encoding on a per-column basis optionally using the ICU library:
>   http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
>   http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
2006-08-11 15:53:39 +00:00
Bruce Momjian 64214a2f01 Add URL for typmod:
>   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php
2006-08-09 18:10:34 +00:00
Bruce Momjian b1d78fc9c7 Add URL:
> 	  http://archives.postgresql.org/pgsql-performance/2004-08/msg00349.php
2006-08-09 16:42:19 +00:00
Bruce Momjian c7fa4aa3e7 Add TODO items we don't want (Idea from Josh Berkus)
>
>
> Features We Do _Not_ Want
> =========================
>
> * All backends running as threads in a single process (not want)
>
>   This eliminates the process protection we get from the current setup.
>   Thread creation is usually the same overhead as process creation on
>   modern systems, so it seems unwise to use a pure threaded model.
>
> * Optimizer hints (not want)
>
>   Optimizer hints are used to work around problems in the optimizer.  We
>   would rather have the problems reported and fixed.
>   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00506.php
2006-08-09 16:35:51 +00:00
Bruce Momjian 4f81337d9d Update packages:
< 		  A package would be a schema with public/private variables,
> 		  A package would be a schema with session-local variables,
> 		  http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
2006-08-09 14:55:39 +00:00
Bruce Momjian baefb735ff Update packages description:
< 		  A package would be a schema with its own variables,
< 		  private functions, and initialization functions.  It
> 		  A package would be a schema with public/private variables,
> 		  public/private functions, and initialization functions.  It
2006-08-09 02:48:10 +00:00
Bruce Momjian bed7d5f635 Update packages:
< 		  private functions, and initialization functions
> 		  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.
2006-08-08 22:51:37 +00:00
Bruce Momjian 7f139b813c Update:
< 	o COPY FROM STDIN not implemented because not useful?
> 	o Implement COPY FROM STDIN
2006-08-08 22:39:09 +00:00
Tom Lane b09bfcaa57 Add a feature for automatic initialization and finalization of dynamically
loaded libraries: call functions _PG_init() and _PG_fini() if the library
defines such symbols.  Hence we no longer need to specify an initialization
function in preload_libraries: we can assume that the library used the
_PG_init() convention, instead.  This removes one source of pilot error
in use of preloaded libraries.  Original patch by Ralf Engelschall,
preload_libraries changes by me.
2006-08-08 19:15:09 +00:00
Bruce Momjian e00664da48 Reverse order of performance guides so powerpostgresql is first. 2006-08-08 19:05:24 +00:00
Bruce Momjian cbf0468d66 Add detail on packages:
>
> 		  A package would be a schema with its own variables,
> 		  private functions, and initialization functions
>
2006-08-08 19:03:59 +00:00
Bruce Momjian 46d759cfff Add package item:
< 		o Add Oracle-style packages
> 		o Add Oracle-style packages  (Pavel)
> * Pavel is Pavel Stehule <pavel.stehule@hotmail.com>
2006-08-08 19:02:13 +00:00
Bruce Momjian 2392cdb795 Done:
< 	  o Automatically force archiving of partially-filled WAL files when
> 	  o -Automatically force archiving of partially-filled WAL files when
<
< 	    Doing this will allow administrators to know more easily when
< 	    the archive contains all the files needed for point-in-time
< 	    recovery.
< 	    http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php
<
< 	  o Add reporting of the current WAL file and offset, perhaps as
> 	  o -Add reporting of the current WAL file and offset, perhaps as
<
< 	    The offset allows parts of a WAL file to be archived using
< 	    an external program.
<
2006-08-08 17:40:02 +00:00
Michael Meskes 75b5630726 Clarified COPY FROM STDIN in ecpg todo 2006-08-08 11:52:51 +00:00
Bruce Momjian d42cb5d880 Done:
< * Allow protocol-level BIND parameter values to be logged
<
<   http://archives.postgresql.org/pgsql-hackers/2006-02/msg00165.php
> * -Allow protocol-level BIND parameter values to be logged, if text mode
2006-08-08 01:24:36 +00:00
Bruce Momjian 3716f90c39 For protocol-level prepare/bind/execute:
o  print user name for all
	o  print portal name if defined for all
	o  print query for all
	o  reduce log_statement header to single keyword
	o  print bind parameters as DETAIL if text mode
2006-08-08 01:23:15 +00:00
Tom Lane 704ddaaa09 Add support for forcing a switch to a new xlog file; cause such a switch
to happen automatically during pg_stop_backup().  Add some functions for
interrogating the current xlog insertion point and for easily extracting
WAL filenames from the hex WAL locations displayed by pg_stop_backup
and friends.  Simon Riggs with some editorialization by Tom Lane.
2006-08-06 03:53:44 +00:00
Bruce Momjian a83437fcfd Slight wording improvement in documentation. 2006-08-04 04:07:38 +00:00
Bruce Momjian 49954b4526 Add URL for terminate backend test:
>   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php
2006-08-04 01:24:49 +00:00
Tom Lane 7946f77220 Cause ALTER TABLE to perform ALTER COLUMN DROP DEFAULT operations during
the DROP pass rather than the ADD_CONSTR pass.  On examining the code I
think this was just an oversight rather than intentional, and it seems
to satisfy the principle of least surprise better than the alternative
solution that was discussed.  Add an example to the ref page showing how
to do ALTER TYPE and update the default in one command.  Per gripe from
Markus Bertheau that that wasn't possible.
2006-08-03 20:57:06 +00:00
Tom Lane 9649b182a1 Fix documentation error: GRANT/REVOKE for roles only accept role names
as grantees, not PUBLIC ... and you can't say GROUP either.  Noted by
Brian Hurt.
2006-08-02 16:29:49 +00:00
Bruce Momjian 97eefd6996 Update:
< 	o Add COPY TO STDIN / STDOUT handling
> 	o Add COPY TO STDIN handling
2006-08-02 13:36:45 +00:00
Bruce Momjian f05fc17cf4 Add:
> 	o In rules, allow VALUES() to contain a mixture of 'old' and 'new'
> 	  references
2006-08-02 13:29:54 +00:00
Bruce Momjian b5a5524342 Done:
o -Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
2006-08-02 03:11:54 +00:00
Alvaro Herrera 5f69890e15 Editorialize a bit on the recent patch, reverting to the original versions
of the text where appropiate.
2006-08-01 19:17:18 +00:00
Bruce Momjian c61607bd52 Add pg_dump -X no-data-for-failed-tables option to suppress loading data
if table creation failed (the table already exists).

Martin Pitt
2006-08-01 18:21:44 +00:00
Bruce Momjian 6d0f5ea574 Done:
< 	o %Allow pg_dump to use multiple -t and -n switches  [pg_dump]
<
< 	  http://archives.postgresql.org/pgsql-patches/2006-01/msg00190.php
<
> 	o -Allow pg_dump to use multiple -t and -n switches, exclusion
> 	   ability, and regular expression object matching
2006-08-01 18:07:36 +00:00
Bruce Momjian aa88497a3a Remove TODO.detail/pg_dump. 2006-08-01 18:06:27 +00:00
Bruce Momjian 8977b68a42 Allow multiple -n (schema) and -t (table) pg_dump options, and add -T
and -N options to exclude objects.  Also support regular expressions for
option object names.

Greg Sabino Mullane
2006-08-01 18:05:04 +00:00
Bruce Momjian 8d5f3c8d89 Improvements to Maintenance and External Projects documentation.
Joshua D. Drake
Robert Treat
2006-08-01 00:09:06 +00:00
Bruce Momjian ffb62be07a Add:
> * Consider compressed annealing to search for query plans
>
>   This might replace GEQO, http://sixdemonbag.org/Djinni.
2006-07-31 23:04:13 +00:00
Tom Lane 09d3670df3 Change the relation_open protocol so that we obtain lock on a relation
(table or index) before trying to open its relcache entry.  This fixes
race conditions in which someone else commits a change to the relation's
catalog entries while we are in process of doing relcache load.  Problems
of that ilk have been reported sporadically for years, but it was not
really practical to fix until recently --- for instance, the recent
addition of WAL-log support for in-place updates helped.

Along the way, remove pg_am.amconcurrent: all AMs are now expected to support
concurrent update.
2006-07-31 20:09:10 +00:00
Tom Lane 6e38e34d64 Change the bootstrap sequence so that toast tables for system catalogs are
created in the bootstrap phase proper, rather than added after-the-fact
by initdb.  This is cleaner than before because it allows us to retire the
undocumented ALTER TABLE ... CREATE TOAST TABLE command, but the real reason
I'm doing it is so that toast tables of shared catalogs will now have
predetermined OIDs.  This will allow a reasonably clean solution to the
problem of locking tables before we load their relcache entries, to appear
in a forthcoming patch.
2006-07-31 01:16:38 +00:00
Alvaro Herrera 638860ce35 Fix confusion between COPY FROM and COPY TO, per Gavin Sharry and Arul Shaji. 2006-07-31 01:10:56 +00:00
Bruce Momjian d6603791ea Add:
> * Consider detoasting keys before sorting
2006-07-30 01:48:40 +00:00
Bruce Momjian 6dd2b7728b Add entry:
> * Add column to pg_stat_activity that shows the progress of long-running
>   commands like CREATE INDEX and VACUUM
2006-07-29 18:08:36 +00:00
Bruce Momjian d06f44a811 Add:
> * Add support for SQL-standard GENERATED/IDENTITY columns
>
>   http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php
2006-07-29 15:56:32 +00:00
Bruce Momjian 51175d1d00 Remove update TODO.detail item. 2006-07-28 19:28:08 +00:00
Bruce Momjian e1992ebaf2 Updates per Tom:
> * Allow DISTINCT to work in multiple-argument aggregate calls
< 	o Allow UPDATE to handle complex aggregates [update]?
2006-07-28 19:00:45 +00:00
Tom Lane 1249cf8f38 SQL2003-standard statistical aggregates, by Sergey Koposov. I've added only
the float8 versions of the aggregates, which is all that the standard requires.
Sergey's original patch also provided versions using numeric arithmetic,
but given the size and slowness of the code, I doubt we ought to include
those in core.
2006-07-28 18:33:04 +00:00
Tom Lane 0fd087af83 Fix table title. 2006-07-28 16:21:57 +00:00
Tom Lane b8cd6b4f25 Make it clearer that not every Postgres character set can be used as a
server-side character set.
2006-07-28 15:33:17 +00:00
Bruce Momjian 4917564f1b Update Tatsuo:
< * Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp> of Software Research Assoc.
> * Tatsuo is Tatsuo Ishii <ishii@sraoss.co.jp> of SRA OSS, Inc. Japan
2006-07-28 12:24:07 +00:00
Bruce Momjian 67cdc61369 Add URL for UPDATE/SET for multiple values. 2006-07-27 22:05:49 +00:00
Bruce Momjian 8de82ede51 Add for UPDATE SET for multiple values:
>
>           A subselect can also be used as the value source.
2006-07-27 22:01:34 +00:00
Tom Lane 108fe47301 Aggregate functions now support multiple input arguments. I also took
the opportunity to treat COUNT(*) as a zero-argument aggregate instead
of the old hack that equated it to COUNT(1); this is materially cleaner
(no more weird ANYOID cases) and ought to be at least a tiny bit faster.
Original patch by Sergey Koposov; review, documentation, simple regression
tests, pg_dump and psql support by moi.
2006-07-27 19:52:07 +00:00
Bruce Momjian 43c79378c8 Allow LDAP lookups from pg_service.conf.
Albe Laurenz
2006-07-27 13:20:24 +00:00
Peter Eisentraut b517e65348 Allow units to be specified with configuration settings. 2006-07-27 08:30:41 +00:00
Bruce Momjian 5ffa0bb47a Reorder items:
< 	  o Allow point-in-time recovery to archive partially filled
< 	    write-ahead logs? [pitr]
> 	  o Add command to archive partially filled write-ahead logs? [pitr]
< 	    of a disk failure. This could be triggered by a user command or
< 	    a timer.
> 	    of a disk failure.
< 	    recovery.  A function call to do this would also be useful.
> 	    recovery.
> 	  o Add reporting of the current WAL file and offset, perhaps as
> 	    part of partial log file archiving
>
> 	    The offset allows parts of a WAL file to be archived using
> 	    an external program.
>
< 	  o Add reporting of the current WAL file and offset, perhaps as
< 	    part of partial log file archiving
<
< 	    The offset allows parts of a WAL file to be archived using
< 	    an external program.
2006-07-26 17:23:02 +00:00
Peter Eisentraut 79bc99a467 Convert effective_cache_size to an integer, for better integration with
upcoming units feature.
2006-07-26 11:35:56 +00:00
Bruce Momjian 88b39634cd Done:
> * -Change LIMIT/OFFSET and FETCH/MOVE to use int8
2006-07-26 00:35:01 +00:00
Bruce Momjian edd49fcf69 Add reason for WAL offset reporting:
>
> 	    The offset allows parts of a WAL file to be archived using
> 	    an external program.
2006-07-25 16:23:42 +00:00
Bruce Momjian 8633a9cdff Add offset mention:
< 	  o Add reporting of the current WAL file, perhaps as part of
< 	    partial log file archiving
> 	  o Add reporting of the current WAL file and offset, perhaps as
> 	    part of partial log file archiving
2006-07-25 15:27:24 +00:00
Bruce Momjian cb6f5f1552 Update PITR:
< 	    write-ahead logs [pitr]
> 	    write-ahead logs? [pitr]
< 	    recovery.
> 	    recovery.  A function call to do this would also be useful.
2006-07-25 15:21:48 +00:00
Bruce Momjian a859695b7e Done:
> 	o -Allow customization of the known set of TZ names (generalize the
2006-07-25 04:11:24 +00:00
Tom Lane d8b5c95ca8 Remove hard-wired lists of timezone abbreviations in favor of providing
configuration files that can be altered by a DBA.  The australian_timezones
GUC setting disappears, replaced by a timezone_abbreviations setting (set this
to 'Australia' to get the effect of australian_timezones).  The list of zone
names defined by default has undergone a bit of cleanup, too.  Documentation
still needs some work --- in particular, should we fix Table B-4, or just get
rid of it?  Joachim Wieland, with some editorializing by moi.
2006-07-25 03:51:23 +00:00
Peter Eisentraut e9b4969062 DTrace support, with a small initial set of probes
by Robert Lor
2006-07-24 16:32:45 +00:00
Bruce Momjian 9652b79ae4 Update documentation on GRANT SCEMA USAGE, again. 2006-07-20 18:00:03 +00:00
Bruce Momjian a8e44f0b1b Update GRANT USAGE on schema permission description. 2006-07-19 18:42:31 +00:00
Tom Lane 60cfe25e68 Adjust spawn_process() to avoid unnecessary overhead processes: we can
just exec instead of creating a subprocess.  This reduces process usage
from four processes per parallel test to two.  I have no idea whether
a comparable optimization is possible or useful in the Windows port.
2006-07-19 17:02:59 +00:00
Tom Lane a38c85bd5d Rewrite pg_regress as a C program instead of a shell script.
This allows it to be used on Windows without installing mingw
(though you do still need 'diff'), and opens the door to future
improvements such as message localization.
Magnus Hagander and Tom Lane.
2006-07-19 02:37:00 +00:00
Bruce Momjian c5fad5f35e Done:
o -Display IN, INOUT, and OUT parameters in \df
2006-07-18 18:20:51 +00:00
Neil Conway c1e59cc5d9 Minor documentation tweak: in the tables of functions and operators,
don't include a space between the function name and the parenthesis
that begins its parameter list, for consistency.
2006-07-16 23:59:58 +00:00
Neil Conway a10fc5f254 Minor doc tweak: replace a "--" with "&mdash;". 2006-07-14 00:13:05 +00:00
Neil Conway f2a8aa0f89 Reorder the entries in the function section of the manual, to ensure they
are alphabetically ordered. I believe the tables were correctly ordered in
the past, but some of them had subsequently regressed.
2006-07-13 23:59:47 +00:00
Bruce Momjian de7e81fff4 Update schema USAGE permission description. 2006-07-12 15:37:10 +00:00
Tom Lane d29b66882a Tweak fillfactor code as per my recent proposal. Fix nbtsort.c so that
it can handle small fillfactors for ordinary-sized index entries without
failing on large ones; fix nbtinsert.c to distinguish leaf and nonleaf
pages; change the minimum fillfactor to 10% for all index types.
2006-07-11 21:05:57 +00:00
Neil Conway 2fa7a041f3 Correct the description of the pg_get_viewdef() function. Do some nearby
SGML cleanup: sort table entries alphabetically.
2006-07-11 19:11:26 +00:00
Bruce Momjian 0031f99bfa Add URL of code presentation to developers FAQ. 2006-07-11 17:02:16 +00:00
Bruce Momjian f0cd764723 Add #include code to prevent multiple inclusion. 2006-07-10 21:03:58 +00:00
Bruce Momjian ec3efa244b Update schema GRANT USAGE description. 2006-07-10 16:48:46 +00:00
Alvaro Herrera d4cef0aa2a Improve vacuum code to track minimum Xids per table instead of per database.
To this end, add a couple of columns to pg_class, relminxid and relvacuumxid,
based on which we calculate the pg_database columns after each vacuum.

We now force all databases to be vacuumed, even template ones.  A backend
noticing too old a database (meaning pg_database.datminxid is in danger of
falling behind Xid wraparound) will signal the postmaster, which in turn will
start an autovacuum iteration to process the offending database.  In principle
this is only there to cope with frozen (non-connectable) databases without
forcing users to set them to connectable, but it could force regular user
database to go through a database-wide vacuum at any time.  Maybe we should
warn users about this somehow.  Of course the real solution will be to use
autovacuum all the time ;-)

There are some additional improvements we could have in this area: for example
the vacuum code could be smarter about not updating pg_database for each table
when called by autovacuum, and do it only once the whole autovacuum iteration
is done.

I updated the system catalogs documentation, but I didn't modify the
maintenance section.  Also having some regression tests for this would be nice
but it's not really a very straightforward thing to do.

Catalog version bumped due to system catalog changes.
2006-07-10 16:20:52 +00:00
Bruce Momjian a07849df96 Test commit. 2006-07-10 15:44:31 +00:00
Bruce Momjian a77275fe3b Please find attached two patches for documentation and regression tests
for the usage of full time zone names.

Joachim Wieland
2006-07-06 01:46:38 +00:00
Tom Lane 2d0c1d3102 Documentation fixes for FILLFACTOR patch. Minor other editorialization. 2006-07-04 18:07:24 +00:00
Bruce Momjian 655787bfaf Modify:
< 	o -Add PQescapeIdentifier()
> 	o Add PQescapeIdentifierConn()
2006-07-04 13:22:41 +00:00
Bruce Momjian 3fafac3f62 Remove libpq's PQescapeIdentifier(), not safe from injection attacks. 2006-07-04 13:22:15 +00:00
Tom Lane b7b78d24f7 Code review for FILLFACTOR patch. Change WITH grammar as per earlier
discussion (including making def_arg allow reserved words), add missed
opt_definition for UNIQUE case.  Put the reloptions support code in a less
random place (I chose to make a new file access/common/reloptions.c).
Eliminate header inclusion creep.  Make the index options functions safely
user-callable (seems like client apps might like to be able to test validity
of options before trying to make an index).  Reduce overhead for normal case
with no options by allowing rd_options to be NULL.  Fix some unmaintainably
klugy code, including getting rid of Natts_pg_class_fixed at long last.
Some stylistic cleanup too, and pay attention to keeping comments in sync
with code.

Documentation still needs work, though I did fix the omissions in
catalogs.sgml and indexam.sgml.
2006-07-03 22:45:41 +00:00
Tom Lane feed07350b Fix broken markup. 2006-07-03 16:43:14 +00:00
Bruce Momjian 277807bd9e Add FILLFACTOR to CREATE INDEX.
ITAGAKI Takahiro
2006-07-02 02:23:23 +00:00
Bruce Momjian 5d5c1416bf Done:
> * -Add fillfactor to control reserved free space during index creation
2006-07-02 02:22:39 +00:00
Bruce Momjian ff3003e537 Done:
< 	o Add ALTER TABLE tab ADD/DROP INHERITS parent
<
< 	  This allows tables to be added/removed from an inheritance
< 	  hierarchy.  This is particularly useful for table partitioning.
< 	  http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php
<
> 	o -Add ALTER TABLE tab INHERIT / NO INHERIT  parent
2006-07-02 01:59:46 +00:00
Bruce Momjian 8c092781f4 ALTER TABLE ... ADD/DROPS INHERIT (actually INHERIT / NO INHERIT)
Open items:

There were a few tangentially related issues that have come up that I think
are TODOs. I'm likely to tackle one or two of these next so I'm interested in
hearing feedback on them as well.

. Constraints currently do not know anything about inheritance. Tom suggested
  adding a coninhcount and conislocal like attributes have to track their
  inheritance status.

. Foreign key constraints currently do not get copied to new children (and
  therefore my code doesn't verify them). I don't think it would be hard to
  add them and treat them like CHECK constraints.

. No constraints at all are copied to tables defined with LIKE. That makes it
  hard to use LIKE to define new partitions. The standard defines LIKE and
  specifically says it does not copy constraints. But the standard already has
  an option called INCLUDING DEFAULTS; we could always define a non-standard
  extension LIKE table INCLUDING CONSTRAINTS that gives the user the option to
  request a copy including constraints.

. Personally, I think the whole attislocal thing is bunk. The decision about
  whether to drop a column from children tables or not is something that
  should be up to the user and trying to DWIM based on whether there was ever
  a local definition or the column was acquired purely through inheritance is
  hardly ever going to match up with user expectations.

. And of course there's the whole unique and primary key constraint issue. I
  think to get any traction at all on this you have a prerequisite of a real
  partitioned table implementation where the system knows what the partition
  key is so it can recognize when it's a leading part of an index key.

Greg Stark
2006-07-02 01:58:36 +00:00
Bruce Momjian 569e32a0f1 Update item for GUID:
< * Add 128-bit Universally Unique Identifier (UUID)
> * Add Globally/Universally Unique Identifier (GUID/UUID)
2006-06-30 15:04:32 +00:00
Tom Lane 51e400c9c6 Remove the separate 'stats buffer' process, letting backend stats messages
be delivered directly to the collector process.  The extra process context
swaps required to transfer data through the buffer process seem to outweigh
any value the buffering might have.  Per recent discussion and tests.
I modified Bruce's draft patch to use poll() rather than select() where
available (this makes a noticeable difference on my system), and fixed
up the EXEC_BACKEND case.
2006-06-29 20:00:08 +00:00
Bruce Momjian bc9b6c22d5 Change URL for SITC:
<   http://momjian.us/cgi-bin/pgsitc
>   http://archives.postgresql.org/pgsql-hackers/2006-06/msg01534.php
2006-06-29 03:04:59 +00:00
Bruce Momjian 994aa6a611 Add:
> * Add 128-bit Universally Unique Identifier (UUID)
2006-06-29 01:33:36 +00:00
Neil Conway 6e9c974e43 Editorialization for the additions to the CREATE TABLE reference page
made as part of the recent INCLUDING CONSTRAINTS patch. The text could
stand further improvement, but this is at least a step in the right
direction.
2006-06-28 22:01:52 +00:00
Bruce Momjian 06bd3dba80 Add URL for SITC
>   http://momjian.us/cgi-bin/pgsitc
2006-06-28 21:05:22 +00:00
Bruce Momjian 15897332ed Update:
< 		o Add support for WITH HOLD cursors
> 		o Add support for WITH HOLD and SCROLL cursors
>
> 		  PL/pgSQL cursors should support the same syntax as
> 		  backend cursors.
>
2006-06-28 15:39:32 +00:00
Bruce Momjian c2c4f3c30e Update Russian FAQ.
Viktor Vislobokov
2006-06-28 13:10:18 +00:00
Bruce Momjian 370a709c75 Add GUC update_process_title to control whether 'ps' display is updated
for every command, default to on.
2006-06-27 22:16:44 +00:00
Bruce Momjian 665c5e861a Default stats_command_string to 'on', now that its overhead is minimal. 2006-06-27 19:07:50 +00:00
Bruce Momjian 33b4ad66c9 Revert patch, doesn't do what it should:
* %Disallow changing default expression of a SERIAL column

Dhanaraj M
2006-06-27 18:35:05 +00:00
Bruce Momjian e99507eaa1 Will revert in next patch more cleanly.
> * -Disallow changing DEFAULT expression of a SERIAL column
2006-06-27 16:42:00 +00:00
Bruce Momjian 0c99c0fecf Not done:
< * -Disallow changing DEFAULT expression of a SERIAL column
> * %Disallow changing DEFAULT expression of a SERIAL column
2006-06-27 16:39:27 +00:00
Bruce Momjian dc2c25fc62 Add INCLUDING CONSTRAINTS to CREATE TABLE LIKE.
Greg Stark
2006-06-27 03:43:20 +00:00
Bruce Momjian 62f2693688 Done:
< * %Disallow changing DEFAULT expression of a SERIAL column?
<
<   This should be done only if the existing SERIAL problems cannot be
<   fixed.
<
> * -Disallow changing DEFAULT expression of a SERIAL column
2006-06-27 03:22:45 +00:00
Bruce Momjian 560feb474a Done:
> 	o -Add PQescapeIdentifier()
2006-06-27 00:03:44 +00:00
Bruce Momjian 3b1790f987 Add PQescapeIdentifier() to libpq
Christopher Kings-Lynne
2006-06-27 00:03:42 +00:00
Tom Lane ca0d2197ca Change the row constructor syntax (ROW(...)) so that list elements foo.*
will be expanded to a list of their member fields, rather than creating
a nested rowtype field as formerly.  (The old behavior is still available
by omitting '.*'.)  This syntax is not allowed by the SQL spec AFAICS,
so changing its behavior doesn't violate the spec.  The new behavior is
substantially more useful since it allows, for example, triggers to check
for data changes with 'if row(new.*) is distinct from row(old.*)'.  Per
my recent proposal.
2006-06-26 17:24:41 +00:00
Bruce Momjian 6bf44d51ea Use Unix newlines, instead of DOS ones. 2006-06-26 13:04:05 +00:00
Bruce Momjian bc28f58b8f Update my info:
> * Bruce is Bruce Momjian <bruce@momjian.us> of EnterpriseDB
2006-06-25 18:52:03 +00:00
Bruce Momjian f5940e7b34 Add:
< * Reuse index tuples that point to rows that are not visible to anyone?
> * Reuse index tuples that point to heap tuples that are not visible to
>   anyone?
2006-06-25 16:27:41 +00:00
Bruce Momjian ac7a126d0c Update entry:
< * Allow heap reuse of UPDATEd rows if old and new versions are on the
<   same heap page?
> * Allow heap reuse of UPDATEd rows if no indexed columns are changed,
>   and old and new versions are on the same heap page?
<   This is possible for same-page updates because a single index row
<   can point to both old and new values.
>   While vacuum handles DELETEs fine, updating of non-indexed columns, like
>   counters, are difficult for VACUUM to handle efficiently.  This method
>   is possible for same-page updates because a single index row can be
>   used to point to both old and new values.
2006-06-24 23:47:58 +00:00
Bruce Momjian fc6a2293b5 Add UPDATE entry for row reuse.
>
> * Allow heap reuse of UPDATEd rows if old and new versions are on the
>   same heap page?
>
>   This is possible for same-page updates because a single index row
>   can point to both old and new values.
>   http://archives.postgresql.org/pgsql-hackers/2006-06/msg01305.php
2006-06-24 23:45:02 +00:00
Tom Lane eaf8f312c7 Some editorial work on the documentation of the current-date/time
functions.
2006-06-19 16:13:01 +00:00