Commit Graph

6882 Commits

Author SHA1 Message Date
Bruce Momjian
6a5a241ee6 Add:
> * Add support for arrays of domains
2006-08-16 14:59:26 +00:00
Tom Lane
abc3120e9b Add server support for "plugin" libraries that can be used for add-on tasks
such as debugging and performance measurement.  This consists of two features:
a table of "rendezvous variables" that allows separately-loaded shared
libraries to communicate, and a new GUC setting "local_preload_libraries"
that allows libraries to be loaded into specific sessions without explicit
cooperation from the client application.  To make local_preload_libraries
as flexible as possible, we do not restrict its use to superusers; instead,
it is restricted to load only libraries stored in $libdir/plugins/.  The
existing LOAD command has also been modified to allow non-superusers to
LOAD libraries stored in this directory.

This patch also renames the existing GUC variable preload_libraries to
shared_preload_libraries (after a suggestion by Simon Riggs) and does some
code refactoring in dfmgr.c to improve clarity.

Korry Douglas, with a little help from Tom Lane.
2006-08-15 18:26:59 +00:00
Tom Lane
3d1e01caa4 Support INSERT/UPDATE/DELETE RETURNING in plpgsql, with rowcount checking
as per yesterday's proposal.  Also make things a tad more orthogonal by
adding the recent STRICT addition to EXECUTE INTO.
Jonah Harris and Tom Lane
2006-08-14 21:14:42 +00:00
Tom Lane
3f8db37c2f Tweak SPI_cursor_open to allow INSERT/UPDATE/DELETE RETURNING; this was
merely a matter of fixing the error check, since the underlying Portal
infrastructure already handles it.  This in turn allows these statements
to be used in some existing plpgsql and plperl contexts, such as a
plpgsql FOR loop.  Also, do some marginal code cleanup in places that
were being sloppy about distinguishing SELECT from SELECT INTO.
2006-08-12 20:05:56 +00:00
Bruce Momjian
510aad39d0 Done:
< 	o Allow INSERT/UPDATE ... RETURNING new.col or old.col
<
< 	  This is useful for returning the auto-generated key for an INSERT.
< 	  One complication is how to handle rules that run as part of
< 	  the insert.
< 	  http://archives.postgresql.org/pgsql-patches/2005-07/msg00568.php
> 	o -Allow INSERT/UPDATE ... RETURNING new.col or old.col
2006-08-12 03:50:27 +00:00
Bruce Momjian
aeb056f610 Fix wording, per Neil. 2006-08-12 03:48:32 +00:00
Tom Lane
7a3e30e608 Add INSERT/UPDATE/DELETE RETURNING, with basic docs and regression tests.
plpgsql support to come later.  Along the way, convert execMain's
SELECT INTO support into a DestReceiver, in order to eliminate some ugly
special cases.

Jonah Harris and Tom Lane
2006-08-12 02:52:06 +00:00
Bruce Momjian
99c2b8b8e3 Done:
< 	o %Allow commenting of variables in postgresql.conf to restore them
> 	o -Allow commenting of variables in postgresql.conf to restore them
2006-08-11 20:17:26 +00:00
Bruce Momjian
12e4660574 Revert undesired FAQ_DEV change. 2006-08-11 20:16:50 +00:00
Bruce Momjian
c07fbcf577 plperl:
Allow conversion from perl to postgresql array in OUT parameters. Second,
allow hash form output from procedures with one OUT argument.

