Commit Graph

1368 Commits

Author SHA1 Message Date
Bruce Momjian a9a2c394b8 Force rebuild. 2004-10-18 16:16:20 +00:00
Bruce Momjian e444d9a966 Improve indentation of sublists:
< 	The proper solution to this will probably the use of a master/slave
< 	replication solution like Sloney and a connection pooling tool like
< 	pgpool.
> 	  The proper solution to this will probably the use of a master/slave
> 	  replication solution like Sloney and a connection pooling tool like
> 	  pgpool.
114,116c114,116
< 	You can use any of the master/slave replication servers to use a
< 	standby server for data warehousing. To allow read/write queries to
< 	multiple servers, you need multi-master replication like pgcluster.
> 	  You can use any of the master/slave replication servers to use a
> 	  standby server for data warehousing. To allow read/write queries to
> 	  multiple servers, you need multi-master replication like pgcluster.
166,167c166,167
< 	Currently large objects entries do not have owners. Permissions can
< 	only be set at the pg_largeobject table level.
> 	  Currently large objects entries do not have owners. Permissions can
> 	  only be set at the pg_largeobject table level.
173c173
< 	This requires the TOAST column to be stored EXTERNAL.
> 	  This requires the TOAST column to be stored EXTERNAL.
359,360c359,360
< 	One complexity is whether moving a schema should move all existing
< 	schema objects or just define the location for future object creation.
> 	  One complexity is whether moving a schema should move all existing
> 	  schema objects or just define the location for future object creation.
364,365c364,365
< 	Currently non-global system tables must be in the default database
< 	schema. Global system tables can never be moved.
> 	  Currently non-global system tables must be in the default database
> 	  schema. Global system tables can never be moved.
371,375c371,375
< 	This might require some background daemon to maintain clustering
< 	during periods of low usage. It might also require tables to be only
< 	paritally filled for easier reorganization.  Another idea would
<         be to create a merged heap/index data file so an index lookup would
< 	automatically access the heap data too.
> 	  This might require some background daemon to maintain clustering
> 	  during periods of low usage. It might also require tables to be only
> 	  paritally filled for easier reorganization.  Another idea would
>           be to create a merged heap/index data file so an index lookup would
> 	  automatically access the heap data too.
379,380c379,380
< 	To do this, determine the ideal cluster index for each system
< 	table and set the cluster setting during initdb.
> 	  To do this, determine the ideal cluster index for each system
> 	  table and set the cluster setting during initdb.
385,386c385,386
< 	This requires the use of a savepoint before each COPY line is
< 	processed, with ROLLBACK on COPY failure.
> 	  This requires the use of a savepoint before each COPY line is
> 	  processed, with ROLLBACK on COPY failure.
395,398c395,398
< 	This requires using the row ctid to map cursor rows back to the
< 	original heap row. This become more complicated if WITH HOLD cursors
< 	are to be supported because WITH HOLD cursors have a copy of the row
< 	and no FOR UPDATE lock.
> 	  This requires using the row ctid to map cursor rows back to the
> 	  original heap row. This become more complicated if WITH HOLD cursors
> 	  are to be supported because WITH HOLD cursors have a copy of the row
> 	  and no FOR UPDATE lock.
405,406c405,406
< 	Because WITH HOLD cursors exist outside transactions, this allows
< 	them to be listed so they can be closed.
> 	  Because WITH HOLD cursors exist outside transactions, this allows
> 	  them to be listed so they can be closed.
413,415c413,415
< 	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.
> 	  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.
422c422
< 	This is basically the same as SET search_path.
> 	  This is basically the same as SET search_path.
426,427c426,427
< 	This requires a checking function to be called after the server
< 	configuration file is read.
> 	  This requires a checking function to be called after the server
> 	  configuration file is read.
432c432
< 	Currently only constants are supported.
> 	  Currently only constants are supported.
438,439c438,439
< 	This requires the cached PL/PgSQL byte code to be invalidated when
< 	an object referenced in the function is changed.
> 	  This requires the cached PL/PgSQL byte code to be invalidated when
> 	  an object referenced in the function is changed.
512,513c512,513
< 	Document differences between ecpg and the SQL standard and
< 	information about the Informix-compatibility module.
> 	  Document differences between ecpg and the SQL standard and
> 	  information about the Informix-compatibility module.
2004-10-18 16:13:43 +00:00
Bruce Momjian f9259bd563 Update wording:
* Allow a database in tablespace t1 with tables created in tablespace t2
  to be used as a template for a new database created with default
  tablespace t2

  All objects in the default database tablespace must have default tablespace
  specifications.  This is because new databases are created by copying
  directories.  If you mix default tablespace tables and tablespace-specified
  tables in the same directory, creating a new database from such a mixed
  directory would create a new database with tables that had incorrect
  explicit tablespaces.  To fix this would require modifying pg_class in the
  newly copied database, which we don't currently do.
