Commit Graph

7877 Commits

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