Commit Graph

6861 Commits

Author SHA1 Message Date
Peter Eisentraut
5266f221a2 Merge postmaster and postgres command into just postgres. postmaster
symlink is kept for now for compatibility.  To call single-user mode, use
postgres --single.
2006-06-18 15:38:37 +00:00
Tom Lane
c892643a3c Code review for SELECT INTO STRICT patch: use saner choices of error
SQLSTATEs, fix some documentation problems.
2006-06-16 23:29:27 +00:00
Tom Lane
3ba3e6c8ce Clean up after someone's curious idea that it'd be good to strip
leading zeroes from the SQLSTATE codes.  They're strings, people,
not numbers.
2006-06-16 22:41:45 +00:00
Andrew Dunstan
e287fb27a5 docs for DROP ... IF EXISTS for the following cases:
language, tablespace, trigger, rule, opclass, function, aggregate. operator, and cast.
2006-06-16 22:27:55 +00:00
Bruce Momjian
bac6570e78 Add:
> 		o Allow PL/python to composite types and result sets
> 		  once buggy assert-enabled versions of python can be detected
>
> 		  http://archives.postgresql.org/pgsql-patches/2006-04/msg00087.php
2006-06-16 22:08:46 +00:00
Bruce Momjian
dceac3acc0 Add:
>
> * Fix CREATE CAST on DOMAINs
>
>   http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php
2006-06-16 22:05:01 +00:00
Bruce Momjian
4fff9d7290 Document issues with non-default tablespaces and pg_dumpall restores.
Backpatch documentation addition to 8.1.X.
2006-06-16 22:01:17 +00:00
Bruce Momjian
b055f00ebb Add URL for ISO dates:
> 		  http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php
2006-06-16 21:41:24 +00:00
Bruce Momjian
e79cc2db00 Add URL for currency type:
>   http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php
2006-06-16 19:49:50 +00:00
Bruce Momjian
237756b1ce Add URL for updatable views:
>   http://archives.postgresql.org/pgsql-hackers/2006-03/msg00586.php
2006-06-16 18:50:24 +00:00
Bruce Momjian
1d9273b506 Add:
> * Consider shrinking expired tuples to just their headers
>   http://archives.postgresql.org/pgsql-patches/2006-03/msg00142.php
2006-06-16 18:48:42 +00:00
Bruce Momjian
b49ce32da1 Add URL to:
* Auto-fill the free space map by scanning the buffer cache or by
  checking pages written by the background writer
2006-06-16 18:38:39 +00:00
Bruce Momjian
64861671c9 Add URL for freespace map filling.
>
>   http://archives.postgresql.org/pgsql-hackers/2006-02/msg01125.php
>
2006-06-16 18:37:31 +00:00
Bruce Momjian
632545d15c >
> * Add support for public SYNONYMS
>
>   http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php
2006-06-16 18:32:07 +00:00
Bruce Momjian
16d8e82221 > o Add PL/Python tracebacks
>
>                http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php
2006-06-16 18:11:03 +00:00
Bruce Momjian
dc86109eba Add:
> 		o Fix problems with RETURN NEXT on tables with
> 		  dropped/added columns after function creation
>
> 		  http://archives.postgresql.org/pgsql-patches/2006-02/msg00165.php
2006-06-16 17:44:43 +00:00
Bruce Momjian
ad44b464d1 Add URL for:
> * Allow protocol-level BIND parameter values to be logged
>
>   http://archives.postgresql.org/pgsql-hackers/2006-02/msg00165.php
2006-06-16 17:25:38 +00:00
Bruce Momjian
56e967f4ba Add to locale TODO.detail. 2006-06-16 17:14:32 +00:00
Bruce Momjian
cfe71bd35d Add URL for ISO date/time syntax:
>
> 		  http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php
>
2006-06-16 16:59:30 +00:00
Bruce Momjian
28b0d6bf62 Add LDAP documentation missed in code patch.
Magnus Hagander
2006-06-16 15:16:16 +00:00
Bruce Momjian
8fc2a5afa7 Update preload_library magic block wording. 2006-06-16 12:47:49 +00:00
Bruce Momjian
91fc80d0d3 Fix:
< 		  get_employee_salary(emp_id AS 12345, tax_year AS 2001)
> 		  get_employee_salary(12345 AS emp_id, 2001 AS tax_year)
2006-06-16 04:04:52 +00:00
Bruce Momjian
57ffc4d78b Update magic block wording for preloaded libraries. 2006-06-16 04:02:35 +00:00
Bruce Momjian
a584c12426 Add STRICT to PL/pgSQL SELECT INTO, so exceptions are thrown if more or
less than one row is returned by the SELECT, for Oracle PL/SQL
compatibility.

Improve SELECT INTO documentation.

