Commit Graph

7982 Commits

Author SHA1 Message Date
Bruce Momjian df7128bd34 Document that age() adds days, then full months. 2007-07-18 03:12:42 +00:00
Bruce Momjian 27d074923d Add:
>
> 	o Allow GLOBAL temporary tables to exist as empty by default in
> 	  all sessions
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-07/msg00006.php
>
2007-07-18 00:16:21 +00:00
Bruce Momjian a5ca334a21 Remove http://www.benchmarkresources.com, no longer resolves to a
meaningful site.
2007-07-17 05:03:55 +00:00
Neil Conway 474774918b Implement CREATE TABLE LIKE ... INCLUDING INDEXES. Patch from NikhilS,
based in part on an earlier patch from Trevor Hardcastle, and reviewed
by myself.
2007-07-17 05:02:03 +00:00
Bruce Momjian 77d27e43e5 Add CVS Wiki URL to docs. 2007-07-17 01:52:34 +00:00
Bruce Momjian 74fbe9ccd1 Add:
> * Allow multiple indexes to be created concurrently, ideally via a
>   single heap scan, and have a restore of a pg_dump somehow use it
>
>   http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php

Small blank line additions.
2007-07-17 00:07:54 +00:00
Bruce Momjian 5fb01d829a Update docs that GNU tar versions >=1.16 exit with 1 on files changed, 2
on other errors.
2007-07-16 22:20:51 +00:00
Tom Lane ae1b7e298c Allow plpgsql function parameter names to be qualified with the function's
name.  With this patch, it is always possible for the user to qualify a
plpgsql variable name if needed to avoid ambiguity.  While there is much more
work to be done in this area, this simple change removes one unnecessary
incompatibility with Oracle.  Per discussion.
2007-07-16 17:01:11 +00:00
Tom Lane a69f9028b5 Note incompatibility with Oracle's version of FOR ... REVERSE, per
Andrew Dunstan.  Minor other improvements in documentation of integer
FOR loops.
2007-07-15 00:45:16 +00:00
Tom Lane d849c5d182 Editorial overhaul of plpgsql documentation. Provide detailed documentation
of variable substitution and plan caching behavior in dedicated sections.
(A lot of this material existed already, but was scattered in various places
in the chapter.)  Reorganize material a little bit, mostly to try to avoid
diving into deep details in the first introductory sections.  Document some
fine points that had escaped treatment before, notably the ability to qualify
plpgsql variable names with block labels.  Some minor wordsmithing here and
there.
2007-07-14 23:02:25 +00:00
Tom Lane bf75e2a3c7 Add note that building from CVS requires bison and flex, whereas
building from a distribution tarball does not.
2007-07-10 23:03:18 +00:00
Tom Lane ff481ca0d4 Adjust processSQLNamePattern() so that $ within the pattern is always matched
literally, whether quoted or not.  Since we allow $ as a character within
identifiers, this behavior is useful, whereas the previous behavior of
treating it as the regexp ending anchor was nearly useless given that the
pattern is automatically anchored anyway.  This affects the arguments of
psql's \d commands as well as pg_dump's -n and -t switches.  Per discussion.
2007-07-10 00:21:31 +00:00
Tom Lane 9b619679a8 Minor copy-editing. 2007-07-09 01:08:09 +00:00
Tom Lane 5f7b1f8d9d Closer code review for PQconnectionUsedPassword() patch: in particular,
not OK to include postgres_fe.h into libpq-fe.h, hence declare it as
returning int not bool.
2007-07-08 18:28:56 +00:00
Tom Lane 3f33d7bcb6 Fix broken markup. 2007-07-08 17:47:38 +00:00
Joe Conway 51bc3dfe4b Arrange for the authentication request type to be preserved in
PGconn. Invent a new libpq connection-status function,
PQconnectionUsedPassword() that returns true if the server
demanded a password during authentication, false otherwise.
This may be useful to clients in general, but is immediately
useful to help plug a privilege escalation path in dblink.
Per list discussion and design proposed by Tom Lane.
2007-07-08 17:11:51 +00:00
Bruce Momjian 8c69d881ce Remove TODO.detail/win32intr, no longer needed. 2007-07-08 00:42:07 +00:00
Bruce Momjian 5b67de17ee Remove, per Magnus:
< 	o Check WSACancelBlockingCall() for interrupts [win32intr]
2007-07-08 00:41:11 +00:00
Tom Lane ad9a99c24f Improve description of SPI_scroll_cursor_move's return values, per a
gripe by Pavel Stehule awhile ago.
2007-07-05 19:15:12 +00:00
Neil Conway a55898131e Add ALTER VIEW ... RENAME TO, and a RENAME TO clause to ALTER SEQUENCE.
Sequences and views could previously be renamed using ALTER TABLE, but
this was a repeated source of confusion for users. Update the docs,
and psql tab completion. Patch from David Fetter; various minor fixes
by myself.
2007-07-03 01:30:37 +00:00
Tom Lane 9fc25c0511 Improve logging of checkpoints. Patch by Greg Smith, worked over
by Heikki and a little bit by me.
2007-06-30 19:12:02 +00:00
Tom Lane 4303c0fdbf Add a note that pg_start_backup will take awhile because of new
distributed checkpoint behavior.  Explain how to work around this
by issuing a manual CHECKPOINT command.  Per discussion with Heikki.
2007-06-29 15:46:21 +00:00
Bruce Momjian 700eabbe69 Done:
> * -Reduce checkpoint performance degredation by forcing data to disk
2007-06-28 21:55:00 +00:00
Neil Conway 7c07b136bc Add the function's volatility to the output of psql's \df+ command.
Update the psql reference page accordingly.
2007-06-28 06:40:16 +00:00
Tom Lane 867e2c91a0 Implement "distributed" checkpoints in which the checkpoint I/O is spread
over a fairly long period of time, rather than being spat out in a burst.
This happens only for background checkpoints carried out by the bgwriter;
other cases, such as a shutdown checkpoint, are still done at full speed.

Remove the "all buffers" scan in the bgwriter, and associated stats
infrastructure, since this seems no longer very useful when the checkpoint
itself is properly throttled.

Original patch by Itagaki Takahiro, reworked by Heikki Linnakangas,
and some minor API editorialization by me.
2007-06-28 00:02:40 +00:00
Tom Lane b09c248bdd Fix PGXS conventions so that extensions can be built against Postgres
installations whose pg_config program does not appear first in the PATH.
Per gripe from Eddie Stanley and subsequent discussions with Fabien Coelho
and others.
2007-06-26 22:05:04 +00:00
Tom Lane ec0bb02db8 Add a <tip> that log_line_prefix should usually end with a space to
provide visual separation from the rest of the log line; I've been
noticing lately that quite a few newbies fail to figure this out for
themselves.  Also a little editorial cleanup of the log_line_prefix
description.
2007-06-22 16:15:23 +00:00
Peter Eisentraut 9f6aacd9e6 Update password example. 2007-06-21 12:20:10 +00:00
Peter Eisentraut 8ddb046bc9 Update examples of create/drop scripts. 2007-06-21 10:43:09 +00:00
Tom Lane 4c2d3ccf8a Add a caveat pointing out that constraint exclusion doesn't work with
constraints the planner is unable to disprove, hence simple btree-compatible
conditions should be used.  We've seen people try to get cute with stuff
like date_part(something) = something at least twice now.  Even if we
wanted to try to teach predtest.c about the properties of date_part,
most of the useful variants aren't immutable so nothing could be proved.
2007-06-20 23:11:38 +00:00
Neil Conway 8f3d07764f Remove some empty columns from a few system catalog tables in the
SGML docs.
2007-06-20 19:24:05 +00:00
Tom Lane 6e07228728 Code review for log_lock_waits patch. Don't try to issue log messages from
within a signal handler (this might be safe given the relatively narrow code
range in which the interrupt is enabled, but it seems awfully risky); do issue
more informative log messages that tell what is being waited for and the exact
length of the wait; minor other code cleanup.  Greg Stark and Tom Lane
2007-06-19 20:13:22 +00:00
Tom Lane 23347231a5 Tweak the API for per-datatype typmodin functions so that they are passed
an array of strings rather than an array of integers, and allow any simple
constant or identifier to be used in typmods; for example
	create table foo (f1 widget(42,'23skidoo',point));
