1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-10 09:21:54 +03:00

Update TODO/FAQ for 7.3 release.

This commit is contained in:
Bruce Momjian
2002-11-16 02:34:22 +00:00
parent 19826a77af
commit cab72f57d5
9 changed files with 33 additions and 142 deletions

View File

@ -1,5 +1,5 @@
From: Zeugswetter Andreas <ZeugswetterA@spardat.at> From: Zeugswetter Andreas <ZeugswetterA@spardat.at>
$Date: 2002/11/12 20:02:38 $ $Date: 2002/11/16 02:34:22 $
On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
(vac.C 5.0.1) passes all regression tests. Other versions of OS and (vac.C 5.0.1) passes all regression tests. Other versions of OS and

View File

@ -1,7 +1,7 @@
Developer's Frequently Asked Questions (FAQ) for PostgreSQL Developer's Frequently Asked Questions (FAQ) for PostgreSQL
Last updated: Sat Nov 2 23:02:16 EST 2002 Last updated: Tue Nov 5 16:52:46 EST 2002
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
@ -19,8 +19,8 @@
1.6) What books are good for developers? 1.6) What books are good for developers?
1.7) What is configure all about? 1.7) What is configure all about?
1.8) How do I add a new port? 1.8) How do I add a new port?
1.9) Why don't you use threads/raw devices/async-I/O, &insert your 1.9) Why don't you use threads/raw devices/async-I/O, <insert your
favorite wizz-bang feature here&? favorite wizz-bang feature here>?
1.10) How are RPM's packaged? 1.10) How are RPM's packaged?
1.11) How are CVS branches handled? 1.11) How are CVS branches handled?
1.12) Where can I get a copy of the SQL standards? 1.12) Where can I get a copy of the SQL standards?
@ -317,15 +317,15 @@
src/makefiles directory for port-specific Makefile handling. There is src/makefiles directory for port-specific Makefile handling. There is
a backend/port directory if you need special files for your OS. a backend/port directory if you need special files for your OS.
1.9) Why don't you use threads/raw devices/async-I/O, &insert your favorite 1.9) Why don't you use threads/raw devices/async-I/O, <insert your favorite
wizz-bang feature here&? wizz-bang feature here>?
There is always a temptation to use the newest operating system There is always a temptation to use the newest operating system
features as soon as they arrive. We resist that temptation. features as soon as they arrive. We resist that temptation.
First, we support 15+ operating systems, so any new feature has to be First, we support 15+ operating systems, so any new feature has to be
well established before we will consider it. Second, most new well established before we will consider it. Second, most new
wizz-bang features don't provide dramatic improvements. Third, the wizz-bang features don't provide dramatic improvements. Third, they
usually have some downside, such as decreased reliability or usually have some downside, such as decreased reliability or
additional code required. Therefore, we don't rush to use new features additional code required. Therefore, we don't rush to use new features
but rather wait for the feature to be established, then ask for but rather wait for the feature to be established, then ask for
@ -339,10 +339,9 @@
remaining backend startup time. remaining backend startup time.
* The backend code would be more complex. * The backend code would be more complex.
So, we are not "asleep at the switch" as they say with regard to new So, we are not ignorant of new features. It is just that we are
features, it is just that we are cautious about their adoption. The cautious about their adoption. The TODO list often contains links to
TODO list often contains links to discussions showing our reasoning in discussions showing our reasoning in these areas.
these areas.
1.10) How are RPM's packaged? 1.10) How are RPM's packaged?

View File

@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL 7.3
HP-UX Specific HP-UX Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
======================================================= =======================================================
last updated: $Date: 2002/11/11 19:59:56 $ last updated: $Date: 2002/11/16 02:34:22 $
current maintainer: Tom Lane (tgl@sss.pgh.pa.us) current maintainer: Tom Lane (tgl@sss.pgh.pa.us)
original author: Tom Lane (tgl@sss.pgh.pa.us) original author: Tom Lane (tgl@sss.pgh.pa.us)

View File

@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL
IRIX Specific IRIX Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
======================================================= =======================================================
last updated: $Date: 2002/11/11 19:59:56 $ last updated: $Date: 2002/11/16 02:34:22 $
current maintainer: Luis Amigo (lamigo@atc.unican.es) current maintainer: Luis Amigo (lamigo@atc.unican.es)
original author: Luis Amigo (lamigo@atc.unican.es) original author: Luis Amigo (lamigo@atc.unican.es)