Matt Miller
2006-06-15 18:02:22 +00:00
Bruce Momjian
eb5558bce8 Fix to_ascii() markup error. 2006-06-15 17:52:48 +00:00
Bruce Momjian
167c7bb49a Add mention that preload_libraries check the magic block, so
non-PostgreSQL libraries cannot be loaded using this capability.
2006-06-15 17:49:09 +00:00
Bruce Momjian
6241f46495 Update syntax suggestion:
< 		  get_employee_salary(emp_id => 12345, tax_year => 2001)
> 		  get_employee_salary(emp_id AS 12345, tax_year AS 2001)
2006-06-15 17:42:02 +00:00
Bruce Momjian
712e824ff1 Move list of supported to_ascii() encodings from footnote to main
description.

Nis Jorgensen
2006-06-15 17:38:26 +00:00
Bruce Momjian
fe8c1165d9 Add:
>
> 		o Fix memory leak from exceptions
>
> 		  http://archives.postgresql.org/pgsql-performance/2006-06/msg00305.php
2006-06-15 17:17:41 +00:00
Bruce Momjian
653fa21700 Clarify dynamic pl/pgsql item and add URLs. Restructure server-side
section into PL/pgSQL and non-PL/pgSQL sections:

< 	o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
< 	o Allow function parameters to be passed by name,
< 	  get_employee_salary(emp_id => 12345, tax_year => 2001)
< 	o Add Oracle-style packages
< 	o Add table function support to pltcl, plpython
< 	o Add capability to create and call PROCEDURES
< 	o Allow PL/pgSQL to handle %TYPE arrays, e.g. tab.col%TYPE[]
< 	o Allow function argument names to be statements from PL/PgSQL
< 	o Add MOVE to PL/pgSQL
< 	o Add support for polymorphic arguments and return types to
< 	  languages other than PL/PgSQL
< 	o Add support for OUT and INOUT parameters to languages other
< 	  than PL/PgSQL
< 	o Add single-step debugging of PL/PgSQL functions
< 	o Allow PL/PgSQL to support WITH HOLD cursors
< 	o Allow PL/PgSQL RETURN to return row or record functions
<
< 	  http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
> 	o PL/pgSQL
> 		o Fix RENAME to work on variables other than OLD/NEW
> 		o Allow function parameters to be passed by name,
> 		  get_employee_salary(emp_id => 12345, tax_year => 2001)
> 		o Add Oracle-style packages
> 		o Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]
> 		o Allow listing of record column names, and access to
> 		  record columns via variables, e.g. columns := r.(*),
> 		  tval2 := r.(colname)
>
> 		  http://archives.postgresql.org/pgsql-patches/2005-07/msg00458.php
> 		  http://archives.postgresql.org/pgsql-patches/2006-05/msg00302.php
> 		  http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php
>
> 		o Add MOVE
> 		o Add single-step debugging of functions
> 		o Add support for WITH HOLD cursors
> 		o Allow PL/RETURN to return row or record functions
>
> 		  http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
>
>
> 	o Other
> 		o Add table function support to pltcl, plpython
> 		o Add support for polymorphic arguments and return types to
> 		  languages other than PL/PgSQL
> 		o Add capability to create and call PROCEDURES
> 		o Add support for OUT and INOUT parameters to languages other
> 		  than PL/PgSQL
2006-06-15 16:54:13 +00:00
Bruce Momjian
fce5033b4a Add:
> 	o Allow PL/PgSQL RETURN to return row or record functions
>
> 	  http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
2006-06-15 16:02:32 +00:00
Bruce Momjian
f8cdc265ea Done, removed:
<
< * Consider padding the spinlock structure to have spinlock registers
<   on different CPU cache line
<
<   http://archives.postgresql.org/pgsql-hackers/2005-10/msg00498.php
2006-06-15 02:23:13 +00:00
Bruce Momjian
e1e133f264 Add to locale TODO.detail. 2006-06-14 23:28:22 +00:00
Bruce Momjian
a9d2cc4d76 Remove, done:
<
< * Add support for WIN1253 (Greek) encoding
<
<   http://archives.postgresql.org/pgsql-bugs/2005-12/msg00000.php
2006-06-14 23:19:04 +00:00
Bruce Momjian
d5ddb87616 Add:
>
> * Add support for WIN1253 (Greek) encoding
>
>   http://archives.postgresql.org/pgsql-bugs/2005-12/msg00000.php
2006-06-14 23:07:55 +00:00
Bruce Momjian
ca2bb27529 Add URL to ILIKE encoding fix:
>   http://archives.postgresql.org/pgsql-patches/2005-11/msg00173.php
2006-06-14 23:03:12 +00:00
Bruce Momjian
8d21abd733 Add:
>
> * Consider increasing internal areas when shared buffers is increased
>
>   http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php
2006-06-14 22:31:53 +00:00
Bruce Momjian
cda6a5a580 Already done:
<
< 	o Properly mark all libpq-exported functions with "PQ"
<
< 	  http://archives.postgresql.org/pgsql-hackers/2005-10/msg00696.php
2006-06-14 22:23:05 +00:00
Bruce Momjian
6894d695fa Done by Peter:
< * Improve the information schema to be more standards-compliant:
<
<   http://archives.postgresql.org/pgsql-bugs/2005-10/msg00028.php
2006-06-14 21:58:21 +00:00
Bruce Momjian
456a852d5b Add:
>
> 	o Properly mark all libpq-exported functions with "PQ"
>
> 	  http://archives.postgresql.org/pgsql-hackers/2005-10/msg00696.php
2006-06-14 21:54:43 +00:00
Bruce Momjian
2f8ea0275d Add:
>
> * Consider padding the spinlock structure to have spinlock registers
>   on different CPU cache line
>
>   http://archives.postgresql.org/pgsql-hackers/2005-10/msg00498.php
2006-06-14 21:47:06 +00:00
Bruce Momjian
3c8c3ccf99 Add item, not fixed:
>
> * Fix ILIKE and regular expressions to handle case insensitivity
>   properly in multibyte encodings
>
>   http://archives.postgresql.org/pgsql-bugs/2005-10/msg00001.php
2006-06-14 21:40:00 +00:00
Bruce Momjian
ca3d2c31f9 Remove, already in back branches:
<
< 	o Add new version of PQescapeString() that doesn't double backslashes
< 	  that are part of a client-only multibyte sequence
<
< 	  Single-quote is not a valid byte in any supported client-only
< 	  encoding.  This requires using mblen() to determine if the
< 	  backslash is inside or outside a multi-byte sequence.
<
< 	o Add new version of PQescapeString() that doesn't double
< 	  backslashes when standard_conforming_strings is true and
< 	  non-E strings are used
2006-06-14 21:38:21 +00:00
Bruce Momjian
bcc97255f0 Done:
> 	o -Port contrib/xml2
2006-06-14 21:26:49 +00:00
Bruce Momjian
c135db1d4c Add information schema item:
> * Improve the information schema to be more standards-compliant:
>
>   http://archives.postgresql.org/pgsql-bugs/2005-10/msg00028.php
> * Add URL to more complete multi-byte regression tests
>
>   http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php
< * Add URL to more complete multi-byte regression tests
<
<   http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php
2006-06-14 21:10:50 +00:00
Bruce Momjian
63b35a8cb1 Add COPY views patch URL:
> 	  http://archives.postgresql.org/pgsql-patches/2005-09/msg00148.php
2006-06-14 20:40:20 +00:00
Bruce Momjian
744697317e Add:
>
> 	o Add API for 64-bit large object access
>
> 	  http://archives.postgresql.org/pgsql-hackers/2005-09/msg00781.php
2006-06-14 19:32:48 +00:00
Bruce Momjian
82009572ac Keep TODO.detail until item is done:
< 	o %Allow pg_dump to use multiple -t and -n switches
> 	o %Allow pg_dump to use multiple -t and -n switches  [pg_dump]
2006-06-14 19:02:06 +00:00
Bruce Momjian
22fd9a0ff8 Add URL, remove TODO.detail:
< 	o %Allow pg_dump to use multiple -t and -n switches [pg_dump]
> 	o %Allow pg_dump to use multiple -t and -n switches
>
> 	  http://archives.postgresql.org/pgsql-patches/2006-01/msg00190.php
>
2006-06-14 19:01:42 +00:00
Bruce Momjian
5b50ede670 Add locale/encoding references:
<   Right now only one encoding is allowed per database.
>   Right now only one encoding is allowed per database.  [locale]
> * Add CREATE COLLATE?  [locale]
2006-06-14 18:47:53 +00:00
Bruce Momjian
bc29957202 Add locale TODO.detail emails. 2006-06-14 18:42:51 +00:00
Bruce Momjian
9ae8690ad2 Update link to TODO.detail:
< 	o Check WSACancelBlockingCall() for interrupts (win32intr)
> 	o Check WSACancelBlockingCall() for interrupts [win32intr]
2006-06-14 18:39:18 +00:00
Bruce Momjian
f944f88021 Add:
> 	o Fix problem when cascading referential triggers make changes on
> 	  cascaded tables, seeing the tables in an intermediate state
>
> 	  http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php
> 	  http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php
2006-06-14 18:36:57 +00:00
Bruce Momjian
1e52c5eb96 Added:
>
> * Add URL to more complete multi-byte regression tests
>
>   http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php
2006-06-14 17:59:33 +00:00
Bruce Momjian
b6f5676c60 Add entry:
> * Allow user-defined types to accept 'typmod' parameters
>   http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php
>   http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php
2006-06-14 17:51:55 +00:00
Bruce Momjian
aa30e0e555 Remove:
< 	o %Add CSV output format
2006-06-13 21:08:22 +00:00
Bruce Momjian
07c25723da Add BY clause to PL/PgSQL FOR loop, to control the iteration increment.
Jaime Casanova
2006-06-12 16:45:30 +00:00
Bruce Momjian
11a0c1de9f Add URL for bitmap AM:
>   http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php
2006-06-12 16:15:07 +00:00
Bruce Momjian
807bfa581c Remove pg_dump wording:
<   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef(), and
<   make use of them in pg_dump
>   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
2006-06-10 23:33:27 +00:00
Bruce Momjian
0d001c86f8 Add:
<   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
>   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef(), and
>   make use of them in pg_dump
2006-06-10 23:17:21 +00:00
Bruce Momjian
9143144935 Cleanups:
< 	* Allow a database in tablespace t1 with tables created in
> 	o Allow a database in tablespace t1 with tables created in
125c125
< 	* Allow reporting of which objects are in which tablespaces
> 	o Allow reporting of which objects are in which tablespaces
593c593
< 	* Allow GRANT/REVOKE permissions to be inherited by objects based on
> 	o Allow GRANT/REVOKE permissions to be inherited by objects based on
596c596
< 	* Allow SERIAL sequences to inherit permissions from the base table?
> 	o Allow SERIAL sequences to inherit permissions from the base table?
2006-06-09 18:41:57 +00:00
Bruce Momjian
c0ba4829a9 Cleanup:
< * -%Allow pooled connections to list all prepared statements
> * -Allow pooled connections to list all prepared statements
2006-06-09 18:12:29 +00:00
Bruce Momjian
1a1326d64d Add URL.
< 	  the insert.
> 	  the insert.
> 	  http://archives.postgresql.org/pgsql-patches/2005-07/msg00568.php
2006-06-09 02:11:10 +00:00
Bruce Momjian
fa23204c5d Update:
< * Add SQL99 WITH RECURSIVE (hierarchical) queries to SELECT
> * Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT
2006-06-09 01:02:22 +00:00
Bruce Momjian
2f12903eb9 Remove:
< * Rename some /contrib modules from pg* to pg_*
2006-06-09 01:00:36 +00:00
Bruce Momjian
e4725e35be Add URL.
>
>   http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php
>
2006-06-08 18:59:01 +00:00
Bruce Momjian
51aa05a437 Use simple URL's rather than text and a URL:
< 	    recovery.  See http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php.
> 	    recovery.
> 	    http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php
<   Right now only one encoding is allowed per database.  For a partial
<   patch, see http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php.
>   Right now only one encoding is allowed per database.
>   http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
459c460
<   notify the protocol when a RESET CONNECTION command is used.  See
>   notify the protocol when a RESET CONNECTION command is used.
461d461
<   for a partial implementation.
515c515
< 	  See http://archives.postgresql.org/pgsql-patches/2006-02/msg00168.php.
> 	  http://archives.postgresql.org/pgsql-patches/2006-02/msg00168.php
535c535
< 	  See http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php.
> 	  http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php
821c821
<   See http://archives.postgresql.org/pgsql-patches/2005-07/msg00107.php.
>   http://archives.postgresql.org/pgsql-patches/2005-07/msg00107.php
877c877
<   Details at http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php.
>   http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php
<   See partially completed patch and additional work required at
<   http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php.
>   http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php
1297c1296
<   See http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php.
>   http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php
1311c1310,1311
< 	o Improve signal handling,
> 	o Improve signal handling
>
1312a1313
>
2006-06-08 16:07:23 +00:00
Bruce Momjian
2b5b47605c Add URL.
< * Support triggers on columns (Greg Sabino Mullane)
> * Support triggers on columns
>
>   See http://archives.postgresql.org/pgsql-patches/2005-07/msg00107.php.
>
2006-06-08 15:41:22 +00:00
Bruce Momjian
ea0390b682 Spelling fix.
Robert Treat
2006-06-08 13:45:36 +00:00
Bruce Momjian
4369b0b521 Done:
> * -Allow server logs to be remotely read and removed using SQL commands
2006-06-08 13:44:09 +00:00
Bruce Momjian
44f62decad Add URL for ALTER CONSTRAINT RENAME.
>
> 	  See http://archives.postgresql.org/pgsql-patches/2006-02/msg00168.php.
>
2006-06-08 03:17:11 +00:00
Bruce Momjian
ae76c3ace9 Add URL.
< 	    recovery.
> 	    recovery.  See http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php.
2006-06-08 02:59:02 +00:00
Bruce Momjian
366231f42f Add URL:
<   Right now only one encoding is allowed per database.
>   Right now only one encoding is allowed per database.  For a partial
>   patch, see http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php.
2006-06-08 02:42:44 +00:00
Bruce Momjian
8a75c07626 Update wording:
< * Add SQL99 WITH RECURSIVE to SELECT
> * Add SQL99 WITH RECURSIVE (hierarchical) queries to SELECT
2006-06-08 01:08:45 +00:00
Bruce Momjian
0f1a7c55b4 Add entry:
> * Consider allowing control of upper/lower case folding of unquoted
>   identifiers
>
>   Details at http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php.
2006-06-08 01:02:53 +00:00
Bruce Momjian
51dfe35121 Done:
< 	o Allow timezone names in SQL strings, '2006-05-24 21:11
> 	o -Allow timezone names in SQL strings, '2006-05-24 21:11
2006-06-07 22:31:38 +00:00
Bruce Momjian
877e296306 Spelling fix.
Robert Treat
2006-06-07 21:23:01 +00:00
Bruce Momjian
9ca4c153bf Mention GPL /contrib modules:
>
>   Particularly, move GPL-licensed /contrib/userlock and
>   /contrib/dbmirror/clean_pending.pl.
>
2006-06-07 20:39:10 +00:00
Tom Lane
8a30cc2127 Make the planner estimate costs for nestloop inner indexscans on the basis
that the Mackert-Lohmann formula applies across all the repetitions of the
nestloop, not just each scan independently.  We use the M-L formula to
estimate the number of pages fetched from the index as well as from the table;
that isn't what it was designed for, but it seems reasonably applicable
anyway.  This makes large numbers of repetitions look much cheaper than
before, which accords with many reports we've received of overestimation
of the cost of a nestloop.  Also, change the index access cost model to
charge random_page_cost per index leaf page touched, while explicitly
not counting anything for access to metapage or upper tree pages.  This
may all need tweaking after we get some field experience, but in simple
tests it seems to be giving saner results than before.  The main thing
is to get the infrastructure in place to let cost_index() and amcostestimate
functions take repeated scans into account at all.  Per my recent proposal.