Of course the typmodin function has still got to pack this info into a
non-negative int32 for storage, but it's still a useful improvement in
flexibility, especially considering that you can do nearly anything if you
are willing to keep the info in a side table.  We can get away with this
change since we have not yet released a version providing user-definable
typmods.  Per discussion.
2007-06-15 20:56:52 +00:00
Bruce Momjian 7ced811d45 Update item:
< * Allow EXPLAIN output to be more easily processed by scripts
> * Allow EXPLAIN output to be more easily processed by scripts, perhaps XML
2007-06-13 21:38:00 +00:00
Magnus Hagander 1ad08a8e9a Update documentation of resultmap file format. 2007-06-12 17:49:12 +00:00
Tom Lane a9545b3aef Improve UPDATE/DELETE WHERE CURRENT OF so that they can be used from plpgsql
with a plpgsql-defined cursor.  The underlying mechanism for this is that the
main SQL engine will now take "WHERE CURRENT OF $n" where $n is a refcursor
parameter.  Not sure if we should document that fact or consider it an
implementation detail.  Per discussion with Pavel Stehule.
2007-06-11 22:22:42 +00:00
Tom Lane bdc71c2cb1 Minor wording improvement. 2007-06-11 15:08:32 +00:00
Bruce Momjian 5f2bda15eb Done:
< 	o Allow UPDATE/DELETE WHERE CURRENT OF cursor
<
< 	  This requires using the row ctid to map cursor rows back to the
< 	  original heap row. This become more complicated if WITH HOLD cursors
< 	  are to be supported because WITH HOLD cursors have a copy of the row
< 	  and no FOR UPDATE lock.
< 	  http://archives.postgresql.org/pgsql-hackers/2007-01/msg01014.php
<
> 	o -Allow UPDATE/DELETE WHERE CURRENT OF cursor
2007-06-11 01:51:50 +00:00
Tom Lane 6808f1b1de Support UPDATE/DELETE WHERE CURRENT OF cursor_name, per SQL standard.
Along the way, allow FOR UPDATE in non-WITH-HOLD cursors; there may once
have been a reason to disallow that, but it seems to work now, and it's
really rather necessary if you want to select a row via a cursor and then
update it in a concurrent-safe fashion.

Original patch by Arul Shaji, rather heavily editorialized by Tom Lane.
2007-06-11 01:16:30 +00:00
Alvaro Herrera 2b438c12cc Avoid passing zero as a value for vacuum_cost_limit, because it's not a valid
value for the vacuum code.  Instead, make zero signify getting the value from a
higher level configuration facility, just like -1 in the original coding.  We
still document that -1 is the value that disables the feature, to avoid
confusing the user unnecessarily.

Reported by Galy Lee in <200705310914.l4V9E6JA094603@wwwmaster.postgresql.org>;
per subsequent discussion.
2007-06-08 21:09:49 +00:00
Tom Lane 4213e5f0db Add note that LIMIT without ORDER BY can produce outright nondeterministic
results.  Necessary due to introduction of syncscan patch.
2007-06-08 20:26:18 +00:00
Bruce Momjian a3e3389913 Done:
< * Allow sequential scans to take advantage of other concurrent
> * -Allow sequential scans to take advantage of other concurrent
<
<   One possible implementation is to start sequential scans from the lowest
<   numbered buffer in the shared cache, and when reaching the end wrap
<   around to the beginning, rather than always starting sequential scans
<   at the start of the table.
<
<   http://archives.postgresql.org/pgsql-patches/2006-12/msg00076.php
<   http://archives.postgresql.org/pgsql-hackers/2006-12/msg00408.php
<   http://archives.postgresql.org/pgsql-hackers/2006-12/msg00784.php
<   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00415.php
<
2007-06-08 18:45:22 +00:00
Tom Lane 24ee8af573 Rework temp_tablespaces patch so that temp tablespaces are assigned separately
for each temp file, rather than once per sort or hashjoin; this allows
spreading the data of a large sort or join across multiple tablespaces.
(I remain dubious that this will make any difference in practice, but certain
people insisted.)  Arrange to cache the results of parsing the GUC variable
instead of recomputing from scratch on every demand, and push usage of the
cache down to the bottommost fd.c level.
2007-06-07 19:19:57 +00:00
Tom Lane 04d919a11a Fix array_dims() example to be consistent with the data previously shown.
Christian Rossow
2007-06-07 14:49:56 +00:00
Tom Lane 2d4db3675f Fix up text concatenation so that it accepts all the reasonable cases that
were accepted by prior Postgres releases.  This takes care of the loose end
left by the preceding patch to downgrade implicit casts-to-text.  To avoid
breaking desirable behavior for array concatenation, introduce a new
polymorphic pseudo-type "anynonarray" --- the added concatenation operators
are actually text || anynonarray and anynonarray || text.
2007-06-06 23:00:50 +00:00
Tom Lane 31edbadf4a Downgrade implicit casts to text to be assignment-only, except for the ones
from the other string-category types; this eliminates a lot of surprising
interpretations that the parser could formerly make when there was no directly
applicable operator.

Create a general mechanism that supports casts to and from the standard string
types (text,varchar,bpchar) for *every* datatype, by invoking the datatype's
I/O functions.  These new casts are assignment-only in the to-string direction,
explicit-only in the other, and therefore should create no surprising behavior.
Remove a bunch of thereby-obsoleted datatype-specific casting functions.

The "general mechanism" is a new expression node type CoerceViaIO that can
actually convert between *any* two datatypes if their external text
representations are compatible.  This is more general than needed for the
immediate feature, but might be useful in plpgsql or other places in future.

This commit does nothing about the issue that applying the concatenation
operator || to non-text types will now fail, often with strange error messages
due to misinterpreting the operator as array concatenation.  Since it often
(not always) worked before, we should either make it succeed or at least give
a more user-friendly error; but details are still under debate.

Peter Eisentraut and Tom Lane
2007-06-05 21:31:09 +00:00
Peter Eisentraut 9539e64bc0 Remove gratuitous response messages from utility programs.
(Possibly release notes material, lest users be confused.)

The --quiet option is now obsolete and without effect in createdb,
createuser, dropdb, dropuser; kept for compatibility but marked for
removal in 8.4.

Progress messages when acting on all databases now go to stdout instead
of stderr, since they are not in fact errors.

Ordered options in reindexdb reference page alphabetically, like in
other programs' pages.
2007-06-04 10:02:40 +00:00
Bruce Momjian 55477d742e Remove description for:
o -Add a GUC variable to control the tablespace for temporary objects
          and sort files
<
< 	  It could start with a random tablespace from a supplied list and
< 	  cycle through the list.
<
2007-06-03 18:49:28 +00:00
Tom Lane acfce502ba Create a GUC parameter temp_tablespaces that allows selection of the
tablespace(s) in which to store temp tables and temporary files.  This is a
list to allow spreading the load across multiple tablespaces (a random list
element is chosen each time a temp object is to be created).  Temp files are
not stored in per-database pgsql_tmp/ directories anymore, but per-tablespace
directories.

Jaime Casanova and Albert Cervera, with review by Bernd Helmle and Tom Lane.
2007-06-03 17:08:34 +00:00
Bruce Momjian 4e023373d0 Re-add TODO and clarify it is for the kernel cache:
< * Allow free-behind capability for large sequential scans, perhaps using
<   posix_fadvise()
> * Allow free-behind capability for large sequential scans to avoid
>   kernel cache spoiling
2007-06-02 11:28:01 +00:00
Bruce Momjian ededa6dfc8 TODO item not needed anymore now that the buffer cache is
scan-resistant:

<
< * Allow free-behind capability for large sequential scans, perhaps using
<   posix_fadvise()
<
<   Posix_fadvise() can control both sequential/random file caching and
<   free-behind behavior, but it is unclear how the setting affects other
<   backends that also have the file open, and the feature is not supported
<   on all operating systems.
2007-06-02 02:46:38 +00:00
Neil Conway f086be3d39 Allow leading and trailing whitespace in the input to the boolean
type. Also, add explicit casts between boolean and text/varchar. Both
of these changes are for conformance with SQL:2003.

Update the regression tests, bump the catversion.
2007-06-01 23:40:19 +00:00
Bruce Momjian 41ef1c0f32 Add URL for:
o Research self-referential UPDATEs that see inconsistent row versions
          in read-committed mode
<
> 	  http://archives.postgresql.org/pgsql-hackers/2007-06/msg00016.php
2007-06-01 18:41:55 +00:00
Bruce Momjian 4fbdcc174e Update wording:
o Research self-referential UPDATEs that see inconsistent row versions
          in read-committed mode


http://archives.postgresql.org/pgsql-hackers/2007-05/msg00507.php
2007-06-01 18:40:42 +00:00
Bruce Momjian 397d00af8f Wording improvement. 2007-06-01 04:11:43 +00:00
Bruce Momjian 4dc6319331 Update FAQ_DEV URL to output for text format. 2007-06-01 04:05:36 +00:00
Bruce Momjian 95e9f4ede3 Add URL for code comments to developer's FAQ:
http://www.ibm.com/developerworks/linux/library/l-clear-code/?ca=dgr-FClnxw01linuxcodetips
2007-06-01 00:28:35 +00:00
Bruce Momjian 9b89c13ab5 Update:
< * Consider allowing 64-bit integers to be passed by value on 64-bit
<   platforms
> * Consider allowing 64-bit integers and floats to be passed by value on
>   64-bit platforms
>
>   Also change 32-bit floats (float4) to be passed by value at the same
>   time.
>
2007-05-30 20:26:06 +00:00
Bruce Momjian 0a6f2ee84d Fix wording:
< * Consider allowing 64-bit integers to be passed by reference on 64-bit
> * Consider allowing 64-bit integers to be passed by value on 64-bit
2007-05-30 20:02:41 +00:00
Bruce Momjian 8a73ec138e Add:
>
> * Consider allowing 64-bit integers to be passed by reference on 64-bit
>   platforms
2007-05-30 20:00:35 +00:00
Bruce Momjian 9e38d2a4a8 Update documentation mention of VACUUM FULL and CLUSTER where
appropriate.

Guillaume Cottenceau
2007-05-30 19:45:01 +00:00
Bruce Momjian 85df43f341 Add URL for:
* Improve speed with indexes

  For large table adjustments during VACUUM FULL, it is faster to cluster
  or reindex rather than update the index.  Also, index updates can bloat
  the index.
2007-05-30 19:07:20 +00:00
Bruce Momjian 7d3b7011b0 Add documentation reference to statistical functions from func.sgml.
Jim Nasby
2007-05-30 18:13:29 +00:00
Bruce Momjian 44af16f6b7 Update cvsutils documentation description. 2007-05-30 18:00:08 +00:00
Bruce Momjian ea2ab0bd10 Update cvs instructions to suggest cvsutils.
David Fetter
2007-05-30 17:41:43 +00:00
Neil Conway 6af04882de Fix a bug in input processing for the "interval" type. Previously,
"microsecond" and "millisecond" units were not considered valid input
by themselves, which caused inputs like "1 millisecond" to be rejected
erroneously.

Update the docs, add regression tests, and backport to 8.2 and 8.1
2007-05-29 04:58:43 +00:00
Bruce Momjian e031844eac Update wording:
< * Fix self-referential UPDATEs seeing inconsistent row versions in
> * Fix self-referential UPDATEs that see inconsistent row versions in
2007-05-28 23:56:29 +00:00
Bruce Momjian 4c75abde53 Add:
>
> * Fix self-referential UPDATEs seeing inconsistent row versions in
>   read-committed mode
>
>   http://archives.postgresql.org/pgsql-hackers/2007-05/msg00507.php
2007-05-28 23:56:00 +00:00
Peter Eisentraut 3963574d13 XPath fixes:
- Function renamed to "xpath".
 - Function is now strict, per discussion.
 - Return empty array in case when XPath expression detects nothing
   (previously, NULL was returned in such case), per discussion.
 - (bugfix) Work with fragments with prologue: select xpath('/a',
   '<?xml version="1.0"?><a /><b />'); // now XML datum is always wrapped
   with dummy <x>...</x>, XML prologue simply goes away (if any).
 - Some cleanup.

Nikolay Samokhvalov

Some code cleanup and documentation work by myself.
2007-05-21 17:10:29 +00:00
Peter Eisentraut 0c644d2c3d Fix spurious German index entry 2007-05-21 15:11:12 +00:00
Peter Eisentraut 2f1bf8248a Mark some intermediate targets as .PRECIOUS, to replace the recently removed
.SECONDARY target.  This makes experimentation with the PDF builds easier.
2007-05-18 15:55:03 +00:00
Bruce Momjian f22967ee38 Done:
< * Fix problem with excessive logging during SSL disconnection
> * -Fix problem with excessive logging during SSL disconnection
2007-05-18 01:22:09 +00:00
Bruce Momjian 16b5254318 dded to TODO:
>
> * Support scoped IPv6 addresses
>
>   http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php
2007-05-17 23:42:33 +00:00
Neil Conway db5ff64df1 Tweaks for SGML markup. 2007-05-17 23:36:04 +00:00
Bruce Momjian 3f186a2034 Add URL for:
* Implement the SQL standard mechanism whereby REVOKE ROLE revokes only
  the privilege granted by the invoking role, and not those granted
  by other roles
>
>   http://archives.postgresql.org/pgsql-bugs/2007-05/msg00010.php
2007-05-17 22:53:23 +00:00
Bruce Momjian 347534e85a Add, per Alvaro:
>
> * Implement the SQL standard mechanism whereby REVOKE ROLE revokes only
>   the privilege granted by the invoking role, and not those granted
>   by other roles
2007-05-17 22:44:11 +00:00
Bruce Momjian a11d4b8bea Add:
>
> * Fix problem with excessive logging during SSL disconnection
>
>   http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php
>   http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php
2007-05-17 22:42:54 +00:00
Neil Conway dfcf99bf93 Fix a bunch of bad grammar in the docs: "<link>, which see for more
information" is un-good English.
2007-05-15 19:43:51 +00:00
Neil Conway 79ba540b78 Various fixes for the SGML docs. Consistently use spaces before/after
parentheses in syntax descriptions. Consistently use the present tense
when describing the basic purpose of each "DROP" command. Add a few
more hyperlinks.
2007-05-15 19:13:55 +00:00
Bruce Momjian 178214d2ae Update comments for PG_DETOAST_PACKED and VARDATA_ANY on a structures
that require alignment.

Add a paragraph to the "User-Defined Types" chapter on using these
macros since it seems like they're a hit.

Gregory Stark
2007-05-15 17:39:54 +00:00
Neil Conway 39712d1184 Make a few marginal improvements to the documentation for the AV
launcher daemon.
2007-05-15 15:52:40 +00:00
Neil Conway 513836c7aa Add a note to the documentation to clarify that even when
"autovacuum = off", the system may still periodically start autovacuum
processes to prevent XID wraparound. Patch from David Fetter, with
editorializing.
2007-05-15 15:35:46 +00:00
Bruce Momjian 3288d5a989 Add URLs for:
* Add support for SQL-standard GENERATED/IDENTITY columns