2004-10-18 03:27:14 +00:00
Bruce Momjian b303739c06 Add:
>
> * Allow a database in tablespace t1 with tables created in tablespace t2
>   to be used as a template for a new database created with default
>   tablespace t2
>
>   All objects in the default database tablespace must have default tablespace
>   specifications.  This is because new databases are created by copying
>   directories.  If you mix default tablespace tables and tablespace-specified
>   tables in the same directory, creating a new database from such a mixed
>   directory would create a new database with tables that had incorrect
>   explicit tablespaces.  To fix this would require modifying pg_class in the
>   newly copied database, which we don't currently do.
2004-10-18 02:56:42 +00:00
Bruce Momjian 19d97fb3fd Add:
> * Allow libpq to access SQLSTATE so pg_ctl can test for connection failure
>
>   This would be used for checking if the server is up.
>
2004-10-14 22:17:57 +00:00
Bruce Momjian 130972b4e2 Add:
<
> * Prevent inet cast to cidr if the unmasked bits are not zero, or
>   zero bits
2004-10-14 19:26:40 +00:00
Bruce Momjian b8c06a6645 Add:
> * Add RESET CONNECTION command to reset all session state
329a331,334
>   This would include resetting of all variables (RESET ALL), dropping of
>   all temporary tables, removal of any NOTIFYs, etc.  This could be used
>   for connection pooling.  We could also change RESET ALL to have this
>   functionality.
2004-10-13 01:03:11 +00:00
Bruce Momjian b3723aeb1f Add:
>
811a813,814
> 	o Re-enable timezone output on log_line_prefix '%t' when a
> 	  shorter timezone string is available
2004-10-09 01:29:01 +00:00
Bruce Momjian d157f4c26a Add newline. 2004-10-09 00:33:28 +00:00
Bruce Momjian 1c24bf9096 Move Win32 TODO items to main TODO list:
<
> * Win32
> 	o Remove per-backend parameter file and move into shared memory?
> 	o Remove configure.in check for link failure when cause is found
> 	o Remove readdir() errno patch when runtime/mingwex/dirent.c rev
> 	  1.4 is released
> 	o Remove psql newline patch when we find out why mingw outputs an
> 	  extra newline
> 	o Allow psql to use readline once non-US code pages work with
> 	  backslashes
2004-10-08 16:28:32 +00:00
Bruce Momjian 050beacc6e Pull comment down into its own paragraph. 2004-10-08 00:44:07 +00:00
Bruce Momjian c4c3428914 Add:
* 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.
2004-10-08 00:36:23 +00:00
Bruce Momjian 7ceec70fc7 Add:
>
> * Consider automatic caching of queries at various levels:
> 	o Parsed query tree
> 	o Query execute plan
> 	o Query results
2004-09-27 14:17:51 +00:00
Bruce Momjian 08e9f6974c Remove completed items:
< 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
2004-09-27 14:15:49 +00:00
Bruce Momjian 6e7dd37384 Refresh for recent changes. 2004-09-26 01:33:55 +00:00
Neil Conway 665d3736fb Clarify TODO item: we ought to implement updatable views per SQL99, not
SQL92 (the former defines a much more ambitious subset of views that
need to be updatable).
2004-09-21 05:38:54 +00:00
Bruce Momjian 1459d8c4b0 Mark as done:
< * 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
2004-09-14 14:34:45 +00:00
Bruce Momjian 8a54a51863 Done:
< * Have AFTER triggers execute after the appropriate SQL statement in a
> * -Have AFTER triggers execute after the appropriate SQL statement in a
2004-09-10 22:38:52 +00:00
Bruce Momjian 856d1faac1 Add:
> * Make row-wise comparisons work per SQL spec
>
2004-09-10 16:35:56 +00:00
Bruce Momjian 594be448e1 Add:
> * Remove Win32 rename/unlink looping if unnecessary
2004-09-10 10:03:41 +00:00
Bruce Momjian c58eb2dd7b Add:
> * Consider using hash buckets to do DISTINCT, rather than sorting
>
>   This would be beneficial when there are few distinct values.
2004-09-02 01:18:46 +00:00
Bruce Momjian af8406bb2a Remove item because it is on the open item list:
< * Fix oid2name and dbsize for tablespaces
2004-08-30 16:08:20 +00:00
Bruce Momjian ef16b4e157 Update wording:
< 	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
2004-08-27 04:34:28 +00:00
Bruce Momjian 3bc7564cf9 Update:
< 	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.
2004-08-27 01:44:49 +00:00
Bruce Momjian 93c3baa96f Add:
> * 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)
2004-08-26 03:09:13 +00:00
Bruce Momjian 4359ebed37 Update item:
< * 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.
>
2004-08-24 11:09:44 +00:00
Bruce Momjian 059912ce2e Mention removal of page images in PITR files:
<   partial page writes during recovery.
>   partial page writes during recovery.  These pages can also be
>   eliminated from point-in-time archive files.
2004-08-23 21:56:50 +00:00
Bruce Momjian ff8e5526dd Add ALTER SCHEMA item detail:
< 	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
2004-08-20 20:07:12 +00:00
Bruce Momjian a9ed7476a0 Add psql tab completion TODO:
< * -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
2004-08-20 19:30:39 +00:00
Bruce Momjian fcc5b95e0f Add mention of environment variable conflict with uncommenting config
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.
2004-08-20 15:20:27 +00:00
Bruce Momjian 2674bbbe99 Add:
> * Add a function that returns the 'uptime' of the postmaster
2004-08-20 03:06:00 +00:00
Bruce Momjian 4d328bcd9c Update wording on commented postgresql.conf values:
>   Another option is to allow commented values to return to their
>   default values.
2004-08-19 22:25:09 +00:00
Bruce Momjian 04854a89ef Add:
> 	o Allow COPY to optionally include column headings as the first line
2004-08-19 02:36:24 +00:00
Bruce Momjian 7500704167 Remove as duplicate:
< 	o Allow pg_dumpall to use non-text output formats
2004-08-18 04:00:32 +00:00
Bruce Momjian 83f8fb7459 Add:
> * Move some /contrib modules out to their own project sites
2004-08-18 03:51:35 +00:00
Bruce Momjian 3d20578e93 Add pg_dump section:
< * -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
2004-08-18 03:19:42 +00:00
Bruce Momjian 388ffad040 Add:
< * -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.
2004-08-17 17:14:56 +00:00
Bruce Momjian bc91389df9 Add:
> 	o Add ALTER INDEX syntax to work like ALTER TABLE indexname
2004-08-16 16:14:31 +00:00
Bruce Momjian fa82574bc5 Add:
> * 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.
>
2004-08-16 04:38:46 +00:00
Bruce Momjian 0e0793a71a Add:
>
> * 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.
2004-08-14 01:30:49 +00:00
Bruce Momjian 9227509230 Add:
> 	o Add ALTER INDEX that works just like ALTER TABLE already does
> 	  on an index
2004-08-13 02:47:53 +00:00
Bruce Momjian 9e01aaa8bf Add:
> * 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.
>
2004-08-12 19:45:24 +00:00
Bruce Momjian f7667e4cfa Update DELETE FROM:
< * 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.
2004-08-10 17:30:47 +00:00
Bruce Momjian 2c29664b6b Update DELETE FROM TODO info. 2004-08-10 16:29:43 +00:00
Bruce Momjian fdcad61fd5 Add:
* Add COMMENT ON for all cluster global objects (users, groups,
  databases and tablespaces)
2004-08-10 01:38:59 +00:00
Bruce Momjian 1ad8aedb5f Removed, shared table:
< * Add COMMENT for tablespaces
2004-08-09 22:48:01 +00:00
Bruce Momjian 8196e1f85a Add:
> * Add COMMENT for tablespaces
2004-08-09 22:39:18 +00:00
Bruce Momjian 8ac6de38f1 Add:
> * Create dump tool for write-ahead logs for use in determining
>   transaction id for point-in-time recovery
2004-08-07 01:58:12 +00:00
Bruce Momjian 57050f9bdf Modify:
> * 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.
2004-08-06 17:52:44 +00:00
Bruce Momjian 78877260e6 Add:
> * Track dependencies in function bodies and recompile/invalidate
2004-08-06 15:24:20 +00:00