Note: this patch changes pg_proc.h, but I did not force initdb because
the changes are basically cosmetic --- the system does not look into
pg_proc to decide how to call an index amcostestimate function, and
there's no way to call such a function from SQL at all.
2006-06-06 17:59:58 +00:00
Bruce Momjian
05631354f3 Add URL to RESET CONNECTION:
<   notify the protocol when a RESET CONNECTION command is used.
>   notify the protocol when a RESET CONNECTION command is used.  See
>   http://archives.postgresql.org/pgsql-patches/2006-04/msg00192.php
>   for a partial implementation.
2006-06-06 16:27:23 +00:00
Bruce Momjian
491a8c27c9 Done:
< * %Make postmater and postgres options distinct so the postmaster -o
> * -Make postmater and postgres options distinct so the postmaster -o
2006-06-06 13:52:21 +00:00
Tom Lane
e4de635a2b Increase the default value of cpu_index_tuple_cost from 0.001 to 0.005.
This shouldn't affect simple indexscans much, while for bitmap scans that
are touching a lot of index rows, this seems to bring the estimates more
in line with reality.  Per recent discussion.
2006-06-05 03:03:42 +00:00
Tom Lane
eed6c9ed7e Add a GUC parameter seq_page_cost, and use that everywhere we formerly
assumed that a sequential page fetch has cost 1.0.  This patch doesn't
in itself change the system's behavior at all, but it opens the door to
people adopting other units of measurement for EXPLAIN costs.  Also, if
we ever decide it's worth inventing per-tablespace access cost settings,
this change provides a workable intellectual framework for that.
2006-06-05 02:49:58 +00:00
Bruce Momjian
f6dc20e109 Update:
< * %Remove behavior of postmaster -o
> * %Make postmater and postgres options distinct so the postmaster -o
>   option is no longer needed
2006-06-04 02:11:04 +00:00
Bruce Momjian
d7739850e4 Update:
< 	o Allow COPY to output from views
> 	o Allow COPY to output from SELECT
570c570
< 	  Another idea would be to allow actual SELECT statements in a COPY.
> 	  COPY should also be able to output views.
2006-06-04 01:33:39 +00:00
Bruce Momjian
e5b198066d Update GUI FAQ.
Robert Treat
2006-06-04 00:17:43 +00:00
Bruce Momjian
1309c6f547 Update GUI tools URL.
Robert Treat
2006-06-04 00:13:43 +00:00
Bruce Momjian
8a4035410f Record location of partial patch :
>  * Allow WAL information to recover corrupted pg_controldata
>
>   See partially completed patch and additional work required at
>   http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php.
>
2006-06-03 04:00:01 +00:00
Tom Lane
12e842422f Mention pg_encoding_to_char in entry for pg_database.encoding.
Per Larry Rosenman.
2006-06-03 02:53:04 +00:00
Bruce Momjian
6ea7164feb Patch reverted, not done:
> * Allow WAL information to recover corrupted pg_controldata
2006-06-03 02:34:35 +00:00
Bruce Momjian
be05b260a9 Remove pg_resetxlog -r flag, feature has problems referenced here:
http://archives.postgresql.org/pgsql-hackers/2006-05/msg00002.php
2006-06-03 02:19:24 +00:00
Tom Lane
2703007501 Fix example of how to escape data in psql backslash commands. 2006-05-31 22:34:35 +00:00
Tom Lane
8f165ee13b Make PG_MODULE_MAGIC required in shared libraries that are loaded into
the server.  Per discussion, there seems no point in a waiting period
before making this required.
2006-05-31 20:58:09 +00:00
Bruce Momjian
3b7ed9ba9c Recommend '' for literal ', rather than \', in psql documentation. 2006-05-31 11:47:20 +00:00
Bruce Momjian
c3c3902611 Support '' for literal ' in psql single-quote strings, documentation update. 2006-05-31 11:35:17 +00:00
Tom Lane
e60cb3a35c Code review for magic-block patch. Remove separate header file pgmagic.h,
as this seems only likely to create headaches for module developers.  Put
the macro in the pre-existing fmgr.h file instead.  Avoid being too cute
about how many fields we can cram into a word, and avoid trying to fetch
from a library we've already unlinked.
Along the way, it occurred to me that the magic block really ought to be
'const' so it can be stored in the program text area.  Do the same for
the existing data blocks for PG_FUNCTION_INFO_V1 functions.
2006-05-30 21:21:30 +00:00
Bruce Momjian
01b2168c90 Add pgmagic header block to store compile-time constants:
It now only checks four things:

Major version number (7.4 or 8.1 for example)
NAMEDATALEN
FUNC_MAX_ARGS
INDEX_MAX_KEYS

The three constants were chosen because:

1. We document them in the config page in the docs
2. We mark them as changable in pg_config_manual.h
3. Changing any of these will break some of the more popular modules:

FUNC_MAX_ARGS changes fmgr interface, every module uses this NAMEDATALEN
changes syscache interface, every PL as well as tsearch uses this
INDEX_MAX_KEYS breaks tsearch and anything using GiST.

Martijn van Oosterhout
2006-05-30 14:09:32 +00:00
Bruce Momjian
4d06e86d04 Revert patch, needs more work:
---------------------------------------------------------------------------

Add dynamic record inspection to PL/PgSQL, useful for generic triggers:

  tval2 := r.(cname);

or

  columns := r.(*);

Titus von Boxberg
2006-05-30 13:40:56 +00:00
Bruce Momjian
38c7700f56 Add dynamic record inspection to PL/PgSQL, useful for generic triggers:
tval2 := r.(cname);

or

  columns := r.(*);

Titus von Boxberg
2006-05-30 12:03:13 +00:00
Bruce Momjian
88ba64d396 Back out patch, wrong previous commit message. 2006-05-30 11:58:05 +00:00
Bruce Momjian
b6477c6295 Add regexp_replace() to string functions section.
Joachim Wieland
2006-05-30 11:54:51 +00:00
Bruce Momjian
fcc02c20fc Update PL documentation:
An article at WebProNews quoted from the PG docs as to the merits of
stored procedures.  I have added a bit more material on their merits,
as well as making a few changes to improve the introductions to
PL/Perl and PL/Tcl.