>   http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php
>   http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php
2007-05-15 02:36:43 +00:00
Bruce Momjian ed9a31b89b Update instructions on creating TODO entry. 2007-05-14 16:38:42 +00:00
Bruce Momjian c59cb9d325 Mark as done, add URL for other item:
< 	o Add support for arrays of complex types
>
> 	  http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php
>
> 	o -Add support for arrays of complex types
2007-05-13 11:22:04 +00:00
Bruce Momjian 9083e91339 Add:
> * Have configure choose integer datetimes by default
>
>   http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php
2007-05-12 22:10:40 +00:00
Bruce Momjian c01b4d50e0 Add:
> 		o Allow data to be passed in native language formats, rather
> 		  than only text
> 		  http://archives.postgresql.org/pgsql-hackers/2007-05/msg00289.php
2007-05-12 22:06:42 +00:00
Tom Lane 9aa3c782c9 Fix the problem that creating a user-defined type named _foo, followed by one
named foo, would work but the other ordering would not.  If a user-specified
type or table name collides with an existing auto-generated array name, just
rename the array type out of the way by prepending more underscores.  This
should not create any backward-compatibility issues, since the cases in which
this will happen would have failed outright in prior releases.

Also fix an oversight in the arrays-of-composites patch: ALTER TABLE RENAME
renamed the table's rowtype but not its array type.
2007-05-12 00:55:00 +00:00
Tom Lane d8326119c8 Fix my oversight in enabling domains-of-domains: ALTER DOMAIN ADD CONSTRAINT
needs to check the new constraint against columns of derived domains too.

Also, make it error out if the domain to be modified is used within any
composite-type columns.  Eventually we should support that case, but it seems
a bit painful, and not suitable for a back-patch.  For the moment just let the
user know we can't do it.

Backpatch to 8.2, which is the only released version that allows nested
domains.  Possibly the other part should be back-patched further.
2007-05-11 20:17:15 +00:00
Neil Conway 3b6afdd7f9 Improvements to the SGML docs for TRUNCATE and CLUSTER. 2007-05-11 19:40:08 +00:00
Tom Lane bc8036fc66 Support arrays of composite types, including the rowtypes of regular tables
and views (but not system catalogs, nor sequences or toast tables).  Get rid
of the hardwired convention that a type's array type is named exactly "_type",
instead using a new column pg_type.typarray to provide the linkage.  (It still
will be named "_type", though, except in odd corner cases such as
maximum-length type names.)

Along the way, make tracking of owner and schema dependencies for types more
uniform: a type directly created by the user has these dependencies, while a
table rowtype or auto-generated array type does not have them, but depends on
its parent object instead.

David Fetter, Andrew Dunstan, Tom Lane
2007-05-11 17:57:14 +00:00
Tom Lane 97f796942f Add an explicit comment about POSIX time zone names having the reverse
sign convention from everyplace else in Postgres.  I don't suppose that
this will stop people from being confused, but at least we can say that
it's documented.
2007-05-08 17:02:59 +00:00
Peter Eisentraut e292090b59 Grammar correction 2007-05-07 07:53:26 +00:00
Neil Conway 3a96742ad2 Doc tweak: add an xref. 2007-05-07 02:03:58 +00:00
Bruce Momjian 4835df303d Done:
< Last updated:		Sat May  5 10:47:39 EDT 2007
> Last updated:		Sat May  5 11:39:57 EDT 2007
< * Flush cached query plans when the dependent objects change,
<   when the cardinality of parameters changes dramatically, or
> * -Flush cached query plans when the dependent objects change or
<
<   A more complex solution would be to save multiple plans for different
<   cardinality and use the appropriate plan based on the EXECUTE values.
<
< * Track dependencies in function bodies and recompile/invalidate
<
<   This is particularly important for references to temporary tables
<   in PL/PgSQL because PL/PgSQL caches query plans.  The only workaround
<   in PL/PgSQL is to use EXECUTE.  One complexity is that a function
<   might itself drop and recreate dependent tables, causing it to
<   invalidate its own query plan.
<
< * Invalidate prepared queries, like INSERT, when the table definition
> * -Track dependencies in function bodies and recompile/invalidate
> * -Invalidate prepared queries, like INSERT, when the table definition
2007-05-05 15:40:01 +00:00
Bruce Momjian dc9d3947e6 Move item:
< * Invalidate prepared queries, like INSERT, when the table definition
<   is altered
>
> * Invalidate prepared queries, like INSERT, when the table definition
>   is altered
2007-05-05 14:47:45 +00:00
Bruce Momjian b573fec82b Done:
> 	o -Allow multiple vacuums so large tables do not starve small
2007-05-05 14:44:15 +00:00
Bruce Momjian aec9dc0efe Wording update to FAQ_DEV.. 2007-05-05 14:33:55 +00:00
Bruce Momjian 799bd9e8c8 Add note to FAQ_DEV that regression tests might need to be added. 2007-05-05 14:31:16 +00:00
Bruce Momjian 6488275b49 In developer's FAQ, update list API, from Tom Lane. 2007-05-05 10:21:13 +00:00
Bruce Momjian 1b57f0e3da Add FAQ item about how patches are reviewed. 2007-05-05 04:09:25 +00:00
Bruce Momjian 71f8127bc6 Done:
> * -Allow ORDER BY ... LIMIT # to select high/low value without sort or
<
<   Right now, if no index exists, ORDER BY ... LIMIT # requires we sort
<   all values to return the high/low value.  Instead The idea is to do a
<   sequential scan to find the high/low value, thus avoiding the sort.
<   MIN/MAX already does this, but not for LIMIT > 1.
<
2007-05-05 03:14:40 +00:00
Andrew Dunstan 774de1d90a Make clearer how arguments and return values in pl/perl are escaped. This is to clarify the situation that Theo Schlossnagle recently reported on -bugs. 2007-05-04 14:55:32 +00:00
Alvaro Herrera 1aefa0489f Fix a few more double words in docs. 2007-05-03 15:47:48 +00:00
Neil Conway 75b4ee1cd1 Fix some typos in the documentation. Patch from Brian Gough. Backport
the relevant fixes to 8.2 as well.
2007-05-03 15:05:56 +00:00
Bruce Momjian b1a1ea49da Update to 8.4:
< * Make standard_conforming_strings the default in 8.3?
> * Make standard_conforming_strings the default in 8.4?
2007-04-29 07:17:12 +00:00
Bruce Momjian 5e95fc0c8b Pl/pgsql MOVE done:
< 		o Add support for MOVE and SCROLL cursors
<
< 		  PL/pgSQL cursors should support the same syntax as
< 		  backend cursors.
<
> 		o -Add support for MOVE cursors
> 		o Add support for SCROLL cursors
2007-04-29 06:48:11 +00:00
Neil Conway 8690ebc26f Support for MOVE in PL/PgSQL. Initial patch from Magnus, some improvements
by Pavel Stehule, and reviewed by Neil Conway.
2007-04-29 01:21:09 +00:00
Neil Conway f2321a3f37 Add support for IN as alternative to FROM in PL/PgSQL's FETCH statement,
for consistency with the backend's FETCH command. Patch from Pavel
Stehule, reviewed by Neil Conway.
2007-04-28 23:54:59 +00:00
Neil Conway a264671116 Remove no-longer-true statement from the docs. Since the default config
now enables row-level stats, the out of the box stats volume is no
longer particularly low.
2007-04-27 20:08:43 +00:00
Neil Conway 16fb5da730 Consistency tweaks for a table in the SGML docs: we don't terminate
table entries describing functions with periods.
2007-04-26 22:10:54 +00:00
Neil Conway c765ca2482 Minor tweak for DISCARD ref page. 2007-04-26 18:00:24 +00:00
Neil Conway 16efdb5ec7 Rename the newly-added commands for discarding session state.
RESET SESSION, RESET PLANS, and RESET TEMP are now DISCARD ALL,
DISCARD PLANS, and DISCARD TEMP, respectively. This is to avoid
confusion with the pre-existing RESET variants: the DISCARD
commands are not actually similar to RESET. Patch from Marko
Kreen, with some minor editorialization.
2007-04-26 16:13:15 +00:00
Neil Conway 85904e0d36 Minor consistency tweak for SGML docs. 2007-04-25 19:48:27 +00:00
Bruce Momjian 197ca8f83e Remove tabs from installation.sgml. 2007-04-25 13:01:41 +00:00
Bruce Momjian fad9fb1d83 Update Japanese FAQs.
Jun Kuwamura
2007-04-25 01:31:01 +00:00
Bruce Momjian f63afbe8d4 Fix typo. 2007-04-24 21:29:42 +00:00
Bruce Momjian 2a2e6d3f0f Update FAQ item:
<H3 id="item3.6">3.6) What is the upgrade process for
   PostgreSQL?</H3>