View File

@ -1,6 +1,6 @@
How to install PostgreSQL on Windows How to install PostgreSQL on Windows
==================================== ====================================
$Date: 2002/11/11 19:59:56 $ $Date: 2002/11/16 02:34:22 $
1. Install the latest Cygwin package, available at http://cygwin.com/. 1. Install the latest Cygwin package, available at http://cygwin.com/.
The Cygwin package provides a UNIX-like API on top of the Win32 The Cygwin package provides a UNIX-like API on top of the Win32

View File

@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL 7.3
SCO UnixWare and OpenServer specific SCO UnixWare and OpenServer specific
to be read in conjunction with the installation instructions to be read in conjunction with the installation instructions
============================================================ ============================================================
last updated: $Date: 2002/11/08 16:49:50 $ last updated: $Date: 2002/11/16 02:34:22 $
current maintainer: Billy G. Allie (Bill.Allie@mug.org) current maintainer: Billy G. Allie (Bill.Allie@mug.org)
original author: Andrew Merrill (andrew@compclass.com) original author: Andrew Merrill (andrew@compclass.com)

View File

@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL
Sun Solaris specific Sun Solaris specific
to be read in conjunction with the installation instructions to be read in conjunction with the installation instructions
============================================================ ============================================================
last updated: $Date: 2002/11/11 19:59:56 $ last updated: $Date: 2002/11/16 02:34:22 $
current maintainer: Peter Eisentraut <peter_e@gmx.net> current maintainer: Peter Eisentraut <peter_e@gmx.net>

124
doc/TODO
View File