Chris Browne
2006-05-30 11:40:21 +00:00
Bruce Momjian
4c494889a6 Update Japanese FAQ.
J.Kuwamura
2006-05-30 10:29:18 +00:00
Bruce Momjian
70507ace88 Add item:
> * Consider GnuTLS if OpenSSL license becomes a problem
>
>   See http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php.
2006-05-30 10:21:12 +00:00
Bruce Momjian
63cb35c41c Add:
> 	o Allow timezone names in SQL strings, '2006-05-24 21:11
> 	   Americas/New_York'::timestamptz
2006-05-29 23:29:38 +00:00
Andrew Dunstan
21e343da35 Make plperl's $_TD trigger data a global rather than a lexical variable,
with a fresh local value for each invocation, to avoid unexpected sharing
violations. Per recent -hackers discussion.
2006-05-29 13:51:23 +00:00
Andrew Dunstan
3a9ae3d206 TG_table_name and TG_table_schema for plpgsql, plus docs and regression. 2006-05-28 03:03:17 +00:00
Alvaro Herrera
3d58a1c168 Remove traces of otherwise unused RELKIND_SPECIAL symbol. Leave the psql bits
in place though, so that it plays nicely with older servers.

Per discussion.
2006-05-28 02:27:08 +00:00
Andrew Dunstan
22b118b530 TG_table_name and TG_table_schema for pl/tcl, plus regression test and docs. 2006-05-27 20:24:16 +00:00
Tom Lane
223ae6957f Support binary COPY through psql. Also improve detection of write errors
during COPY OUT.  Andreas Pflug, some editorialization by moi.
2006-05-26 19:51:29 +00:00
Bruce Momjian
aadd8a23ce Update AIX FAQ.
Chris Browne
2006-05-26 19:48:32 +00:00
Andrew Dunstan
0a269db9cf Add table_name and table_schema to plpython trigger data, plus docs and regression test. 2006-05-26 19:23:09 +00:00
Andrew Dunstan
777f72cd37 Add table_name and table_schema to plperl trigger data. relname is
kept but now deprecated. Patch from Adam Sjøgren. Add regression test to
show plperl trigger data (Andrew).
TBD: apply similar changes to plpgsql, plpython and pltcl.
2006-05-26 17:34:16 +00:00
Bruce Momjian
6bd89d09c8 Remove pg_attribute detail, add URL
< 	  pg_attribute.attislocal has to be set to 'false' for ADD, and
< 	  pg_attribute.attinhcount adjusted appropriately
> 	  See http://archives.postgresql.org/pgsql-hackers/2006-05/msg00988.php.
2006-05-24 18:12:38 +00:00
Teodor Sigaev
d2158b0281 * Add support NULL to GiST.
* some refactoring and simplify code int gistutil.c and gist.c
* now in some cases it can be called used-defined
  picksplit method for non-first column in index, but here
	is a place to do more.