to reference both versioning and specific upgrade instructions.
2007-04-24 21:28:54 +00:00
Neil Conway 24236db193 Fix newly-introduced documentation typo. 2007-04-23 16:52:53 +00:00
Bruce Momjian 3644ba5f9b Done:
> 	o -Allow commenting of variables in postgresql.conf to restore them
2007-04-22 13:28:43 +00:00
Peter Eisentraut 74496bc298 Contrib module uuid-ossp for generating UUID values using the OSSP UUID
library.  New configure option --with-ossp-uuid to activate.
2007-04-21 17:26:18 +00:00
Andrew Dunstan 71495f296e Document new -with-libxslt build option. 2007-04-21 15:30:28 +00:00
Peter Eisentraut 8073fff8e4 Documentation for UUID type 2007-04-20 21:51:46 +00:00
Bruce Momjian 39c1ce2ccb Remove duplicate text, per Magnus. 2007-04-20 13:48:21 +00:00
Tom Lane 23c8b0ccc6 Fix markup.
Security: CVE-2007-2138
2007-04-20 03:27:23 +00:00
Tom Lane aa27977fe2 Support explicit placement of the temporary-table schema within search_path.
This is needed to allow a security-definer function to set a truly secure
value of search_path.  Without it, a malicious user can use temporary objects
to execute code with the privileges of the security-definer function.  Even
pushing the temp schema to the back of the search path is not quite good
enough, because a function or operator at the back of the path might still
capture control from one nearer the front due to having a more exact datatype
match.  Hence, disable searching the temp schema altogether for functions and
operators.

Security: CVE-2007-2138
2007-04-20 02:37:38 +00:00
Bruce Momjian 7fb1a0b5f3 Release wording updates for releases 8.2.4, 8.1.9, 8.0.13, 7.4.17, 7.3.19. 2007-04-19 13:02:49 +00:00
Bruce Momjian ca3f095b98 Update FAQ for 8.2.4. 2007-04-19 03:05:10 +00:00
Bruce Momjian 3116c2f7c3 Release note updates for 8.2.4, 8.1.9, 8.0.13, 7.4.17, 7.3.19. 2007-04-19 02:47:36 +00:00
Bruce Momjian 05cd021c30 Remove tabs from SGML source files. 2007-04-18 20:44:53 +00:00
Alvaro Herrera ef23a77441 Enable configurable log of autovacuum actions. Initial patch from Simon
Riggs, additional code and docs by me.  Per discussion.
2007-04-18 16:44:18 +00:00
Magnus Hagander 432ea3cffd Enable building of 64-bit libpq using visual studio 8 and the
win32.mak file.
Enable building with kerberos support using the win32.mak file.

Hiroshi Saito + me
2007-04-18 13:50:09 +00:00
Bruce Momjian 9e53f83c75 Item not done, per Pavel:
< 		o -Add MOVE
< 		o -Add support for SCROLL cursors
> 		o Add support for MOVE and SCROLL cursors
2007-04-18 13:31:17 +00:00
Magnus Hagander 62d25256f1 Change default build to release, to be consistent with unix build.
Make it possible to set the default from builenv.bat.

Per request from Dave Page
2007-04-18 10:14:06 +00:00
Bruce Momjian c228448910 Update docs/error message for CSV quote/escape --- must be ASCII.
Backpatch doc change to 8.2.X.
2007-04-18 02:28:22 +00:00
Bruce Momjian 739425dbe3 Document that the COPY delimiter must be an ASCII byte, rather than a
multi-byte value.  It can also be a single-byte encoded character if
the client and server versions match.

Backpatch to 8.2.X.
2007-04-18 00:17:56 +00:00
Bruce Momjian f30a72dcdb Update TODO for plpgsql cursors:
< 		o -Add support for WITH HOLD and SCROLL cursors
> 		o -Add support for SCROLL cursors
> 		o Add support for WITH HOLD cursors
2007-04-17 23:54:32 +00:00
Bruce Momjian 097a200d89 Also done for PL/pgSQL:
< 		o Add support for WITH HOLD and SCROLL cursors
> 		o -Add support for WITH HOLD and SCROLL cursors
2007-04-17 21:22:51 +00:00
Bruce Momjian f672b875ae Done:
< 		o Add MOVE
> 		o -Add MOVE
2007-04-17 21:22:13 +00:00
Bruce Momjian e6facb3b95 Add warning about TODO item:
<   Currently all schemas are owned by the super-user because they are
<   copied from the template1 database.
>   Currently all schemas are owned by the super-user because they are copied
>   from the template1 database.  However, since all objects are inherited
>   from the template database, it is not clear that setting schemas to the db
>   owner is correct.
2007-04-17 20:50:34 +00:00
Bruce Momjian 6c2c6682f6 Not easy, per Alvaro:
< * %Set proper permissions on non-system schemas during db creation
> * Set proper permissions on non-system schemas during db creation
2007-04-17 20:47:55 +00:00
Tom Lane 2b99411df2 Fix erroneous column counts in some documentation tables. Brian Gough 2007-04-17 17:30:35 +00:00
Alvaro Herrera e2a186b03c Add a multi-worker capability to autovacuum. This allows multiple worker
processes to be running simultaneously.  Also, now autovacuum processes do not
count towards the max_connections limit; they are counted separately from
regular processes, and are limited by the new GUC variable
autovacuum_max_workers.

The launcher now has intelligence to launch workers on each database every
autovacuum_naptime seconds, limited only on the max amount of worker slots
available.

Also, the global worker I/O utilization is limited by the vacuum cost-based
delay feature.  Workers are "balanced" so that the total I/O consumption does
not exceed the established limit.  This part of the patch was contributed by
ITAGAKI Takahiro.

Per discussion.
2007-04-16 18:30:04 +00:00
Tom Lane f01b196597 Support scrollable cursors (ie, 'direction' clause in FETCH) in plpgsql.
Pavel Stehule, reworked a bit by Tom.
2007-04-16 17:21:24 +00:00
Tom Lane 66888f7424 Expose more cursor-related functionality in SPI: specifically, allow
access to the planner's cursor-related planning options, and provide new
FETCH/MOVE routines that allow access to the full power of those commands.
Small refactoring of planner(), pg_plan_query(), and pg_plan_queries()
APIs to make it convenient to pass the planning options down from SPI.

This is the core-code portion of Pavel Stehule's patch for scrollable
cursor support in plpgsql; I'll review and apply the plpgsql changes
separately.
2007-04-16 01:14:58 +00:00
Tatsuo Ishii 6041b92238 Make JOHAB client only encoding per discussions in pgsql-hackers
"Server-side support of all encodings" around 2007/3/26.
initdb required.
2007-04-15 10:56:30 +00:00
Bruce Momjian 1b75d634a6 Update TODO:
< 	o Consider reducing on-disk varlena length from four to two
< 	  because a heap row cannot be more than 64k in length
> 	o Consider reducing on-disk varlena length from four bytes to
> 	  two because a heap row cannot be more than 64k in length
2007-04-13 23:23:22 +00:00
Bruce Momjian 5b464e1196 Update Win32 FAQ HTML version to match corrected text version. 2007-04-13 20:00:10 +00:00
Neil Conway 85bbf01e08 Minor fixes for the EXPLAIN reference page. Mention the fact that
EXPLAIN ANALYZE can sometimes be significantly slower than running
the same query normally, and make some minor markup improvements.
2007-04-12 22:39:21 +00:00
Neil Conway 6df6d8e361 Fixes for RESET SESSION patch, per Alvaro. Fix a typo in the RESET
ref page (sorry, my fault!), and simplify the coding of
ResetTempTableNamespace().
2007-04-12 22:34:45 +00:00
Bruce Momjian c0e42e9325 Done:
> * -Add RESET SESSION command to reset all session state
2007-04-12 19:38:26 +00:00
Neil Conway d13e903bea RESET SESSION, plus related new DDL commands. Patch from Marko Kreen,
reviewed by Neil Conway. This patch adds the following DDL command
variants: RESET SESSION, RESET TEMP, RESET PLANS, CLOSE ALL, and
DEALLOCATE ALL. RESET SESSION is intended for use by connection
pool software and the like, in order to reset a client session
to something close to its initial state.