Pavel Stehule
2006-08-11 19:42:35 +00:00
Bruce Momjian
6932048b9b Add Neil's presentation to FAQ_DEV. 2006-08-11 19:18:59 +00:00
Bruce Momjian
0d5877ab0c Update for company URL.
Ian Barwick
2006-08-11 18:47:57 +00:00
Bruce Momjian
3638eff501 Add URLs
< * Allow encoding on a per-column basis
> * Allow encoding on a per-column basis optionally using the ICU library:
>   http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
>   http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
2006-08-11 15:53:39 +00:00
Bruce Momjian
64214a2f01 Add URL for typmod:
>   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php
2006-08-09 18:10:34 +00:00
Bruce Momjian
b1d78fc9c7 Add URL:
> 	  http://archives.postgresql.org/pgsql-performance/2004-08/msg00349.php
2006-08-09 16:42:19 +00:00
Bruce Momjian
c7fa4aa3e7 Add TODO items we don't want (Idea from Josh Berkus)
>
>
> Features We Do _Not_ Want
> =========================
>
> * All backends running as threads in a single process (not want)
>
>   This eliminates the process protection we get from the current setup.
>   Thread creation is usually the same overhead as process creation on
>   modern systems, so it seems unwise to use a pure threaded model.
>
> * Optimizer hints (not want)
>
>   Optimizer hints are used to work around problems in the optimizer.  We
>   would rather have the problems reported and fixed.
>   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00506.php
2006-08-09 16:35:51 +00:00
Bruce Momjian
4f81337d9d Update packages:
< 		  A package would be a schema with public/private variables,
> 		  A package would be a schema with session-local variables,
> 		  http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
2006-08-09 14:55:39 +00:00
Bruce Momjian
baefb735ff Update packages description:
< 		  A package would be a schema with its own variables,
< 		  private functions, and initialization functions.  It
> 		  A package would be a schema with public/private variables,
> 		  public/private functions, and initialization functions.  It
2006-08-09 02:48:10 +00:00
Bruce Momjian
bed7d5f635 Update packages:
< 		  private functions, and initialization functions
> 		  private functions, and initialization functions.  It
> 		  is also possible to implement these capabilities
> 		  in all schemas and not use a separate "packages"
> 		  syntax at all.
2006-08-08 22:51:37 +00:00
Bruce Momjian
7f139b813c Update:
< 	o COPY FROM STDIN not implemented because not useful?
> 	o Implement COPY FROM STDIN
2006-08-08 22:39:09 +00:00
Tom Lane
b09bfcaa57 Add a feature for automatic initialization and finalization of dynamically
loaded libraries: call functions _PG_init() and _PG_fini() if the library
defines such symbols.  Hence we no longer need to specify an initialization
function in preload_libraries: we can assume that the library used the
_PG_init() convention, instead.  This removes one source of pilot error
in use of preloaded libraries.  Original patch by Ralf Engelschall,
preload_libraries changes by me.
2006-08-08 19:15:09 +00:00
Bruce Momjian
e00664da48 Reverse order of performance guides so powerpostgresql is first. 2006-08-08 19:05:24 +00:00
Bruce Momjian
cbf0468d66 Add detail on packages:
>
> 		  A package would be a schema with its own variables,
> 		  private functions, and initialization functions
>
2006-08-08 19:03:59 +00:00
Bruce Momjian
46d759cfff Add package item:
< 		o Add Oracle-style packages
> 		o Add Oracle-style packages  (Pavel)
> * Pavel is Pavel Stehule <pavel.stehule@hotmail.com>
2006-08-08 19:02:13 +00:00
Bruce Momjian
2392cdb795 Done:
< 	  o Automatically force archiving of partially-filled WAL files when
> 	  o -Automatically force archiving of partially-filled WAL files when
<
< 	    Doing this will allow administrators to know more easily when
< 	    the archive contains all the files needed for point-in-time
< 	    recovery.
< 	    http://archives.postgresql.org/pgsql-patches/2005-04/msg00121.php
<
< 	  o Add reporting of the current WAL file and offset, perhaps as
> 	  o -Add reporting of the current WAL file and offset, perhaps as
<
< 	    The offset allows parts of a WAL file to be archived using
< 	    an external program.
<
2006-08-08 17:40:02 +00:00
Michael Meskes
75b5630726 Clarified COPY FROM STDIN in ecpg todo 2006-08-08 11:52:51 +00:00
Bruce Momjian
d42cb5d880 Done:
< * Allow protocol-level BIND parameter values to be logged
<
<   http://archives.postgresql.org/pgsql-hackers/2006-02/msg00165.php
> * -Allow protocol-level BIND parameter values to be logged, if text mode
2006-08-08 01:24:36 +00:00
Bruce Momjian
3716f90c39 For protocol-level prepare/bind/execute:
o  print user name for all
	o  print portal name if defined for all
	o  print query for all
	o  reduce log_statement header to single keyword
	o  print bind parameters as DETAIL if text mode
