Commit Graph

7054 Commits

Author SHA1 Message Date
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