Note that while most of these command variants can be executed
inside a transaction block (but are not transaction-aware!),
RESET SESSION cannot. While this is inconsistent, it is intended
to catch programmer mistakes: RESET SESSION in an open transaction
block is probably unintended.
2007-04-12 06:53:49 +00:00
Bruce Momjian e6e47f278d Update text, per Greg Stark:
< 	o Allow single-byte header storage for arrays
> 	o Allow single-byte header storage for array elements
2007-04-11 21:02:31 +00:00
Bruce Momjian f7424b0d4b Add:
> 	o Allow single-byte header storage for arrays
2007-04-10 01:33:39 +00:00
Bruce Momjian 170fa82b1a Add:
> 	o Have WITH CONSTRAINTS also create constraint indexes
> 	  http://archives.postgresql.org/pgsql-patches/2007-04/msg00149.php
2007-04-10 01:22:12 +00:00
Bruce Momjian 485d9ca96f Add URL for:
* Simplify ability to create partitioned tables
>   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00151.php
2007-04-09 21:18:29 +00:00
Bruce Momjian bbed5ba914 Done:
> 	o -Make CLUSTER preserve recently-dead tuples per MVCC requirements
2007-04-08 02:17:02 +00:00
Tom Lane e51ac1b899 Minor editorialization on CLUSTER reference page. 2007-04-08 02:07:35 +00:00
Bruce Momjian c218c0bfda Done:
> 	o -Add more logical syntax CLUSTER table USING index;
2007-04-08 00:36:08 +00:00
Bruce Momjian e55c8e36ae Support syntax "CLUSTER table USING index", which is more logical.
Holger Schurig
2007-04-08 00:26:34 +00:00
Tom Lane d7e2de6629 Add note that TRUNCATE is not MVCC-safe. 2007-04-07 17:12:15 +00:00
Bruce Momjian 5695f38f74 Slight wording improvement. 2007-04-07 04:04:56 +00:00
Neil Conway 64ee1a8a55 Fix a few typos in the docs. 2007-04-07 03:58:08 +00:00
Bruce Momjian 8e0f8630a6 Remove example of SQL-standard syntax for GRANT/REVOKE --- was causing
confusion.
2007-04-07 03:48:25 +00:00
Bruce Momjian 5f3fbe14f3 In docs, Symetric -> Symmetric.
Michael Fuhr
2007-04-07 03:34:36 +00:00
Bruce Momjian 9af03980cf Done:
> * -Allow use of indexes to search for NULLs
2007-04-07 03:08:20 +00:00
Bruce Momjian d6e3bb63cb Done:
o -Support a smaller header for short variable-length fields
2007-04-07 02:48:16 +00:00
Tom Lane f02a82b6ad Make 'col IS NULL' clauses be indexable conditions.
Teodor Sigaev, with some kibitzing from Tom Lane.
2007-04-06 22:33:43 +00:00
Tom Lane 146c83c045 Fix some now-obsolete comments about the space used by various data
types.
2007-04-06 19:22:38 +00:00
Tom Lane 3e23b68dac Support varlena fields with single-byte headers and unaligned storage.
This commit breaks any code that assumes that the mere act of forming a tuple
(without writing it to disk) does not "toast" any fields.  While all available
regression tests pass, I'm not totally sure that we've fixed every nook and
cranny, especially in contrib.

Greg Stark with some help from Tom Lane
2007-04-06 04:21:44 +00:00
Bruce Momjian bd097ccdd4 Add URL for:
* Reduce WAL traffic so only modified values are written rather than
  entire rows
>
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php
>
2007-04-05 02:08:53 +00:00
Bruce Momjian 43666e8216 Improve documentation/warning when --with-libxml is not used in the
installation.
2007-04-05 01:46:27 +00:00
Bruce Momjian 5dbd9c9c53 Re-add FAQ item 3.7 which was accidentally removed in previous commit:
<H3 id="item3.7">3.7) What computer hardware should I use?</H3>
2007-04-04 19:26:58 +00:00
Bruce Momjian cd39718446 Document how to identify an invalid index after a failed CREATE INDEX
CONCURRENTLY.

Gregory Stark
2007-04-03 22:38:35 +00:00
Bruce Momjian fb4279e99c Done:
> 		o -Allow PL/PythonU to return boolean rather than 1/0
2007-04-03 15:51:36 +00:00
Tom Lane b3005276eb Decouple the values of TOAST_TUPLE_THRESHOLD and TOAST_MAX_CHUNK_SIZE.
Add the latter to the values checked in pg_control, since it can't be changed
without invalidating toast table content.  This commit in itself shouldn't
change any behavior, but it lays some necessary groundwork for experimentation
with these toast-control numbers.

Note: while TOAST_TUPLE_THRESHOLD can now be changed without initdb, some
thought still needs to be given to needs_toast_table() in toasting.c before
unleashing random changes.
2007-04-03 04:14:26 +00:00
Bruce Momjian 4fea0ca8f3 Update:
< * Add transaction_idle_timeout GUC so locks are not held for long
> * Add idle_in_transaction_timeout GUC so locks are not held for long
2007-04-03 04:12:00 +00:00
Bruce Momjian d542bde900 Update:
< * Add idle_timeout GUC so locks are not held for log periods of time
> * Add transaction_idle_timeout GUC so locks are not held for long
>   periods of time
2007-04-03 02:17:11 +00:00
Bruce Momjian 401bc9cfcb Add:
> * Allow all data types to cast to and from TEXT
>
>   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00017.php
>
>
2007-04-03 01:25:12 +00:00
Bruce Momjian f4cc73731d Add:
>
> * Add idle_timeout GUC so locks are not held for log periods of time
2007-04-03 01:21:06 +00:00
Bruce Momjian aa8fb12498 Add URL for:
o Allow UPDATE tab SET ROW (col, ...) = (SELECT...)
<
> 	  http://archives.postgresql.org/pgsql-hackers/2007-03/msg00865.php
2007-04-03 01:16:24 +00:00
Bruce Momjian 133d1d4f45 Add URL for:
o Allow commenting of variables in postgresql.conf to restore them
          to defaults
> 	  http://archives.postgresql.org/pgsql-patches/2007-03/msg00180.php
2007-04-02 23:25:20 +00:00
Bruce Momjian 5d8a23403f Add URL for:
o Allow a warm standby system to also allow read-only
statements
            [pitr]
> 	    http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php
2007-04-02 22:50:19 +00:00
Bruce Momjian 17285959c1 Add URL for:
* Improve speed with indexes

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

>
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00024.php
2007-04-02 22:49:03 +00:00
Bruce Momjian 3a7d66b48a Add:
> 	o Have timestamp subtraction not call justify_hours()?
>
> 	  http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php
>
< 	o Add overflow checking to timestamp and interval arithmetic
> 	o Add overflow checking to timestamp and interval arithmetic
2007-04-02 22:46:10 +00:00
Bruce Momjian ffb27446cc Pl/python -> Pl/PythonU:
< 		o Add table function support to pltcl, plpython
> 		o Add table function support to pltcl, plpythonu
< 		o Add PL/Python tracebacks
> 		o Add PL/PythonU tracebacks
< 		o Allow PL/Python to return boolean rather than 1/0
> 		o Allow PL/PythonU to return boolean rather than 1/0
2007-04-02 21:28:10 +00:00
Bruce Momjian 5c706f1c98 Add:
> * Fix to_date()-related functions to consistently issue errors
>
>   http://archives.postgresql.org/pgsql-hackers/2007-02/msg00915.php
>
2007-04-02 21:25:34 +00:00
Bruce Momjian ecd12df117 Add:
>
> 		o Allow PL/Python to return boolean rather than 1/0
>
> 		  http://archives.postgresql.org/pgsql-patches/2007-01/msg00596.php
>
2007-04-02 21:10:53 +00:00
Bruce Momjian d6bac1e8e9 Add item:
>
> * Consider reducing memory used for shared buffer reference count
>
>   http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php
2007-04-02 20:43:40 +00:00
Bruce Momjian 3e8ff14506 Add URL for:
o Allow RETURN to return row or record functions

