* Consider parallel processing a single query
This would involve using multiple threads or processes to do optimization,
sorting, or execution of single query. The major advantage of such a
feature would be to allow multiple CPUs to work together to process a
single query.
< Last updated: Sat Sep 25 21:33:44 EDT 2004
> Last updated: Mon Sep 27 10:15:31 EDT 2004
13,19d12
< Remove items before beta?
<
< Urgent
< ======
<
< * -Point-in-time data recovery using backup and write-ahead log
< * -Create native Win32 port
25d17
< * -Incremental backups
28d19
< * -Allow configuration files to be specified in a different directory
32,34d22
< * -Add the concept of dataspaces/tablespaces (Gavin)
< * -Allow logging of only data definition(DDL), or DDL and modification statements
< * -Allow log lines to include session-level information, like database and user
54d41
< * -Allow external interfaces to extend the GUC variable set
126d112
< * -Change factorial to return a numeric (Gavin)
141,142d126
< * -Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE
< * -Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*)
147d130
< * -Make LENGTH() of CHAR() not count trailing spaces
150d132
< * -Support composite types as table columns
198,200d179
< * -Prevent mismatch of frontend/backend encodings from converting bytea
< data from being interpreted as encoded strings
< * -Fix upper()/lower() to work for multibyte encodings
217d195
< * -Order duplicate index entries on creation by ctid for faster heap lookups
242d219
< * -Be smarter about insertion of already-ordered data into btree index
265,266d241
< * -Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
< float4, numeric/decimal too
282d256
< * -Allow command blocks to ignore certain types of errors
302,303d275
< * -Allow savepoints / nested transactions (Alvaro)
< * -Use nested transactions to prevent syntax errors from aborting a transaction
306,307d277
< * -Prevent COMMENT ON DATABASE from using a database name
< * -Add NO WAIT LOCKs
325,326d294
< * -COMMENT ON [ CAST | CONVERSION | OPERATOR CLASS | LARGE OBJECT | LANGUAGE ]
< (Christopher)
334d301
< * -Allow more ISOLATION LEVELS to be accepted
347d313
< * -Add GUC setting to make created tables default to WITHOUT OIDS
365,369d330
< o -ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT
< o -ALTER TABLE ADD COLUMN column DEFAULT should fill existing
< rows with DEFAULT value
< o -ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because
< of the item above
371,373d331
< o -Allow ALTER TABLE to modify column lengths and change to binary
< compatible types
< o -Add ALTER DATABASE ... OWNER TO newowner
390,393d347
< o -Add ALTER DOMAIN, AGGREGATE, CONVERSION ... OWNER TO
< o -Add ALTER SEQUENCE ... OWNER TO
< o -Add ALTER INDEX that works just like ALTER TABLE already does
< on an index
404d357
< o -Add ALTER TABLE table SET WITHOUT CLUSTER (Christopher)
411d363
< o -Allow dump/load of CSV format
464d415
< o -Allow Java server-side programming
473d423
< o -Allow PL/pgSQL parameters to be specified by name and type during definition
493,495d442
< * -Allow psql \du to show users, and add \dg for groups
< * -Have psql \dn show only visible temp schemas using current_schemas()
< * -Have psql '\i ~/<tab><tab>' actually load files it displays from home dir
509,511d455
< o -Allow pg_dump to dump CREATE CONVERSION (Christopher)
< o -Make pg_restore continue after errors, so it acts more like pg_dump
< scripts
545d488
< o -Implement SET DESCRIPTOR
592,596d534
< * -Have AFTER triggers execute after the appropriate SQL statement in a
< function, not at the end of the function
< * -Print table names with constraint names in error messages, or make constraint
< names unique within a schema
< * -Issue NOTICE if foreign key data requires costly test to match primary key
614,615d551
< * -Use dependency information to dump data in proper order
< * -Have pg_dump -c clear the database using dependency information
694,695d629
< * -Provide automatic running of vacuum in the background in backend
< rather than in /contrib (Matthew)
828d761
< * -Use background process to write dirty shared buffers to disk
843d775
< * -Change representation of whole-tuple parameters to functions
850,852d781
< * -Add checks for fclose() failure (Tom)
< * -Change CVS ID to PostgreSQL
< * -Exit postmaster if postgresql.conf can not be opened
< * Point-in-time data recovery using backup and write-ahead log,
< * Create native Win32 port, http://momjian.postgresql.org/main/writings/pgsql/project/win32.html
> * -Point-in-time data recovery using backup and write-ahead log
> * -Create native Win32 port
470c470
< o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
> o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
< This would require some background daemon to maintain clustering
> This might require some background daemon to maintain clustering
397,398c397,398
< paritally filled for easier reorganization. It also might require
< creating a merged heap/index data file so an index lookup would
> paritally filled for easier reorganization. Another idea would
> be to create a merged heap/index data file so an index lookup would
< This would require some background daemon to restore clustering
> This would require some background daemon to maintain clustering
397c397,399
< paritally filled for easier reorganization.
> paritally filled for easier reorganization. It also might require
> creating a merged heap/index data file so an index lookup would
> automatically access the heap data too.
> * Merge hardwired timezone names with the TZ database; allow either kind
> everywhere a TZ name is currently taken
> * Allow customization of the known set of TZ names (generalize the
> present australian_timezones hack)
< * Implement dirty reads or shared row locks and use them in RI triggers (?)
> * Implement dirty reads or shared row locks and use them in RI triggers
>
> Adding shared locks requires recording the table/rows numbers in a
> shared area, and this could potentially be a large amount of data.
> One idea is to store the table/row numbers in a separate table and set
> a bit on the row indicating looking in this new table is required to
> find any shared row locks.
>
< o Allow databases, schemas, and indexes to be moved to different
< tablespaces
> o Allow databases and schemas to be moved to different tablespaces
>
> One complexity is whether moving a schema should move all existing
> schema objects or just define the location for future object creation.
>
382c385
< o Add ALTER INDEX that works just like ALTER TABLE already does
> o -Add ALTER INDEX that works just like ALTER TABLE already does
384d386
< o Add ALTER INDEX syntax to work like ALTER TABLE indexname
< * -Have psql \dn show only visible temp schemas using current_schemas()
< * -Have psql '\i ~/<tab><tab>' actually load files it displays from home dir
484a483,484
> * -Have psql \dn show only visible temp schemas using current_schemas()
> * -Have psql '\i ~/<tab><tab>' actually load files it displays from home dir
516a517,527
>
> * psql tab completion
>
> o Provide a list of conversions after ALTER CONVERSION?
> o Support for ALTER SEQUENCE clauses
> o Add RENAME TO to ALTER TRIGGER
> o Support for ALTER USER
> o Fix ALTER (GROUP|DOMAIN|...) <sth> DROP
> o Support for ALTER LANGUAGE <sth> RENAME TO
> o Improve support for COPY
> o Improve support for ALTER TABLE
file variables:
< Another option is to allow commented values to return to their
< default values.
> This has to address environment variables that are then overridden
> by config file values. Another option is to allow commented values
> to return to their default values.
< * -Allow pg_dump to dump CREATE CONVERSION (Christopher)
< * -Make pg_restore continue after errors, so it acts more like pg_dump scripts
485,486d482
< * Allow pg_dumpall to use non-text output formats
< * Have pg_dump use multi-statement transactions for INSERT dumps
493,496d488
< * Allow pg_dump to use multiple -t and -n switches
<
< This should be done by allowing a '-t schema.table' syntax.
<
498a491,512
>
> * pg_dump
> o Allow pg_dumpall to use non-text output formats
> o Have pg_dump use multi-statement transactions for INSERT dumps
> o -Allow pg_dump to dump CREATE CONVERSION (Christopher)
> o -Make pg_restore continue after errors, so it acts more like pg_dump
> scripts
> o Allow pg_dump to use multiple -t and -n switches
>
> This should be done by allowing a '-t schema.table' syntax.
>
> o Add dumping of comments on composite type columns
> o Add dumping of comments on index columns
> o Replace crude DELETE FROM method of pg_dumpall for cleaning of
> users and groups with separate DROP commands
> o Add dumping and restoring of LOB comments
> o Stop dumping CASCADE on DROP TYPE commands in clean mode
> o Add full object name to the tag field. eg. for operators we need
> '=(integer, integer)', instead of just '='.
> o Add pg_dumpall custom format dumps. This is probably best done by
> combining pg_dump and pg_dumpall into a single binary
> o Add CSV output format
< * -Allow savepoints / nested transactions [transactions] (Alvaro)
> * -Allow savepoints / nested transactions (Alvaro)
348a349,353
> * Add an option to automatically use savepoints for each statement in a
> multi-statement transaction.
>
> When enabled, this would allow errors in multi-statement transactions
> to be automatically ignored.
> * Set proper permissions on non-system schemas during db creation
>
> Currently all schemas are owned by the super-user because they are
> copied from the template1 database.
>
>
> * Allow buffered WAL writes and fsync
>
> Instead of guaranteeing recovery of all committed transactions, this
> would provide improved performance by delaying WAL writes and fsync
> so an abrupt operating system restart might lose a few seconds of
> committed transactions but still be consistent. We could perhaps
> remove the 'fsync' parameter (which results in an an inconsistent
> database) in favor of this capability.
> * Allow finer control over the caching of prepared query plans
>
> Currently, queries prepared via the libpq API are planned on first
> execute using the supplied parameters --- allow SQL PREPARE to do the
> same. Also, allow control over replanning prepared queries either
> manually or automatically when statistics for execute parameters
> differ dramatically from those used during planning.
>
< * Allow DELETE to handle table aliases for self-joins
> * Allow an alias to be provided for the target table in UPDATE/DELETE
276,279c276,282
< There is no way to create a table alias for the deleted table for use
< in the DELETE WHERE clause. The agreed approach is to allow a USING
< clause to specify additional tables. UPDATE already has an optional
< FROM clause for this purpose.
> This is not SQL-spec but many DBMSs allow it.
>
> * Allow additional tables to be specified in DELETE for joins
>
> UPDATE already allows this (UPDATE...FROM) but we need similar
> functionality in DELETE. It's been agreed that the keyword should
> be USING, to avoid anything as confusing as DELETE FROM a FROM b.
> * Un-comment all variables in postgresql.conf
84,85c84,85
< By removing comments we prevent the confusion that commenting a line
< returns a modified value to its default, which it does not.
> By not showing commented-out variables, we discourage people from
> thinking that re-commenting a variable returns it to its default.
< o -Allow parameters to be specified by name and type during definition
> o -Allow PL/pgSQL parameters to be specified by name and type during definition
< The most recent version of this document can be viewed at
< the PostgreSQL web site, http://www.PostgreSQL.org.
> The most recent version of this document can be viewed at the PostgreSQL web site, http://www.PostgreSQL.org.
< * Add replication of distributed databases
< o Automatic failover
< o Load balancing
< o Master/slave replication
< o Multi-master replication
< o Partition data across servers
< o Queries across databases or servers (two-phase commit)
< o Allow replication over unreliable or non-persistent links
55a48,55
> * Improve replication solutions
> o Automatic failover
> o Load balancing
> o Master/slave replication
> o Multi-master replication
> o Partition data across servers
> o Queries across databases or servers (two-phase commit)
> o Allow replication over unreliable or non-persistent links
> A dash (-) marks changes that will appear in the upcoming 7.5 release.
>
> Bracketed items "[]" have more detail.
9,12d12
<
< A dash (-) marks changes that will appear in the upcoming 7.5 release.
<
< Bracketed items "[]" have more detail.
> * Allow reporting of which objects are in which tablespaces
> * Allow database recovery where tablespaces can't be created
211a213,214
> o Add ALTER TABLESPACE to change location, name, owner
> o Allow objects to be moved between tablespaces
< * Remove unreferenced table files and temp tables during database vacuum
< or postmaster startup (Bruce)
> * Remove unreferenced table files created by transactions that were
> in-progress when the server crashed
>
> * Support composite types as table columns
286,289d286
< * Python
< o Allow users to register their own types with pg_
< o Allow SELECT to return a dictionary of dictionaries
< o Allow COPY BINARY FROM
456d452
< * Support composite types as table columns
< Bracketed items "[]" have more detailed.
> Bracketed items "[]" have more detail.
35,36d34
< * Remove unreferenced table files and temp tables during database vacuum
< or postmaster startup (Bruce)
68c66
< * Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE
> * -Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE
70c68
< * Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*)
> * -Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*)
76c74
< * Make LENGTH() of CHAR() not count trailing spaces
> * -Make LENGTH() of CHAR() not count trailing spaces
145c143
< * Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
> * -Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
179c177
< * Allow more ISOLATION LEVELS to be accepted, but issue a warning for them
> * -Allow more ISOLATION LEVELS to be accepted
186c184
< * Add GUC setting to make created tables default to WITHOUT OIDS
> * -Add GUC setting to make created tables default to WITHOUT OIDS
265d262
< * Allow fastpast to pass values in portable format
271c268
< * Move psql backslash database information into the backend, use nmumonic
> * Move psql backslash database information into the backend, use nmeumonic
275,283d271
< * JDBC
< o Comprehensive test suite. This may be available already.
< o JDBC-standard BLOB support
< o Error Codes (pending backend implementation)
< o Support both 'make' and 'ant'
< o Fix LargeObject API to handle OIDs as unsigned ints
< o Use cursors implicitly to avoid large results (see setCursorName())
< o Add LISTEN/NOTIFY support to the JDBC driver (Barry)
<
332c320
< * Have pg_dump -c clear the database using dependency information
> * -Have pg_dump -c clear the database using dependency information
367,368c355,356
< * Cache last known per-tuple offsets to speed long tuple access
< * Automatically place fixed-width, NOT NULL columns first in a table
> * Cache last known per-tuple offsets to speed long tuple access, adjusting
> for NULLs and TOAST values
467c455,456
< * Change representation of whole-tuple parameters to functions
> * -Change representation of whole-tuple parameters to functions
> * Support composite types as table columns
478,479d466
< * Allow the regression tests to start postmaster with -i so the tests
< can be run on systems that don't support unix-domain sockets
o -ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT
o -ALTER TABLE ADD COLUMN column DEFAULT should fill existing
rows with DEFAULT value
o -Allow ALTER TABLE to modify column lengths and change to binary
compatible types
Remove:
o Allow columns to be reordered using ALTER ... POSITION i col1 [,col2];
have SELECT * and INSERT honor such ordering
< * Allow LOCALE on a per-column basis, default to ASCII
> * Allow locale to be set at database creation
> * Allow locale on a per-column basis, default to ASCII
> * Optimize locale to have minimal performance impact when not used (Peter E)
105d106
< * Optimize locale to have minimal performance impact when not used (Peter E)
111d111
< * Allow locale to be set at database creation
.< * Improve speed with indexes (perhaps recreate index instead) [vacuum]
> * Improve speed with indexes (perhaps recreate index instead)
369c369
< lock and truncate table [vacuum]
> lock and truncate table
371c371
< rather than in /contrib [vacuum]
> rather than in /contrib
< * Change factorial to return a numeric
> * -Change factorial to return a numeric (Gavin)
258c258
< * Allow psql \du to show groups, and add \dg for groups
> * -Allow psql \du to show groups, and add \dg for groups
< manuals (Rory)
> manuals
496c496
< * Jan is Jan Wieck <JanWieck@Yahoo.com> of PeerDirect Corp.
> * Jan is Jan Wieck <JanWieck@Yahoo.com> of Afilias, Inc.
< A dash (-) marks changes that will appear in the upcoming 7.4 release.
> A dash (-) marks changes that will appear in the upcoming 7.5 release.
437c437
< * Use background process to write dirty shared buffers to disk
> * -Use background process to write dirty shared buffers to disk
< * -Allow elog() to return error codes, module name, file name, line
< number, not just messages (Tom)
< * -Add error codes (Tom)
< * -Make error messages more consistent
40d35
< * -Add GUC log_statement_and_duration to print statement and >= min duration
51d45
< * -Allow easy display of usernames in a group
53d46
< * -Add start time to pg_stat_activity
55d47
< * -Have standalone backend read postgresql.conf (Tom)
59d50
< * -Allow CIDR format to be used in pg_hba.conf
74d64
< * -Add IPv6 capability to INET/CIDR types
77d66
< * -Change NUMERIC data type to use base 10,000 internally
82d70
< * -Add GUC variables to control floating number output digits (Pedro Ferreira)
90,92d77
< * -Allow current datestyle to restrict dates; prevent month/day swapping
< from making invalid dates valid
< * -Prevent month/day swapping of ISO dates to make invalid dates valid
102d86
< o -Allow arrays to be ORDER'ed
104d87
< o -Support construction of array result values in expressions (Joe)
128d110
< * -Remove Cyrillic recode support
146,147d127
< * -Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
< fails index can't store constant parameters
155d134
< * -Add btree index support for reltime, tinterval, regproc (Tom)
157d135
< * -Certain indexes will not shrink, e.g. indexes on ever-increasing
161d138
< * -Allow LIKE indexing optimization for non-ASCII locales using special index
173d149
< * -Improve concurrency of hash indexes (Tom)
181d156
< * -Allow LIMIT/OFFSET to use expressions (Tom)
187d161
< * -Return proper effected tuple count from complex commands [return]
191d164
< * -Make a transaction-safe TRUNCATE (Rod)
196,197d168
< * -Allow UPDATE to use SET col = DEFAULT
< * -Add config variable to prevent auto-adding missing FROM-clause tables
199d169
< * -Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
224,225d193
< o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
< o -Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values
237d204
< o -Allow CLUSTER to cluster all tables (Alvaro Herrera)
248d214
< o -MOVE 0 should not move to end of cursor (Bruce)
252d217
< o -Allow cursors outside transactions
264,265d228
< o -Allow EXPLAIN EXECUTE to see prepared plans
< o -Allow SHOW of some non-modifiable variables, like pg_controldata
280d242
< o -Allow array declarations and other data types in PL/PgSQL DECLARE
282,283d243
< o -Make PL/PgSQL %TYPE schema-aware
< o -Allow PL/PgSQL to support array element assignment (Joe)
294,298d253
< * -Allow psql to show transaction status if backend protocol changes made
< * -Add schema, cast, and conversion backslash commands to psql (Christopher)
< * -Allow pg_dump to dump a specific schema (Neil Conway)
< * -Allow psql to do table completion for SELECT * FROM schema_part and
< table completion for SELECT * FROM schema_name.
300,302d254
< * -Allow SSL-enabled clients to turn off SSL transfers
< * -Modify pg_get_triggerdef() to take a boolean to pretty-print,
< and use that as part of pg_dump along with psql
327d278
< o -Add SQLSTATE
330d280
< o -Make casts work in variable initializations
334,336d283
< o -Allow multi-threaded use of SQLCA
< o -Understand structure definitions outside a declare section
< o -Allow :var[:index] or :var[<integer>] as cvariable for an array var
356d302
< * -Support statement-level triggers (Neil)
460,461d405
< * -Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
< that are too frequent (Bruce)
472,476d415
< * -Improve Subplan list handling
< * -Allow Subplans to use efficient joins(hash, merge) with upper variable
< * -Add hash for evaluating GROUP BY aggregates (Tom)
< * -Allow merge and hash joins on expressions not just simple variables (Tom)
< * -Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)
480d418
< * -Inline simple SQL functions to avoid overhead (Tom)
495d432
< * -Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
511,512d447
< * -Modify regression tests to prevent failures do to minor numeric rounding
< * -Add OpenBSD's getpeereid() call for local socket authentication
537,542d471
< o -Show transaction status in psql
< o -Allow binding of query parameters, support for prepared queries
< o -Remove hard-coded limits on user/db/password names
< o -Remove unused elements of startup packet (unused, tty, passlength)
< o -Fix COPY/fastpath protocol
< o -Error codes
544d472
< o -Special passing of binary values in platform-neutral format (bytea?)
547d474
< o -Report server version number, database encoding, client encoding
> * Allow CREATE TABLE foo (f1 INT CHECK (f1 > 0) CHECK (f1 < 10)) to work
> by searching for non-conflicting constraint names, and prefix with table name
< * Allow INET subnet tests using non-constants
> * Allow INET subnet tests to use indexes
101a102
> o Allow MIN()/MAX() on arrays
144c145
< * Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
> * -Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
166c167
< * Improve handling of index scans for NULL
> * Allow use of indexes to search for NULLs
203a205
> * Add optional textual message to NOTIFY
252c254
< o Add SET SCHEMA
> o Add SET PATH for schemas
297a300
> * Allow fastpast to pass values in portable format
344a348
> * Allow statement-level triggers to access modified rows
526d529
< o Add optional textual message to NOTIFY
530d532
< o Allow fastpast to pass values in portable format
533c535
< o Special passing of binary values in platform-neutral format (bytea?)
> o -Special passing of binary values in platform-neutral format (bytea?)
< o Sample implementation in contrib/rserv
29c28,29
< * Create native Win32 port [win32]
> * Create native Win32 port, http://momjian.postgresql.org/main/writings/pgsql/win32.html
>
367c367,368
< * Two-phase commit to implement distributed transactions
> * Add two-phase commit to all distributed transactions with
> offline/readonly server status or administrator notification for failure
< * Consider using MVCC to cache count(*) queries with no WHERE clause
> * Use a fixed row count and a +/- count with MVCC visibility rules
> to allow fast COUNT(*) queries with no WHERE clause(?)
tree. This also catches lots of little Makefile bugs, so here's a small
patch for one of them (replacing an explicit reference to thread.c with
a reference to it as the first prerequsite of the rule makes make look
for it in the place where it was found (the source tree) rather than in
the build tree. (using GNU make 3.79.1)
John Gray
< * Allow easy display of usernames in a group
> * -Allow easy display of usernames in a group
88,89d87
< * -Delay resolution of array expression type so assignment coercion
< can be performed on empty array expressions (Joe)
94c92,94
< o Support construction of array result values in expressions
> o -Support construction of array result values in expressions (Joe)
> o Delay resolution of array expression type so assignment coercion
> can be performed on empty array expressions (Joe)
148c148
< * Allow LIKE indexing optimization for non-ASCII locales
> * -Allow LIKE indexing optimization for non-ASCII locales using special index
173c173
< * Return proper effected tuple count from complex commands [return]
> * -Return proper effected tuple count from complex commands [return]
236c236
< o Allow SHOW of non-modifiable variables, like pg_controldata
> o -Allow SHOW of some non-modifiable variables, like pg_controldata
257a258
> o Add capability to create and call PROCEDURES
272c273
<
> * Allow psql \du to show groups, and add \dg for groups
424c425
< * Improve Subplan list handling
> * -Improve Subplan list handling
< o Allow array declarations and other data types in PL/PgSQL DECLARE
> o -Allow array declarations and other data types in PL/PgSQL DECLARE
254c254
< o Allow PL/PgSQL to support array element assignment
> o -Allow PL/PgSQL to support array element assignment (Joe)
< * Allow elog() to return error codes, module name, file name, line
< number, not just messages (Peter E)
< * Add error codes (Peter E)
< * Make error messages more consistent [error]
> * -Allow elog() to return error codes, module name, file name, line
> number, not just messages (Tom)
> * -Add error codes (Tom)
> * -Make error messages more consistent
40c40
< * Add GUC log_statement_and_duration to print statement and >= min duration
> * -Add GUC log_statement_and_duration to print statement and >= min duration
84c84
< * Allow current datestyle to restrict dates; prevent month/day swapping
> * -Allow current datestyle to restrict dates; prevent month/day swapping
86c86
< * Prevent month/day swapping of ISO dates to make invalid dates valid
> * -Prevent month/day swapping of ISO dates to make invalid dates valid
88c88
< * Delay resolution of array expression type so assignment coercion
> * -Delay resolution of array expression type so assignment coercion
93c93
< o Allow arrays to be ORDER'ed
> o -Allow arrays to be ORDER'ed
116c116
< * Remove Cyrillic recode support
> * -Remove Cyrillic recode support
144c144
< * Certain indexes will not shrink, e.g. indexes on ever-increasing
> * -Certain indexes will not shrink, e.g. indexes on ever-increasing
185c185
< * Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
> * -Have SELECT '13 minutes'::interval display zero seconds in ISO datestyle
196c196
< o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
> o --Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
221c221
< stored in the backend
> stored in the backend (Gavin)
235c235
< o Allow EXPLAIN EXECUTE to see prepared plans
> o -Allow EXPLAIN EXECUTE to see prepared plans
241d240
< o Add untrusted version of plpython
265c264
< * Allow psql to show transaction status if backend protocol changes made
> * -Allow psql to show transaction status if backend protocol changes made
272,273c271,272
< * Modify pg_get_triggerdef() to take a boolean to pretty-print,
< and use that as part of pg_dump along with psql
> * -Modify pg_get_triggerdef() to take a boolean to pretty-print,
> and use that as part of pg_dump along with psql
292c291
< o Add SQLSTATE
> o -Add SQLSTATE
296c295
< o Implement SQLDA (do we really need this?)
> o -Implement SQLDA
364d362
< * Allow binding query args over FE/BE protocol
378c376,377
< * Provide automatic running of vacuum in the background (Tom) [vacuum]
> * Provide automatic running of vacuum in the background in backend
> rather than in /contrib [vacuum]
427c426
< * Allow Subplans to use efficient joins(hash, merge) with upper variable
> * -Allow Subplans to use efficient joins(hash, merge) with upper variable
429c428
< * Allow merge and hash joins on expressions not just simple variables (Tom)
> * -Allow merge and hash joins on expressions not just simple variables (Tom)
474c473
< * Remove memory/file descriptor freeing befor elog(ERROR) (Bruce)
> * Remove memory/file descriptor freeing before ereport(ERROR) (Bruce)
489,490c488,489
< o Show transaction status in psql
< o Allow binding of query parameters, support for prepared queries
> o -Show transaction status in psql
> o -Allow binding of query parameters, support for prepared queries
492,494c491,493
< o Remove hard-coded limits on user/db/password names
< o Remove unused elements of startup packet (unused, tty, passlength)
< o Fix COPY/fastpath protocol?
> o -Remove hard-coded limits on user/db/password names
> o -Remove unused elements of startup packet (unused, tty, passlength)
> o -Fix COPY/fastpath protocol
496,497c495
< o Replication support?
< o Error codes
> o -Error codes
500d497
< o ecpg improvements?
503c500
< o Report server version number, database encoding, client encoding
> o -Report server version number, database encoding, client encoding
< * Fernando Nasser <fnasser@redhat.com> of Red Hat
< * Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
> * Fernando is Fernando Nasser <fnasser@redhat.com> of Red Hat
> * Gavin is Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
> * Greg is Greg Sabino Mullane <greg@turnstep.com>
> * Allow current datestyle to restrict dates; prevent month/day swapping
> from making invalid dates valid
> * Prevent month/day swapping of ISO dates to make invalid dates valid
> * Allow a single index to index multiple tables (for inheritance and subtables)
408a410
> * Improve the planner to use CHECK constraints to prune the plan (for subtables)
418a421
> * Allow partitioning of table into multiple subtables
419a423
> T
< * Update clients to use data types, typmod, schema.table.column names of
< result sets using new query protocol
453a452,453
> o Update clients to use data types, typmod, schema.table.column names of
> result sets using new query protocol
< * Allow clients to get data types, typmod, schema.table.column names from
< result sets, either via the backend protocol or a new QUERYINFO command
to:
> * Update clients to use data types, typmod, schema.table.column names of
> result sets using new query protocol
Win32 port is now called 'win32' rather than 'win'
add -lwsock32 on Win32
make gethostname() be only used when kerberos4 is enabled
use /port/getopt.c
new /port/opendir.c routines
disable GUC unix_socket_group on Win32
convert some keywords.c symbols to KEYWORD_P to prevent conflict
create new FCNTL_NONBLOCK macro to turn off socket blocking
create new /include/port.h file that has /port prototypes, move
out of c.h
new /include/port/win32_include dir to hold missing include files
work around ERROR being defined in Win32 includes
< * Add GUC log_statement_duration to print statement and >= min duration
> * Add GUC log_statement_and_duration to print statement and >= min duration
> * Allow savepoints / nested transactions [transactions] (Bruce)
215d210
< o Add GUC parameter to control the maximum number of rewrite cycles
227,228c222
< o Allow parameters to be specified by name and type during
< definition
> o Allow parameters to be specified by name and type during definition
304,305d297
< * Overhaul bufmgr/lockmgr/transaction manager
< * Allow savepoints / nested transactions [transactions] (Bruce)
386,387c378,379
< * Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
< that are too frequent
> * -Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
> that are too frequent (Bruce)
390d381
< * Allow pg_xlog to be moved without symlinks
406c397
< * Precompile SQL functions to avoid overhead (Neil)
> * -Precompile SQL functions to avoid overhead (Neil)
< * Prevent index uniqueness checks when UPDATE does not modifying column
> * Prevent index uniqueness checks when UPDATE does not modify the column
235c235
< o Make PL/PgSQL %TYPE schema-aware
> o -Make PL/PgSQL %TYPE schema-aware
< o Allow CLUSTER to cluster all tables (Alvaro Herrera)
> o -Allow CLUSTER to cluster all tables (Alvaro Herrera)
243c243
< * Allow pg_dump to dump a specific schema (Neil Conway)
> * -Allow pg_dump to dump a specific schema (Neil Conway)
398c398
< * Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)
> * -Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)
> o -Add ALTER TABLE tab SET WITHOUT OIDS (Rod)
> o -Allow CLUSTER to cluster all tables (Alvaro Herrera)
> * -Allow pg_dump to dump a specific schema (Neil Conway)
> * -Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS (Tom)
> * Rod is Rod Taylor <pg@rbt.ca)>
< * Disallow DROP COLUMN on a column that is part of a multi-column index
> * Require DROP COLUMN CASCADE for a column that is part of a multi-column index
< * Bruce is Bruce Momjian <pgman@candle.pha.pa.us>
< * Christopher is Christopher Kings-Lynne <chriskl@familyhealth.com.au>
< * D'Arcy is D'Arcy J.M. Cain <darcy@druid.net>
> * Bruce is Bruce Momjian <pgman@candle.pha.pa.us> of Software Research Assoc.
> * Christopher is Christopher Kings-Lynne <chriskl@familyhealth.com.au> of
> Family Health Network
> * D'Arcy is D'Arcy J.M. Cain <darcy@druid.net> of The Cain Gang Ltd.
460,461c461,462
< * Fernando Nasser <fnasser@redhat.com>
< * Gavin Sherry <swm@linuxworld.com.au>
> * Fernando Nasser <fnasser@redhat.com> of Red Hat
> * Gavin Sherry <swm@linuxworld.com.au> of Alcove Systems Engineering
464,466c465,467
< * Jan is Jan Wieck <wieck@sapserv.debis.de>
< * Liam is Liam Stewart <liams@redhat.com>
< * Marc is Marc Fournier <scrappy@hub.org>
> * Jan is Jan Wieck <JanWieck@Yahoo.com> of PeerDirect Corp.
> * Liam is Liam Stewart <liams@redhat.com> of Red Hat
> * Marc is Marc Fournier <scrappy@hub.org> of PostgreSQL, Inc.
468,469c469
< * Marko is Marko Kreen <marko@l-t.ee>
< * Michael is Michael Meskes <meskes@postgresql.org>
> * Michael is Michael Meskes <meskes@postgresql.org> of Credativ
472c472
< * Peter M is Peter T Mount <peter@retep.org.uk>
> * Peter M is Peter T Mount <peter@retep.org.uk> of Retep Software
474c474
< * Philip is Philip Warner <pjw@rhyme.com.au>
> * Philip is Philip Warner <pjw@rhyme.com.au> of Albatross Consulting Pty. Ltd.
477d476
< * Ryan is Ryan Bradetich <rbrad@hpb50023.boi.hp.com>
479,483c478,481
< * Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
< * Thomas is Thomas Lockhart <lockhart@fourpalms.org>
< * Tom is Tom Lane <tgl@sss.pgh.pa.us>
< * TomH is Tom I Helbekkmo <tih@Hamartun.Priv.no>
< * Vadim is Vadim B. Mikheev <vadim4o@email.com>
> * Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp> of Software Research Assoc.
> * Thomas is Thomas Lockhart <lockhart@fourpalms.org> of Jet Propulsion Labratory
> * Tom is Tom Lane <tgl@sss.pgh.pa.us> of Red Hat
> * Vadim is Vadim B. Mikheev <vadim4o@email.com> of Sector Data
>
> * Wire Protocol Changes
> o Show transaction status in psql
> o Allow binding of query parameters, support for prepared queries
> o Add optional textual message to NOTIFY
> o Remove hard-coded limits on user/db/password names
> o Remove unused elements of startup packet (unused, tty, passlength)
> o Fix COPY/fastpath protocol?
> o Replication support?
> o Error codes
> o Dynamic character set handling
> o Special passing of binary values in platform-neutral format (bytea?)
> o ecpg improvements?
> o Add decoded type, length, precision
> * Add GUC variables extra_float_digits and extra_double_digits to
> control output digits
419a422
> * Research interaction of setitimer() and sleep() used by statement_timeout
< A dash (-) marks changes that will appear in the upcoming 7.3 release.
> A dash (-) marks changes that will appear in the upcoming 7.4 release.
38d37
< * -Change DEBUG startup tag to LOG (Bruce)
40,51d38
< * -Add pg_backend_pid() function to backend
< * -Allow logging of query durations
<
<
< Permissions
< ===========
<
< * -Improve control over user privileges, including table creation
< * -Allow user/group names to be specified directly in pg_hba.conf (Bruce)
< * -Add ~/.pgpass to store passwords with user/host/password combinations
< * -Allow permissions for functions (Peter E)
< * -Allow object creation to be disabled for specific users
58,60d44
< * -Make it easier to create a database owned by someone who can't createdb,
< perhaps CREATE DATABASE dbname WITH OWNER = "user" (Gavin)
< * -Make equals sign optional in CREATE DATABASE WITH param = 'val'
65,66d48
< * -Prevent SIGHUP and 'pg_ctl reload' from changing command line
< specified parameters to postgresql.conf defaults (Peter E)
69,70d50
< * -Reserve last few process slots for super-user if max_connections reached
< * -Add GUC parameter to print queries that generate errors
79d58
< * -Add domain capability (Rod Taylor)
82,84d60
< * -SELECT cash_out(2) crashes because of opaque
< * -Declare typein/out functions in pg_proc with a special "C string" data type
< * -Functions returning sets do not totally work
89d64
< * -Add GUC parameter for DATESTYLE
91,93d65
< * -Allow bytea to handle LIKE with non-TEXT patterns
< * -to_char(0,'FM999.99') returns a period, to_char(1,'FM999.99') doesn't (Karel)
< * -Add floor(float8) and other missing functions
97d68
< o -Store binary-compatible type information in the system
104d74
< o -Ensure we have array-eq operators for every built-in array type
139,140d108
< * -Remove brackets as multi-statement rule grouping, must use parens (Bruce)
< * -Prevent aggregates from being used in rule WHERE clauses
154d121
< * -Allow UPDATE/DELETE on inherited table
166d132
< * -Add deleted bit to index tuples to reduce heap access
176d141
< * -Test hash index performance and discourage usage
182d146
< * -Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
184d147
< * -Remove LIMIT #,# and force use LIMIT and OFFSET clauses in 7.3 (Bruce)
186,187d148
< * -Disallow TRUNCATE on tables that are involved in referential constraints
< * -Add OR REPLACE clauses to non-FUNCTION object creation
190d150
< * -Prevent create/drop scripts from allowing extra args (Bruce)
201,205d160
< o -Add ALTER TABLE DROP COLUMN feature
< o -Add ALTER TABLE DROP non-CHECK CONSTRAINT
< o -ALTER TABLE ADD PRIMARY KEY (Tom)
< o -ALTER TABLE ADD UNIQUE (Tom)
< o -ALTER TABLE ALTER COLUMN SET/DROP NOT NULL (Christopher)
210d164
< o -Have ALTER TABLE OWNER change all dependant objects like indexes
214,216d167
< o -Cluster all tables at once using pg_index.indisclustered set during
< previous CLUSTER
< o -Prevent loss of indexes, permissions, inheritance
221d171
< o -Allow specification of column names
224d173
< o -Change syntax to WITH DELIMITER, (keep old syntax around?)
228d176
< o -Generate failure on short COPY lines rather than pad NULLs
242,243d189
< o -Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
< o -Disallow missing columns in INSERT ... (col) VALUES, per ANSI
248,249d193
< o -Add command to display locks
< o -Add SET or BEGIN timeout parameter to cancel query
251d194
< o -Remove SET KSQO option now that OR processing is improved (Bruce)
254,256d196
< o -Add SHOW command to see locale
< o -Allow SHOW to output as a query result, like EXPLAIN
< o -Abort all SET changes made in an aborted transaction
264d203
< o -Fix PL/PgSQL to handle quoted mixed-case identifiers
287,291d225
< * -Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
< or multiple SELECTS to avoid bad system catalog entries
< * -Have pg_dump -C dump database location and encoding information
< * -Allow psql \d to show foreign keys
< * -Allow psql \d to show temporary table structure (Tom)
294d227
< * -Have pg_dump use ADD PRIMARY KEY after COPY, for performance (Neil)
302d234
< o -Updateable resultSet
307d238
< o -Implement cancel() method on Statement
309d239
< o -Add support for CallableStatements
311d240
< o -Compile under jdk 1.4
334d262
< * -Allow oid to act as a foreign key
337,338d264
< * -Allow user to control trigger firing order (Tom)
< * -Add ALTER TRIGGER ... RENAME
341d266
< * -Fix foreign key constraints to not error on intermediate db states (Stephan)
350,359d274
< * -Add pg_depend table for dependency recording; use sysrelid, oid,
< depend_sysrelid, depend_oid, name
< * -Auto-destroy sequence on DROP of table with SERIAL; perhaps a separate
< SERIAL type
< * -Prevent column dropping if column is used by foreign key
< * -Propagate column or table renaming to foreign key constraints
< * -Automatically drop constraints/functions when object is dropped
< * -Make foreign key constraints clearer in dump file
< * -Make other constraints clearer in dump file
< * -Make foreign keys easier to identify
367d281
< * -Allow autocommit so always in a transaction block
377d290
< * -Add SQL92 schemas (Tom)
400d312
< * -Cache most recent query plan(s) (Neil) [prepare]
439d350
< * -Cache system catalog information in per-database files (Tom)
450,451d360
< * -Reorder postgresql.conf WAL items in order of importance (Bruce)
< * -Remove wal_files postgresql.conf option because WAL files are now recycled
465,466d373
< * -Improve dynamic memory allocation by introducing tuple-context memory
< allocation (Tom)
468d374
< * -Nested FULL OUTER JOINs don't work (Tom)
470,472d375
< * -Add new pg_proc cachable settings to specify whether function can be
< evaluated only once or once per query
< * -Change FIXED_CHAR_SEL to 0.20 from 0.04 to give better selectivity (Bruce)
494,496d396
< * -Add Intimate Shared Memory(ISM) for Solaris
< * -Use faster flex flags for performance improvement (Peter E)
< * -Add BSD-licensed qsort() for Solaris
503,507d402
< * -Fix problems with libpq non-blocking/async code
< * -Make sure all block numbers are unsigned to increase maximum table size
< * -Merge LockMethodCtl and LockMethodTable into one shared structure (Bruce)
< * -HOLDER/HOLDERTAB rename to PROCLOCK/PROCLOCKTAG (Bruce)
< * -Remove LockMethodTable.prio field, not used (Bruce)
512,513d406
< * -Make one version of simple_prompt() in code (Bruce, Tom)
< * -Compile in syslog functionaility by default (Tatsuo)
517d409
< * -Report failure to find readline or zlib at end of configure run
519,520d410
< * -Increase identifier length (NAMEDATALEN) if small performance hit,
< * -Increase maximum number of function parameters if little wasted space
529,530d418
< * -Fix glibc's mktime() to handle pre-1970's dates
< * -Move /contrib/retep to gborg.postgresql.org
< * Add floor(float8) and other missing functions
> * -Add floor(float8) and other missing functions
174c174
< * Improve concurrency of hash indexes (Neil Conway)
> * Improve concurrency of hash indexes (Neil)
277c277
< o Allow array declarations and other data types in PL/PgSQl DECLARE
> o Allow array declarations and other data types in PL/PgSQL DECLARE
293c293
< * -Have pg_dump use ADD PRIMARY KEY after COPY, for performance (Neil Conway)
> * -Have pg_dump use ADD PRIMARY KEY after COPY, for performance (Neil)
474c474
< * Precompile SQL functions to avoid overhead (Neil Conway)
> * Precompile SQL functions to avoid overhead (Neil)
549c549
< * Neil is Neil Conway <nconway@klamath.dyndns.org>
> * Neil is Neil Conway <neilc@samurai.com>
< o -ALTER TABLE ALTER COLUMN SET/DROP NOT NULL (Christopher Kings-Lynne)
< o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence
> o -ALTER TABLE ALTER COLUMN SET/DROP NOT NULL (Christopher)
200a200,201
> o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because
> of the item above
232c233
< o -Disallow missing columns in INSERT ... VALUES, per ANSI
> o -Disallow missing columns in INSERT ... (col) VALUES, per ANSI
335,336d335
< * Have SERIAL generate non-colliding sequence names when we have
< auto-destruction
< * Allow logging of query durations
> * -Allow logging of query durations
51,52d50
< * Make single-user local access permissions the default by limiting
< permissions on the socket file (Peter E)
72,73c70,71
< * Reserve last few process slots for super-user if max_connections reached
< * Add GUC parameter to print queries that generate errors
> * -Reserve last few process slots for super-user if max_connections reached
> * -Add GUC parameter to print queries that generate errors
82,83c80,81
< * Declare typein/out functions in pg_proc with a special "C string" data type
< * Functions returning sets do not totally work
> * -Declare typein/out functions in pg_proc with a special "C string" data type
> * -Functions returning sets do not totally work
90c88
< * Allow bytea to handle LIKE with non-TEXT patterns
> * -Allow bytea to handle LIKE with non-TEXT patterns
94c92
< o Store binary-compatible type information in the system
> o -Store binary-compatible type information in the system
97d94
< o -SELECT col FROM tab WHERE numeric_col = 10.1 fails, requires quotes
102c99
< o Ensure we have array-eq operators for every built-in array type
> o -Ensure we have array-eq operators for every built-in array type
119d115
< * Allow setting database character set without multibyte enabled
152d147
< * Have UPDATE/DELETE clean out indexes
198,199d192
< o ALTER TABLE ADD COLUMN to inherited table put column in wrong place
< [inheritance]
201d193
< o Add ALTER FUNCTION
203,204c195,196
< o -ALTER TABLE ADD PRIMARY KEY (Tom)
< o -ALTER TABLE ADD UNIQUE (Tom)
> o -ALTER TABLE ADD PRIMARY KEY (Christopher)
> o -ALTER TABLE ADD UNIQUE (Christopher)
248c240
< o -Remove SET KSQO option now that OR processing is improved (Tom)
> o -Remove SET KSQO option now that OR processing is improved (Bruce)
280c272
< * Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
> * -Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
287d278
< * Add config file check for $ODBCINI, $HOME/.odbc.ini, installpath/etc/odbc.ini
318,322d308
< * ODBC
< o ODBC 3.0 support
< o Unicode(UCS-2) support
< o Updatable cursors support
<
337c323
< * Fix foreign key constraints to not error on intermediate db states (Stephan)
> * -Fix foreign key constraints to not error on intermediate db states (Stephan)
352c338
< * Propagate column or table renaming to foreign key constraints
> * -Propagate column or table renaming to foreign key constraints
447c433
< * Remove wal_files postgresql.conf option because WAL files are now recycled
> * -Remove wal_files postgresql.conf option because WAL files are now recycled
460c446
< * Improve dynamic memory allocation by introducing tuple-context memory
> * -Improve dynamic memory allocation by introducing tuple-context memory
463c449
< * Nested FULL OUTER JOINs don't work (Tom)
> * -Nested FULL OUTER JOINs don't work (Tom)
> * -Add OR REPLACE clauses to non-FUNCTION object creation
> * -Allow autocommit so always in a transaction block
> * -Cache most recent query plan(s) (Neil) [prepare]