* small fix of docs related to support NULL.
2006-05-24 11:01:39 +00:00
Bruce Momjian
c1d4551ae1 Add PQisthreadsafe() to libpq, to allow library applications to query
the thread-safety status of the library.
2006-05-23 22:13:19 +00:00
Bruce Momjian
672f0beb01 Update text:
> 	  This allows tables to be added/removed from an inheritance
> 	  hierarchy.  This is particularly useful for table partitioning.
2006-05-23 20:59:29 +00:00
Bruce Momjian
b7741bff02 Add:
> 	o Add ALTER TABLE tab ADD/DROP INHERITS parent
>
> 	  pg_attribute.attislocal has to be set to 'false' for ADD, and
> 	  pg_attribute.attinhcount adjusted appropriately
>
2006-05-23 20:57:53 +00:00
Bruce Momjian
a2b6c896e5 Rename in release notes: Mac -> OS/X, Intel to x86:
Fix for OS/X Bonjour on x86 systems (Ashley Clark)
2006-05-23 20:20:52 +00:00
Bruce Momjian
c8f345024d New wording, "What is the upgrade process for PostgreSQL?" 2006-05-23 15:51:07 +00:00
Bruce Momjian
4fc6aa4bc2 Update heading for upgrades. 2006-05-23 15:47:43 +00:00
Bruce Momjian
0f9652848b Add mention that everyone should upgrade to minor releases. 2006-05-23 15:22:20 +00:00
Bruce Momjian
74d0cf3974 Make "trigger" section:
> * Referential Integrity
>
> 	o Add MATCH PARTIAL referential integrity
> 	o Change foreign key constraint for array -> element to mean element
> 	  in array?
> 	o Enforce referential integrity for system tables
>
>
< Referential Integrity
< =====================
<
< * Add MATCH PARTIAL referential integrity
> Triggers
> ========
< * Change foreign key constraint for array -> element to mean element
<   in array?
801d804
< * Enforce referential integrity for system tables
2006-05-22 20:39:23 +00:00
Bruce Momjian
32bfb1c297 Update Japanese FAQ.
J.Kuwamura
2006-05-22 14:12:55 +00:00
Tom Lane
e9cc53025a Update release notes for upcoming releases. 2006-05-21 21:49:22 +00:00
Tom Lane
515112f9d4 Modify libpq's string-escaping routines to be aware of encoding considerations
and standard_conforming_strings.  The encoding changes are needed for proper
escaping in multibyte encodings, as per the SQL-injection vulnerabilities
noted in CVE-2006-2313 and CVE-2006-2314.  Concurrent fixes are being applied
to the server to ensure that it rejects queries that may have been corrupted
by attempted SQL injection, but this merely guarantees that unpatched clients
will fail rather than allow injection.  An actual fix requires changing the
client-side code.  While at it we have also fixed these routines to understand
about standard_conforming_strings, so that the upcoming changeover to SQL-spec
string syntax can be somewhat transparent to client code.