> 		o Allow RETURN to return row or record functions
> 		  http://archives.postgresql.org/pgsql-patches/2006-08/msg00397.php
> 		  http://archives.postgresql.org/pgsql-hackers/2006-09/msg00388.php
2007-04-02 20:10:16 +00:00
Bruce Momjian cac01fc038 Done:
< * Support a data type with specific enumerated values (ENUM)
<
<   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00979.php
<
> * -Support a data type with specific enumerated values (ENUM)
2007-04-02 17:18:44 +00:00
Bruce Momjian bf56e8a79f > o Add PQexecf() that allows complex parameter substitution
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-03/msg01803.php
2007-04-02 17:15:39 +00:00
Peter Eisentraut 626b4416b9 Put documentation on XML data type and functions in better positions. Add
some index terms.
2007-04-02 15:27:02 +00:00
Tom Lane 57690c6803 Support enum data types. Along the way, use macros for the values of
pg_type.typtype whereever practical.  Tom Dunstan, with some kibitzing
from Tom Lane.
2007-04-02 03:49:42 +00:00
Peter Eisentraut 0b75afda92 Mapping schemas and databases to XML and XML Schema.
Refactor and document the remaining mapping code.
2007-04-01 09:00:26 +00:00
Magnus Hagander 335feca441 Add some instrumentation to the bgwriter, through the stats collector.
New view pg_stat_bgwriter, and the functions required to build it.
2007-03-30 18:34:56 +00:00
Bruce Momjian f9ce21f94c Update Japanese FAQ.
Jun Kuwamura
2007-03-30 03:46:53 +00:00
Bruce Momjian 2ebfe9a818 Update SSL description for when SSL root.crt/server.crt is required;
add link to libpq SSL does from server docs.

Backpatch to 8.2.X.
2007-03-30 03:19:02 +00:00
Bruce Momjian 31f0bacb44 Add to:
* Reduce storage space for small NUMERICs
>   http://archives.postgresql.org/pgsql-patches/2007-02/msg00505.php
2007-03-29 21:44:39 +00:00
Bruce Momjian 84045144e7 Add:
> * Reduce storage space for small NUMERICs
>
>   http://archives.postgresql.org/pgsql-hackers/2007-02/msg01331.php
>
2007-03-29 21:43:34 +00:00
Bruce Momjian 418834f60d Update:
< 	o Add more logical syntax CLUSTER table USING index;
> 	o Add more logical syntax CLUSTER table USING index;
2007-03-29 20:24:34 +00:00
Bruce Momjian 9456a60f52 Update item:
o Add more logical syntax CLUSTER table USING index;
< 	o Add more logical syntax CLUSTER table ORDER BY index;
> 	o Add more logical syntax CLUSTER table USING index;
2007-03-29 20:23:56 +00:00
Magnus Hagander 96b171903d Make ECPG regression tests use native threading instead of pthreads, now that
ecpglib supports it.
Change configure (patch from Bruce) and msvc build system to no longer require
 pthreads on win32, since all parts of postgresql can be thread-safe using the
 native platform functions.
2007-03-29 15:30:52 +00:00
Tom Lane fba8113c1b Teach CLUSTER to skip writing WAL if not needed (ie, not using archiving)
--- Simon.
Also, code review and cleanup for the previous COPY-no-WAL patches --- Tom.
2007-03-29 00:15:39 +00:00
Bruce Momjian 553c7aeebf Add URL for:
* Automatically create rules on views so they are updateable, per SQL99
>   http://archives.postgresql.org/pgsql-patches/2006-08/msg00255.php
2007-03-28 02:17:45 +00:00
Bruce Momjian 1678e16cb3 Remove item due to lack of interest:
< * %Add pg_get_acldef(), pg_get_typedefault(), pg_get_attrdef(),
<   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
<
<   These would be for application use, not for use by pg_dump.
<
2007-03-27 17:27:01 +00:00
Bruce Momjian d3afd68051 Add:
>
> * Allow configuration of backend priorities via the operating system
>
>   Though backend priorities make priority inversion during lock
>   waits possible, research shows that this is not a huge problem.
>   http://archives.postgresql.org/pgsql-general/2007-02/msg00493.php
2007-03-27 15:36:40 +00:00
Bruce Momjian 06d5fddfbf Add documentation for pulling the CVS repository using rsync, and
mention cvsup last.
2007-03-27 01:45:22 +00:00
Bruce Momjian 64652e8632 Update:
* Improve dead row detection during multi-statement transactions usage
2007-03-26 23:48:43 +00:00
Bruce Momjian 997b3c1b5d Add:
> * Increase the number of rows recognized as dead during multi-statement
>   transactions
>
>   http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php
>
2007-03-26 23:47:53 +00:00
Tom Lane b581b85406 Fix seriously broken markup for libpq-envars cross-references. 2007-03-26 17:23:37 +00:00
Tom Lane 55a7cf80a0 Allow non-superuser database owners to create procedural languages.
A DBA is allowed to create a language in his database if it's marked
"tmpldbacreate" in pg_pltemplate.  The factory default is that this is set
for all standard trusted languages, but of course a superuser may adjust
the settings.  In service of this, add the long-foreseen owner column to
pg_language; renaming, dropping, and altering owner of a PL now follow
normal ownership rules instead of being superuser-only.
Jeremy Drake, with some editorialization by Tom Lane.
2007-03-26 16:58:41 +00:00
Tom Lane 287ed68dd2 Remove assertion that constraint_exclusion risks wrong answers if
table constraints are changed; this is no longer true now that we
have a plan invalidation mechanism.
2007-03-26 01:41:57 +00:00
Tom Lane bf8236526b Remove the prohibition on executing cursor commands through SPI_execute.
Vadim had included this restriction in the original design of the SPI code,
but I'm darned if I can see a reason for it.

I left the macro definition of SPI_ERROR_CURSOR in place, so as not to
needlessly break any SPI callers that are checking for it, but that code
will never actually be returned anymore.
2007-03-25 23:27:59 +00:00
Tatsuo Ishii 75c6519ff6 Add new encoding EUC_JIS_2004 and SHIFT_JIS_2004,
along with new conversions among EUC_JIS_2004, SHIFT_JIS_2004 and UTF-8.
catalog version has been bump up.
2007-03-25 11:56:04 +00:00
Bruce Momjian 7b4726e6c3 Add:
>
> * Allow BEFORE INSERT triggers on views
>
>   http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php
2007-03-25 02:21:19 +00:00
Bruce Momjian b72426d351 Add:
> 	o Add more logical syntax CLUSTER table ORDER BY index;
> 	  support current syntax for backward compatibility
2007-03-24 23:12:34 +00:00
Magnus Hagander 8ca1571665 Support for installing NLS files, and update support to use gettext
from gnuwin32.
2007-03-24 22:16:49 +00:00
Bruce Momjian 36d35a14df Document that LDAP URLs should be double-quoted in pg_hba.conf because
commas are often present in the URL.

