Commit Graph

6959 Commits

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