2006-08-08 01:23:15 +00:00
Tom Lane
704ddaaa09 Add support for forcing a switch to a new xlog file; cause such a switch
to happen automatically during pg_stop_backup().  Add some functions for
interrogating the current xlog insertion point and for easily extracting
WAL filenames from the hex WAL locations displayed by pg_stop_backup
and friends.  Simon Riggs with some editorialization by Tom Lane.
2006-08-06 03:53:44 +00:00
Bruce Momjian
a83437fcfd Slight wording improvement in documentation. 2006-08-04 04:07:38 +00:00
Bruce Momjian
49954b4526 Add URL for terminate backend test:
>   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00174.php
2006-08-04 01:24:49 +00:00
Tom Lane
7946f77220 Cause ALTER TABLE to perform ALTER COLUMN DROP DEFAULT operations during
the DROP pass rather than the ADD_CONSTR pass.  On examining the code I
think this was just an oversight rather than intentional, and it seems
to satisfy the principle of least surprise better than the alternative
solution that was discussed.  Add an example to the ref page showing how
to do ALTER TYPE and update the default in one command.  Per gripe from
Markus Bertheau that that wasn't possible.
2006-08-03 20:57:06 +00:00
Tom Lane
9649b182a1 Fix documentation error: GRANT/REVOKE for roles only accept role names
as grantees, not PUBLIC ... and you can't say GROUP either.  Noted by
Brian Hurt.
2006-08-02 16:29:49 +00:00
Bruce Momjian
97eefd6996 Update:
< 	o Add COPY TO STDIN / STDOUT handling
> 	o Add COPY TO STDIN handling
2006-08-02 13:36:45 +00:00
Bruce Momjian
f05fc17cf4 Add:
> 	o In rules, allow VALUES() to contain a mixture of 'old' and 'new'
> 	  references
2006-08-02 13:29:54 +00:00
Bruce Momjian
b5a5524342 Done:
o -Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
2006-08-02 03:11:54 +00:00
Alvaro Herrera
5f69890e15 Editorialize a bit on the recent patch, reverting to the original versions
of the text where appropiate.
2006-08-01 19:17:18 +00:00
Bruce Momjian
c61607bd52 Add pg_dump -X no-data-for-failed-tables option to suppress loading data
if table creation failed (the table already exists).

Martin Pitt
2006-08-01 18:21:44 +00:00
Bruce Momjian
6d0f5ea574 Done:
< 	o %Allow pg_dump to use multiple -t and -n switches  [pg_dump]
<
< 	  http://archives.postgresql.org/pgsql-patches/2006-01/msg00190.php
<
> 	o -Allow pg_dump to use multiple -t and -n switches, exclusion
> 	   ability, and regular expression object matching
2006-08-01 18:07:36 +00:00
Bruce Momjian
aa88497a3a Remove TODO.detail/pg_dump. 2006-08-01 18:06:27 +00:00
Bruce Momjian
8977b68a42 Allow multiple -n (schema) and -t (table) pg_dump options, and add -T
and -N options to exclude objects.  Also support regular expressions for
option object names.

Greg Sabino Mullane
2006-08-01 18:05:04 +00:00
Bruce Momjian
8d5f3c8d89 Improvements to Maintenance and External Projects documentation.
Joshua D. Drake
Robert Treat
2006-08-01 00:09:06 +00:00
Bruce Momjian
ffb62be07a Add:
> * Consider compressed annealing to search for query plans
>
>   This might replace GEQO, http://sixdemonbag.org/Djinni.
2006-07-31 23:04:13 +00:00
Tom Lane
09d3670df3 Change the relation_open protocol so that we obtain lock on a relation
(table or index) before trying to open its relcache entry.  This fixes
race conditions in which someone else commits a change to the relation's
catalog entries while we are in process of doing relcache load.  Problems
of that ilk have been reported sporadically for years, but it was not
really practical to fix until recently --- for instance, the recent
addition of WAL-log support for in-place updates helped.

Along the way, remove pg_am.amconcurrent: all AMs are now expected to support
concurrent update.
2006-07-31 20:09:10 +00:00
Tom Lane
6e38e34d64 Change the bootstrap sequence so that toast tables for system catalogs are
created in the bootstrap phase proper, rather than added after-the-fact
by initdb.  This is cleaner than before because it allows us to retire the
undocumented ALTER TABLE ... CREATE TOAST TABLE command, but the real reason
I'm doing it is so that toast tables of shared catalogs will now have
predetermined OIDs.  This will allow a reasonably clean solution to the
problem of locking tables before we load their relcache entries, to appear
in a forthcoming patch.
2006-07-31 01:16:38 +00:00
Alvaro Herrera
638860ce35 Fix confusion between COPY FROM and COPY TO, per Gavin Sharry and Arul Shaji. 2006-07-31 01:10:56 +00:00
Bruce Momjian
d6603791ea Add:
> * Consider detoasting keys before sorting
2006-07-30 01:48:40 +00:00
Bruce Momjian
6dd2b7728b Add entry:
> * Add column to pg_stat_activity that shows the progress of long-running
>   commands like CREATE INDEX and VACUUM
2006-07-29 18:08:36 +00:00
Bruce Momjian
d06f44a811 Add:
> * Add support for SQL-standard GENERATED/IDENTITY columns
>
>   http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php
2006-07-29 15:56:32 +00:00
Bruce Momjian
51175d1d00 Remove update TODO.detail item. 2006-07-28 19:28:08 +00:00