Backpatch to 8.2.X.
2007-03-24 21:46:23 +00:00
Magnus Hagander 3024b0aa94 Support for running contribcheck on msvc 2007-03-23 09:57:55 +00:00
Bruce Momjian 404c00434c Add:
>
> * Fix cases where invalid byte encodings are accepted by the database,
>   but throw an error on SELECT
>
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00767.php
2007-03-22 20:55:19 +00:00
Bruce Momjian 760b988f9d Add to TODO:
CLUSTER:
>
> 	o %Add VERBOSE option to report tables as they are processed,
> 	  like VACUUM VERBOSE
2007-03-22 20:38:42 +00:00
Bruce Momjian c68a631ce7 Remove tabs in SGML files. 2007-03-22 15:46:56 +00:00
Bruce Momjian 183c12e0d7 Remove tabs from SGML file. 2007-03-22 15:45:56 +00:00
Bruce Momjian 2b49e5d3cb Add:
<
<
> 	o During index creation, pre-sort the tuples to improve build speed
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-03/msg01199.php
>
2007-03-21 21:25:46 +00:00
Bruce Momjian 5fc7ba76dd Remove TODO item, not wanted:
< * Add NUMERIC division operator that doesn't round?
<
<   Currently NUMERIC _rounds_ the result to the specified precision.
<   This means division can return a result that multiplied by the
<   divisor is greater than the dividend, e.g. this returns a value > 10:
<
<     SELECT (10::numeric(2,0) / 6::numeric(2,0))::numeric(2,0) * 6;
<
<   The positive modulus result returned by NUMERICs might be considered
<   inaccurate, in one sense.
<
2007-03-21 21:21:21 +00:00
Magnus Hagander 17fdd7833e Add documentation about vcregress. 2007-03-21 19:22:52 +00:00
Bruce Momjian bebbea0c1e Add URL for:
* Add locale-aware MONEY type, and support multiple currencies
  http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php
2007-03-21 16:43:31 +00:00
Bruce Momjian 3b765dba78 Add URL for:
* Allow accurate statistics to be collected on indexes with more than
  one column or expression indexes, perhaps using per-index statistics
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php
2007-03-21 00:33:08 +00:00
Bruce Momjian c45fa5598b In FAQ, reference upgrade info via URL. 2007-03-20 17:43:57 +00:00
Bruce Momjian d89b968319 Not done, reverted:
< 	o -Allow commenting of variables in postgresql.conf to restore them
> 	o Allow commenting of variables in postgresql.conf to restore them
2007-03-20 16:36:20 +00:00
Bruce Momjian e7bb07ea13 Done:
> 	o -Allow commenting of variables in postgresql.conf to restore them
< 	  http://archives.postgresql.org/pgsql-hackers/2006-09/msg01481.php
2007-03-20 16:32:42 +00:00
Neil Conway 9eb78beeae Add three new regexp functions: regexp_matches, regexp_split_to_array,
and regexp_split_to_table. These functions provide access to the
capture groups resulting from a POSIX regular expression match,
and provide the ability to split a string on a POSIX regular
expression, respectively. Patch from Jeremy Drake; code review by
Neil Conway, additional comments and suggestions from Tom and
Peter E.

This patch bumps the catversion, adds some regression tests,
and updates the docs.
2007-03-20 05:45:00 +00:00
Jan Wieck 0fe16500d3 Changes pg_trigger and extend pg_rewrite in order to allow triggers and
rules to be defined with different, per session controllable, behaviors
for replication purposes.

This will allow replication systems like Slony-I and, as has been stated
on pgsql-hackers, other products to control the firing mechanism of
triggers and rewrite rules without modifying the system catalog directly.

The firing mechanisms are controlled by a new superuser-only GUC
variable, session_replication_role, together with a change to
pg_trigger.tgenabled and a new column pg_rewrite.ev_enabled. Both
columns are a single char data type now (tgenabled was a bool before).
The possible values in these attributes are:

     'O' - Trigger/Rule fires when session_replication_role is "origin"
           (default) or "local". This is the default behavior.

     'D' - Trigger/Rule is disabled and fires never

     'A' - Trigger/Rule fires always regardless of the setting of
           session_replication_role

     'R' - Trigger/Rule fires when session_replication_role is "replica"

The GUC variable can only be changed as long as the system does not have
any cached query plans. This will prevent changing the session role and
accidentally executing stored procedures or functions that have plans
cached that expand to the wrong query set due to differences in the rule
firing semantics.

The SQL syntax for changing a triggers/rules firing semantics is

     ALTER TABLE <tabname> <when> TRIGGER|RULE <name>;

     <when> ::= ENABLE | ENABLE ALWAYS | ENABLE REPLICA | DISABLE

psql's \d command as well as pg_dump are extended in a backward
compatible fashion.

Jan
2007-03-19 23:38:32 +00:00
Bruce Momjian e927f8f14e Remove last line of patch license, per Zeugswetter Andreas:
"If the patch is not BSD-licensed, it will be rejected."
2007-03-19 16:53:03 +00:00
Bruce Momjian 79929fff76 Add URL for:
* Simplify ability to create partitioned tables
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00375.php
2007-03-19 15:50:48 +00:00
Bruce Momjian 00c56bb7f8 Add URL for:
* Allow sequential scans to take advantage of other concurrent
  sequential scans, also called "Synchronised Scanning"

  http://archives.postgresql.org/pgsql-hackers/2007-03/msg00415.php
2007-03-19 15:24:17 +00:00
Magnus Hagander e6e78187ef msvc build actually needs Bison 2.2 or later, not 2.1. Or 1.875 as before. 2007-03-17 17:11:41 +00:00
Magnus Hagander 15f4842d70 Add note that diff is required for regression tests. 2007-03-17 14:30:00 +00:00
Magnus Hagander 51d7741db1 Add new columns for tuple statistics on a database level to
pg_stat_database.
2007-03-16 17:57:36 +00:00
Magnus Hagander 348b621894 Show aggregate return types in psql \da output.
Greg Sabino Mullane
2007-03-16 08:28:01 +00:00
Tom Lane 95f6d2d209 Make use of plancache module for SPI plans. In particular, since plpgsql
uses SPI plans, this finally fixes the ancient gotcha that you can't
drop and recreate a temp table used by a plpgsql function.

Along the way, clean up SPI's API a little bit by declaring SPI plan
pointers as "SPIPlanPtr" instead of "void *".  This is cosmetic but
helps to forestall simple programming mistakes.  (I have changed some
but not all of the callers to match; there are still some "void *"'s
in contrib and the PL's.  This is intentional so that we can see if
anyone's compiler complains about it.)
2007-03-15 23:12:07 +00:00
Tom Lane 0169c354bf Arrange to install a "posixrules" entry in our timezone database, so that
POSIX-style timezone specs that don't exactly match any database entry will
be treated as having correct USA DST rules.  Also, document that this can
be changed if you want to use some other DST rules with a POSIX zone spec.

We could consider changing localtime.c's TZDEFRULESTRING, but since that
facility can only deal with one DST transition rule, it seems fairly useless
now; might as well just plan to override it using a "posixrules" entry.

Backpatch as far as 8.0.  There isn't much we can do in 7.x ... either your
libc gets it right, or it doesn't.
2007-03-14 17:38:06 +00:00
Tom Lane 68a6e5e877 Fix broken markup, strange tab width. 2007-03-14 00:15:26 +00:00
Magnus Hagander be40754e91 Rewrite win32 install documentation (it's not client only anymore, and it's
now complete). Update for the MSVC6/Borland support now being only libpq.
Move most of the information about full MSVC build from README file into
documentation.
2007-03-13 16:03:36 +00:00
Peter Eisentraut 02284e224c Minor edits 2007-03-06 09:59:22 +00:00
Peter Eisentraut f12f220e5a Add more information about avoiding Linux OOM killer.
by Toru SHIMOGAKI
2007-03-06 09:54:23 +00:00
Bruce Momjian a535cdf130 Revert temp_tablespaces because of coding problems, per Tom. 2007-03-06 02:06:15 +00:00
Bruce Momjian 37fc8a667e Remove timeline for 8.3 release, now on web site. 2007-03-05 18:04:03 +00:00
Bruce Momjian 0763a56501 Add lo_truncate() to backend and libpq for large object truncation.
Kris Jurka
2007-03-03 19:52:47 +00:00