Since the existing API of PQescapeString and PQescapeBytea provides no way to
inform them which settings are in use, these functions are now deprecated in
favor of new functions PQescapeStringConn and PQescapeByteaConn.  The new
functions take the PGconn to which the string will be sent as an additional
parameter, and look inside the connection structure to determine what to do.
So as to provide some functionality for clients using the old functions,
libpq stores the latest encoding and standard_conforming_strings values
received from the backend in static variables, and the old functions consult
these variables.  This will work reliably in clients using only one Postgres
connection at a time, or even multiple connections if they all use the same
encoding and string syntax settings; which should cover many practical
scenarios.

Clients that use homebrew escaping methods, such as PHP's addslashes()
function or even hardwired regexp substitution, will require extra effort
to fix :-(.  It is strongly recommended that such code be replaced by use of
PQescapeStringConn/PQescapeByteaConn if at all feasible.
2006-05-21 20:19:23 +00:00
Tom Lane
b3eb4ea5d8 Add a new GUC parameter backslash_quote, which determines whether the SQL
parser will allow "\'" to be used to represent a literal quote mark.  The
"\'" representation has been deprecated for some time in favor of the
SQL-standard representation "''" (two single quote marks), but it has been
used often enough that just disallowing it immediately won't do.  Hence
backslash_quote allows the settings "on", "off", and "safe_encoding",
the last meaning to allow "\'" only if client_encoding is a valid server
encoding.  That is now the default, and the reason is that in encodings
such as SJIS that allow 0x5c (ASCII backslash) to be the last byte of a
multibyte character, accepting "\'" allows SQL-injection attacks as per
CVE-2006-2314 (further details will be published after release).  The
"on" setting is available for backward compatibility, but it must not be
used with clients that are exposed to untrusted input.

Thanks to Akio Ishida and Yasuo Ohgaki for identifying this security issue.
2006-05-21 20:10:42 +00:00
Alvaro Herrera
1f219cf433 Add last-vacuum/analyze-time columns to the stats collector, both manual and
issued by autovacuum.  Add accessor functions to them, and use those in the
pg_stat_*_tables system views.

Catalog version bumped due to changes in the pgstat views and the pgstat file.

Patch from Larry Rosenman, minor improvements by me.
2006-05-19 19:08:27 +00:00
Bruce Momjian
411a64ba73 Stamp 8.1.4, except configure/configure.in. 2006-05-19 03:55:40 +00:00
Bruce Momjian
ba10a1f3e4 Update for version 8.1.4. 2006-05-19 03:52:41 +00:00
Bruce Momjian
7540476dc6 Update release notes for 8.1.4. 2006-05-19 03:49:05 +00:00
Bruce Momjian
45ec63cb24 Change <type>string</> to <parameter>string</>. 2006-05-18 03:18:24 +00:00
Bruce Momjian
e6bd9bf7ff Add:
>
> * Add a GUC to control whether BEGIN inside a transcation should abort
>   the transaction.
2006-05-18 02:32:15 +00:00
Bruce Momjian
d6a35c8125 Make function param_name/type documentation more consistent. 2006-05-18 00:50:08 +00:00
Bruce Momjian
18627c5531 Allow the .pgpass hostname to match the default socket directory, as
well as a blank pghost.
2006-05-17 21:50:54 +00:00
Bruce Momjian
fb4c180da0 Update pg_dump vesion wording. 2006-05-13 17:10:35 +00:00
Bruce Momjian
4b7b1df8a6 Mention version portability of pg_dump. 2006-05-13 16:19:54 +00:00
Tom Lane
637028afe1 Code review for standard_conforming_strings patch. Fix it so it does not
throw warnings for 100%-SQL-standard constructs, clean up some minor
infelicities, try to un-break ecpg to the best of my ability.  (It's not clear
how ecpg is going to find out the setting of standard_conforming_strings,
though.)  I think pg_dump still needs work, too.
2006-05-11 19:15:36 +00:00
Tom Lane
3fdeb189e9 Clean up code associated with updating pg_class statistics columns
(relpages/reltuples).  To do this, create formal support in heapam.c for
"overwrite" tuple updates (including xlog replay capability) and use that
instead of the ad-hoc overwrites we'd been using in VACUUM and CREATE INDEX.
Take the responsibility for updating stats during CREATE INDEX out of the
individual index AMs, and do it where it belongs, in catalog/index.c.  Aside
from being more modular, this avoids having to update the same tuple twice in
some paths through CREATE INDEX.  It's probably not measurably faster, but
for sure it's a lot cleaner than before.
2006-05-10 23:18:39 +00:00
Bruce Momjian
12049d343e Revert documentation mention of array dimension checking, in next paragraph. 2006-05-09 23:12:54 +00:00
Bruce Momjian
0c9fab6c3b Mention array dimmensions are not enforced either. 2006-05-09 16:31:23 +00:00
Bruce Momjian
5ff2838c57 Add description:
* %Disallow changing DEFAULT expression of a SERIAL column?

>
>   This should be done only if the existing SERIAL problems cannot be
>   fixed.
>
2006-05-06 23:35:32 +00:00
Bruce Momjian
d9d2d91544 Recommend more clearly custom pg_dump format over tar, buy showing
custom format examples first.
2006-05-06 23:25:37 +00:00
Bruce Momjian
bcf860b7f3 Document SSL CRL usage by libpq. 2006-05-06 16:25:11 +00:00
Bruce Momjian
ee1b63a48b Update standards URL.
Robert Treat
2006-05-05 09:51:53 +00:00
Bruce Momjian
9bd5181068 Add/ cleanup:
< * %Disallow changing default expression of a SERIAL column?
> * %Disallow changing DEFAULT expression of a SERIAL column?
472a473,476
> * Add DEFAULT .. AS OWNER so permission checks are done as the table
>   owner
>
>   This would be useful for SERIAL nextval() calls and CHECK constraints.
2006-05-05 09:35:58 +00:00
Tom Lane
52667d56a3 Rethink the locking mechanisms used for CREATE/DROP/RENAME DATABASE.
The former approach used ExclusiveLock on pg_database, which being a
cluster-wide lock meant only one of these operations could proceed at
a time; worse, it also blocked all incoming connections in ReverifyMyDatabase.
Now that we have LockSharedObject(), we can use locks of different types
applied to databases considered as objects.  This allows much more
flexible management of the interlocking: two CREATE DATABASEs need not
block each other, and need not block connections except to the template
database being used.  Similarly DROP DATABASE doesn't block unrelated
operations.  The locking used in flatfiles.c is also much narrower in
scope than before.  Per recent proposal.
2006-05-04 16:07:29 +00:00
Tom Lane
e57345975c Clean up API for ambulkdelete/amvacuumcleanup as per today's discussion.
This formulation requires every AM to provide amvacuumcleanup, unlike before,
but it's surely a whole lot cleaner.  Also, add an 'amstorage' column to
pg_am so that we can get rid of hardwired knowledge in DefineOpClass().
2006-05-02 22:25:10 +00:00
Tom Lane
d3171dd64b Fix broken markup. 2006-05-02 18:07:51 +00:00
Tom Lane
82a2881c5b Code review for GRANT CONNECT patch. Spell the privilege as CONNECT not
CONNECTION, fix a number of places that were missed (eg pg_dump support),
avoid executing an extra search of pg_database during startup.
2006-04-30 21:15:33 +00:00