@ -1,13 +1,13 @@
TODO list for PostgreSQL TODO list for PostgreSQL
======================== ========================
Last updated: Sat Nov 2 00:41:54 EST 2002 Last updated: Tue Nov 12 21:10:17 EST 2002
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
The most recent version of this document can be viewed at The most recent version of this document can be viewed at
the PostgreSQL web site, http://www.PostgreSQL.org. the PostgreSQL web site, http://www.PostgreSQL.org.
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.
Bracketed items "[]" have more detailed. Bracketed items "[]" have more detailed.
@ -35,39 +35,19 @@ Reporting
number, not just messages (Peter E) number, not just messages (Peter E)
* Add error codes (Peter E) * Add error codes (Peter E)
* Make error messages more consistent [error] * Make error messages more consistent [error]
* -Change DEBUG startup tag to LOG (Bruce)
* Show location of syntax error in query [yacc] * Show location of syntax error in query [yacc]
* -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
Administration Administration
============== ==============
* Incremental backups * Incremental backups
* -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'
* Remove unreferenced table files and temp tables during database vacuum * Remove unreferenced table files and temp tables during database vacuum
or postmaster startup (Bruce) or postmaster startup (Bruce)
* Remove behavior of postmaster -o after making postmaster/postgres * Remove behavior of postmaster -o after making postmaster/postgres
flags unique flags unique
* -Prevent SIGHUP and 'pg_ctl reload' from changing command line
specified parameters to postgresql.conf defaults (Peter E)
* Allow easy display of usernames in a group * Allow easy display of usernames in a group
* Allow configuration files to be specified in a different directory * Allow configuration files to be specified in a different directory
* -Reserve last few process slots for super-user if max_connections reached
* -Add GUC parameter to print queries that generate errors
* Add start time to pg_stat_activity * Add start time to pg_stat_activity
* Allow limits on per-db/user connections * Allow limits on per-db/user connections
* Have standalone backend read postgresql.conf * Have standalone backend read postgresql.conf
@ -76,32 +56,23 @@ Administration
Data Types Data Types
========== ==========
* -Add domain capability (Rod Taylor)
* Add IPv6 capability to INET/CIDR types * Add IPv6 capability to INET/CIDR types
* Remove Money type, add money formatting for decimal type * Remove Money type, add money formatting for decimal type
* -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
* Change factorial to return a numeric * Change factorial to return a numeric
* Change NUMERIC data type to use base 10,000 internally * Change NUMERIC data type to use base 10,000 internally
* Change NUMERIC to enforce the maximum precision, and increase it * Change NUMERIC to enforce the maximum precision, and increase it
* Add function to return compressed length of TOAST data values (Tom) * Add function to return compressed length of TOAST data values (Tom)
* -Add GUC parameter for DATESTYLE
* Allow INET subnet tests using non-constants * Allow INET subnet tests using non-constants
* -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
* Add now("transaction|statement|clock") functionality * Add now("transaction|statement|clock") functionality
* -Add GUC variables to control floating number output digits (Pedro Ferreira)
* CONVERSION * CONVERSION
o -Store binary-compatible type information in the system
o Allow better handling of numeric constants, type conversion o Allow better handling of numeric constants, type conversion
[typeconv] [typeconv]
* ARRAYS * ARRAYS
o Allow nulls in arrays o Allow nulls in arrays
o Allow arrays to be ORDER'ed o Allow arrays to be ORDER'ed
o -Ensure we have array-eq operators for every built-in array type
o Support construction of array result values in expressions o Support construction of array result values in expressions
* BINARY DATA * BINARY DATA
@ -136,8 +107,6 @@ Views / Rules
* Have views on temporary tables exist in the temporary namespace * Have views on temporary tables exist in the temporary namespace
* Move psql backslash information into views * Move psql backslash information into views
* Allow RULE recompilation * Allow RULE recompilation
* -Remove brackets as multi-statement rule grouping, must use parens (Bruce)
* -Prevent aggregates from being used in rule WHERE clauses
Indexes Indexes
@ -151,7 +120,6 @@ Indexes
* UNIQUE INDEX on base column not honored on inserts from inherited table * UNIQUE INDEX on base column not honored on inserts from inherited table
INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
[inheritance] [inheritance]
* -Allow UPDATE/DELETE on inherited table
* Add UNIQUE capability to non-btree indexes * Add UNIQUE capability to non-btree indexes
* Add btree index support for reltime, tinterval, regproc * Add btree index support for reltime, tinterval, regproc
* Add rtree index support for line, lseg, path, point * Add rtree index support for line, lseg, path, point
@ -163,7 +131,6 @@ Indexes
* Use index to restrict rows returned by multi-key index when used with * Use index to restrict rows returned by multi-key index when used with
non-consecutive keys or OR clauses, so fewer heap accesses non-consecutive keys or OR clauses, so fewer heap accesses
* Be smarter about insertion of already-ordered data into btree index * Be smarter about insertion of already-ordered data into btree index
* -Add deleted bit to index tuples to reduce heap access
* Prevent index uniqueness checks when UPDATE does not modifying column * Prevent index uniqueness checks when UPDATE does not modifying column
* Use bitmaps to fetch heap pages in sequential order [performance] * Use bitmaps to fetch heap pages in sequential order [performance]
* Use bitmaps to combine existing indexes [performance] * Use bitmaps to combine existing indexes [performance]
@ -173,21 +140,15 @@ Indexes
* Add FILLFACTOR to btree index creation * Add FILLFACTOR to btree index creation
* Add concurrency to GIST * Add concurrency to GIST
* Improve concurrency of hash indexes (Neil) * Improve concurrency of hash indexes (Neil)
* -Test hash index performance and discourage usage
Commands Commands
======== ========
* -Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
* Add BETWEEN ASYMMETRIC/SYMMETRIC (Christopher) * Add BETWEEN ASYMMETRIC/SYMMETRIC (Christopher)
* -Remove LIMIT #,# and force use LIMIT and OFFSET clauses in 7.3 (Bruce)
* Allow LIMIT/OFFSET to use expressions * Allow LIMIT/OFFSET to use expressions
* -Disallow TRUNCATE on tables that are involved in referential constraints
* -Add OR REPLACE clauses to non-FUNCTION object creation
* CREATE TABLE AS can not determine column lengths from expressions [atttypmod] * CREATE TABLE AS can not determine column lengths from expressions [atttypmod]
* Allow UPDATE to handle complex aggregates [update] * Allow UPDATE to handle complex aggregates [update]
* -Prevent create/drop scripts from allowing extra args (Bruce)
* Allow command blocks to ignore certain types of errors * Allow command blocks to ignore certain types of errors
* Allow backslash handling in quoted strings to be disabled for portability * Allow backslash handling in quoted strings to be disabled for portability
* Return proper effected tuple count from complex commands [return] * Return proper effected tuple count from complex commands [return]
@ -195,42 +156,32 @@ Commands
* Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT * Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT
* Allow REINDEX to rebuild all indexes, remove /contrib/reindex * Allow REINDEX to rebuild all indexes, remove /contrib/reindex
* Make a transaction-safe TRUNCATE * Make a transaction-safe TRUNCATE
* Fix SELECT ... INTO and CREATE TABLE AS to have appopriate OID column
* ALTER * ALTER
o ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT o ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT
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)
o ALTER TABLE ADD COLUMN column DEFAULT should fill existing o ALTER TABLE ADD COLUMN column DEFAULT should fill existing
rows with DEFAULT value rows with DEFAULT value
o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because
of the item above of the item above
o -Have ALTER TABLE OWNER change all dependant objects like indexes
o Add ALTER TABLE tab SET WITHOUT OIDS o Add ALTER TABLE tab SET WITHOUT OIDS
* CLUSTER * CLUSTER
o -Cluster all tables at once using pg_index.indisclustered set during
previous CLUSTER
o -Prevent loss of indexes, permissions, inheritance
o Automatically maintain clustering on a table o Automatically maintain clustering on a table
o Allow CLUSTER to cluster all tables, remove clusterdb o Allow CLUSTER to cluster all tables, remove clusterdb
* COPY * COPY
o -Allow specification of column names
o Allow psql \copy to specify column names o Allow psql \copy to specify column names
o Allow dump/load of CSV format o Allow dump/load of CSV format
o -Change syntax to WITH DELIMITER, (keep old syntax around?)
o Allow COPY to report error lines and continue; optionally o Allow COPY to report error lines and continue; optionally
allow error codes to be specified; requires savepoints or can allow error codes to be specified; requires savepoints or can
not be run in a multi-statement transaction not be run in a multi-statement transaction
o -Generate failure on short COPY lines rather than pad NULLs
o Allow copy to understand \x as hex o Allow copy to understand \x as hex
* CURSOR * CURSOR
o Allow BINARY option to SELECT, just like DECLARE o Allow BINARY option to SELECT, just like DECLARE
o MOVE 0 should not move to end of cursor (Bruce) o -MOVE 0 should not move to end of cursor (Bruce)
o Allow UPDATE/DELETE WHERE CURRENT OF cursor using per-cursor tid o Allow UPDATE/DELETE WHERE CURRENT OF cursor using per-cursor tid
stored in the backend stored in the backend
o Prevent DROP of table being referenced by our own open cursor o Prevent DROP of table being referenced by our own open cursor
@ -239,21 +190,13 @@ Commands
* INSERT * INSERT
o Allow INSERT/UPDATE of system-generated oid value for a row o Allow INSERT/UPDATE of system-generated oid value for a row
o Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..) o Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
o -Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
o -Disallow missing columns in INSERT ... (col) VALUES, per ANSI
o Allow INSERT/UPDATE ... RETURNING new.col or old.col; handle o Allow INSERT/UPDATE ... RETURNING new.col or old.col; handle
RULE cases (Philip) RULE cases (Philip)
* SHOW/SET * SHOW/SET
o -Add command to display locks
o -Add SET or BEGIN timeout parameter to cancel query
o Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args o Add SET REAL_FORMAT and SET DOUBLE_PRECISION_FORMAT using printf args
o -Remove SET KSQO option now that OR processing is improved (Bruce)
o Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM o Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
ANALYZE, and CLUSTER ANALYZE, and CLUSTER
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
o Add SET SCHEMA o Add SET SCHEMA
o Allow EXPLAIN EXECUTE to see prepared plans o Allow EXPLAIN EXECUTE to see prepared plans
o Allow SHOW of non-modifiable variables, like pg_controldata o Allow SHOW of non-modifiable variables, like pg_controldata
@ -261,7 +204,6 @@ Commands
* SERVER-SIDE LANGUAGES * SERVER-SIDE LANGUAGES
o Allow PL/PgSQL's RAISE function to take expressions o Allow PL/PgSQL's RAISE function to take expressions
o -Fix PL/PgSQL to handle quoted mixed-case identifiers
o Change PL/PgSQL to use palloc() instead of malloc() o Change PL/PgSQL to use palloc() instead of malloc()
o Add untrusted version of plpython o Add untrusted version of plpython
o Allow Java server-side programming, http://pljava.sourceforge.net o Allow Java server-side programming, http://pljava.sourceforge.net
@ -284,14 +226,8 @@ Commands
Clients Clients
======= =======
* -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)
* Allow psql to show transaction status if backend protocol changes made * Allow psql to show transaction status if backend protocol changes made
* Add XML interface: psql, pg_dump, COPY, separate server (?) * Add XML interface: psql, pg_dump, COPY, separate server (?)
* -Have pg_dump use ADD PRIMARY KEY after COPY, for performance (Neil)
* Add schema, cast, and conversion backslash commands to psql * Add schema, cast, and conversion backslash commands to psql
* Allow pg_dump to dump a specific schema * Allow pg_dump to dump a specific schema
* Allow psql to do table completion for SELECT * FROM schema_part and * Allow psql to do table completion for SELECT * FROM schema_part and
@ -299,16 +235,12 @@ Clients
* JDBC * JDBC
o Comprehensive test suite. This may be available already. o Comprehensive test suite. This may be available already.
o -Updateable resultSet
o JDBC-standard BLOB support o JDBC-standard BLOB support
o Error Codes (pending backend implementation) o Error Codes (pending backend implementation)
o Support both 'make' and 'ant' o Support both 'make' and 'ant'
o Fix LargeObject API to handle OIDs as unsigned ints o Fix LargeObject API to handle OIDs as unsigned ints
o -Implement cancel() method on Statement
o Use cursors implicitly to avoid large results (see setCursorName()) o Use cursors implicitly to avoid large results (see setCursorName())
o -Add support for CallableStatements
o Add LISTEN/NOTIFY support to the JDBC driver (Barry) o Add LISTEN/NOTIFY support to the JDBC driver (Barry)
o -Compile under jdk 1.4
* ECPG * ECPG
o Implement set descriptor, using descriptor o Implement set descriptor, using descriptor
@ -331,14 +263,10 @@ Referential Integrity
* Add MATCH PARTIAL referential integrity [foreign] * Add MATCH PARTIAL referential integrity [foreign]
* Add deferred trigger queue file (Jan) * Add deferred trigger queue file (Jan)
* -Allow oid to act as a foreign key
* Implement dirty reads and use them in RI triggers * Implement dirty reads and use them in RI triggers
* Enforce referential integrity for system tables * Enforce referential integrity for system tables
* -Allow user to control trigger firing order (Tom)
* -Add ALTER TRIGGER ... RENAME
* Change foreign key constraint for array -> element to mean element * Change foreign key constraint for array -> element to mean element
in array in array
* -Fix foreign key constraints to not error on intermediate db states (Stephan)
* Allow DEFERRABLE UNIQUE constraints * Allow DEFERRABLE UNIQUE constraints
* Allow triggers to be disabled [trigger] * Allow triggers to be disabled [trigger]
* Support statement-level triggers and triggers on columns (Neil) * Support statement-level triggers and triggers on columns (Neil)
@ -347,16 +275,6 @@ Referential Integrity
Dependency Checking Dependency Checking
=================== ===================
* -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
* Flush cached query plans when their underlying catalog data changes * Flush cached query plans when their underlying catalog data changes
* Use dependency information to dump data in proper order * Use dependency information to dump data in proper order
@ -364,7 +282,6 @@ Dependency Checking
Transactions Transactions
============ ============
* -Allow autocommit so always in a transaction block
* Overhaul bufmgr/lockmgr/transaction manager * Overhaul bufmgr/lockmgr/transaction manager
* Allow savepoints / nested transactions [transactions] * Allow savepoints / nested transactions [transactions]
@ -374,7 +291,6 @@ Exotic Features
* Add sql3 recursive unions * Add sql3 recursive unions
* Add the concept of dataspaces/tablespaces [tablespaces] * Add the concept of dataspaces/tablespaces [tablespaces]
* -Add SQL92 schemas (Tom)
* Allow queries across multiple databases [crossdb] * Allow queries across multiple databases [crossdb]
* Add pre-parsing phase that converts non-ANSI features to supported features * Add pre-parsing phase that converts non-ANSI features to supported features
* Allow plug-in modules to emulate features from other databases * Allow plug-in modules to emulate features from other databases
@ -397,7 +313,6 @@ Fsync
Cache Cache
===== =====
* -Cache most recent query plan(s) (Neil) [prepare]
* Shared catalog cache, reduce lseek()'s by caching table size in shared area * Shared catalog cache, reduce lseek()'s by caching table size in shared area
* Add free-behind capability for large sequential scans (Bruce) * Add free-behind capability for large sequential scans (Bruce)
* Allow binding query args over FE/BE protocol * Allow binding query args over FE/BE protocol
@ -436,7 +351,6 @@ Startup Time
* Do listen() in postmaster and accept() in pre-forked backend * Do listen() in postmaster and accept() in pre-forked backend
* Have pre-forked backend pre-connect to last requested database or pass * Have pre-forked backend pre-connect to last requested database or pass
file descriptor to backend pre-forked for matching database file descriptor to backend pre-forked for matching database
* -Cache system catalog information in per-database files (Tom)
Write-Ahead Log Write-Ahead Log
@ -447,8 +361,6 @@ Write-Ahead Log
partial page writes [wal] partial page writes [wal]
* Turn off after-change writes if fsync is disabled (?) * Turn off after-change writes if fsync is disabled (?)
* Add WAL index reliability improvement to non-btree indexes * Add WAL index reliability improvement to non-btree indexes
* -Reorder postgresql.conf WAL items in order of importance (Bruce)
* -Remove wal_files postgresql.conf option because WAL files are now recycled
* Find proper defaults for postgresql.conf WAL entries * Find proper defaults for postgresql.conf WAL entries
* Add checkpoint_min_warning postgresql.conf option to warn about checkpoints * Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
that are too frequent that are too frequent
@ -462,14 +374,8 @@ Optimizer / Executor
* Improve Subplan list handling * Improve Subplan list handling
* Allow Subplans to use efficient joins(hash, merge) with upper variable * Allow Subplans to use efficient joins(hash, merge) with upper variable
* -Improve dynamic memory allocation by introducing tuple-context memory * Add hash for evaluating GROUP BY aggregates (Tom)
allocation (Tom)
* Add hash for evaluating GROUP BY aggregates
* -Nested FULL OUTER JOINs don't work (Tom)
* Allow merge and hash joins on expressions not just simple variables (Tom) * Allow merge and hash joins on expressions not just simple variables (Tom)
* -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)
* Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS [exists] * Make IN/NOT IN have similar performance to EXISTS/NOT EXISTS [exists]
* Missing optimizer selectivities for date, r-tree, etc. [optimizer] * Missing optimizer selectivities for date, r-tree, etc. [optimizer]
* Allow ORDER BY ... LIMIT to select top values without sort or index * Allow ORDER BY ... LIMIT to select top values without sort or index
@ -491,33 +397,20 @@ Miscellaneous
when it is available when it is available
* Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap] * Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap]
* Improve caching of attribute offsets when NULLs exist in the row * Improve caching of attribute offsets when NULLs exist in the row
* -Add Intimate Shared Memory(ISM) for Solaris
* -Use faster flex flags for performance improvement (Peter E)
* -Add BSD-licensed qsort() for Solaris
Source Code Source Code
=========== ===========
* Add use of 'const' for variables in source tree * Add use of 'const' for variables in source tree
* -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)
* Rename some /contrib modules from pg* to pg_* * Rename some /contrib modules from pg* to pg_*
* Move some things from /contrib into main tree * Move some things from /contrib into main tree
* Remove warnings created by -Wcast-align * Remove warnings created by -Wcast-align
* Move platform-specific ps status display info from ps_status.c to ports * Move platform-specific ps status display info from ps_status.c to ports
* -Make one version of simple_prompt() in code (Bruce, Tom)
* -Compile in syslog functionaility by default (Tatsuo)
* Modify regression tests to prevent failures do to minor numeric rounding * Modify regression tests to prevent failures do to minor numeric rounding
* Add OpenBSD's getpeereid() call for local socket authentication (Bruce) * Add OpenBSD's getpeereid() call for local socket authentication (Bruce)
* Improve access-permissions check on data directory in Cygwin (Tom) * Improve access-permissions check on data directory in Cygwin (Tom)
* -Report failure to find readline or zlib at end of configure run
* Add --port flag to regression tests * Add --port flag to regression tests
* -Increase identifier length (NAMEDATALEN) if small performance hit,
* -Increase maximum number of function parameters if little wasted space
* Add documentation for perl, including mention of DBI/DBD perl location * Add documentation for perl, including mention of DBI/DBD perl location
* Add optional CRC checksum to heap and index pages * Add optional CRC checksum to heap and index pages
* Change representation of whole-tuple parameters to functions * Change representation of whole-tuple parameters to functions
@ -526,9 +419,8 @@ Source Code
* Remove or relicense modules that are not under the BSD license, if possible * Remove or relicense modules that are not under the BSD license, if possible
* Remove memory/file descriptor freeing befor elog(ERROR) (Bruce) * Remove memory/file descriptor freeing befor elog(ERROR) (Bruce)
* Create native Win32 port [win32] * Create native Win32 port [win32]
* -Fix glibc's mktime() to handle pre-1970's dates
* -Move /contrib/retep to gborg.postgresql.org
* Acquire lock on a relation before building a relcache entry for it * Acquire lock on a relation before building a relcache entry for it
* Research interaction of setitimer() and sleep() used by statement_timeout
--------------------------------------------------------------------------- ---------------------------------------------------------------------------

View File

@ -12,7 +12,7 @@
<H1>Developer's Frequently Asked Questions (FAQ) for <H1>Developer's Frequently Asked Questions (FAQ) for
PostgreSQL</H1> PostgreSQL</H1>
<P>Last updated: Sat Nov 2 23:02:16 EST 2002</P> <P>Last updated: Tue Nov 5 16:52:46 EST 2002</P>
<P>Current maintainer: Bruce Momjian (<A href= <P>Current maintainer: Bruce Momjian (<A href=
"mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR> "mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</A>)<BR>
@ -40,8 +40,8 @@
<A href="#1.7">1.7</A>) What is configure all about?<BR> <A href="#1.7">1.7</A>) What is configure all about?<BR>
<A href="#1.8">1.8</A>) How do I add a new port?<BR> <A href="#1.8">1.8</A>) How do I add a new port?<BR>
<A href="#1.9">1.9</A>) Why don't you use threads/raw <A href="#1.9">1.9</A>) Why don't you use threads/raw
devices/async-I/O, &amp;insert your favorite wizz-bang feature devices/async-I/O, &lt;insert your favorite wizz-bang feature
here&amp;?<BR> here&gt;?<BR>
<A href="#1.10">1.10</A>) How are RPM's packaged?<BR> <A href="#1.10">1.10</A>) How are RPM's packaged?<BR>
<A href="#1.11">1.11</A>) How are CVS branches handled?<BR> <A href="#1.11">1.11</A>) How are CVS branches handled?<BR>
<A href="#1.12">1.12</A>) Where can I get a copy of the SQL <A href="#1.12">1.12</A>) Where can I get a copy of the SQL
@ -384,8 +384,8 @@
special files for your OS.</P> special files for your OS.</P>
<H3><A name="1.9">1.9</A>) Why don't you use threads/raw <H3><A name="1.9">1.9</A>) Why don't you use threads/raw
devices/async-I/O, &amp;insert your favorite wizz-bang feature devices/async-I/O, &lt;insert your favorite wizz-bang feature
here&amp;?</H3> here&gt;?</H3>
<P>There is always a temptation to use the newest operating system <P>There is always a temptation to use the newest operating system
features as soon as they arrive. We resist that temptation.</P> features as soon as they arrive. We resist that temptation.</P>
@ -393,7 +393,7 @@
<P>First, we support 15+ operating systems, so any new feature has <P>First, we support 15+ operating systems, so any new feature has
to be well established before we will consider it. Second, most new to be well established before we will consider it. Second, most new
<I>wizz-bang</I> features don't provide <I>dramatic</I> <I>wizz-bang</I> features don't provide <I>dramatic</I>
improvements. Third, the usually have some downside, such as improvements. Third, they usually have some downside, such as
decreased reliability or additional code required. Therefore, we decreased reliability or additional code required. Therefore, we
don't rush to use new features but rather wait for the feature to be don't rush to use new features but rather wait for the feature to be
established, then ask for testing to show that a measurable established, then ask for testing to show that a measurable
@ -413,10 +413,10 @@
<LI>The backend code would be more complex.</LI> <LI>The backend code would be more complex.</LI>
</UL> </UL>
<P>So, we are not "asleep at the switch" as they say with regard to <P>So, we are not ignorant of new features. It is just that
new features, it is just that we are cautious about their we are cautious about their adoption. The TODO list often
adoption. The TODO list often contains links to discussions contains links to discussions showing our reasoning in
showing our reasoning in these areas.</P> these areas.</P>
<H3><A name="1.10">1.10</A>) How are RPM's packaged?</H3> <H3><A name="1.10">1.10</A>) How are RPM's packaged?</H3>