Commit Graph

2283 Commits

Author SHA1 Message Date
Bruce Momjian cc05d051a6 Add:
>
> * Consider a function-based API for '@@' full text searches
>
>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php
>
2008-03-08 17:57:21 +00:00
Bruce Momjian 1cc52905f0 Add:
>
> * Add a function like pg_get_indexdef() that report more detailed index
>   information
>
>   http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php
>
2008-03-07 20:38:59 +00:00
Bruce Momjian f76eee0bf1 Add:
>
>
> 	o Prevent autovacuum from running if an old transaction is still
> 	  running from the last vacuum
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-11/msg00899.php
>
2008-03-07 20:22:25 +00:00
Bruce Momjian 0323f706b0 Added to TODO:
>
> * Allow text search dictionary to filter out only stop words
>
>   http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php
2008-03-07 20:06:03 +00:00
Bruce Momjian 090012131c Add to TODO:
>
> * Consider allowing higher priority queries to have referenced buffer
>   cache pages stay in memory longer
>
>   http://archives.postgresql.org/pgsql-hackers/2007-11/msg00562.php
2008-03-07 20:01:24 +00:00
Bruce Momjian 3310b3c144 Add:
>
> * Improve referential integrity checks
>
>   http://archives.postgresql.org/pgsql-performance/2005-10/msg00458.php
2008-03-07 19:18:59 +00:00
Bruce Momjian 4864986e94 Add item:
> 	o Store per-table autovacuum settings in pg_class.reloptions.
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-02/msg01440.php
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg00724.php
2008-03-07 19:03:39 +00:00
Bruce Momjian 3c361cbe57 Add URL for:
* Allow multiple identical NOTIFY events to always be communicated to the
  client, rather than sent as a single notification to the listener

  http://archives.postgresql.org/pgsql-general/2008-01/msg00057.php
2008-03-07 18:53:49 +00:00
Bruce Momjian 9d96b581d0 Add:
> 	o Add SQLSTATE severity to PGconn return status
>
> 	  http://archives.postgresql.org/pgsql-interfaces/2007-11/msg00015.php
2008-03-07 17:54:15 +00:00
Bruce Momjian b2facfd918 Add:
> 	o Have \l+ show database size, if permissions allow
>
> 	  Ideally it will not generate an error for invalid permissions
>
2008-03-07 15:56:40 +00:00
Bruce Momjian cbd08f6370 Add:
>
> * Add comments on system tables/columns using the information in
>   catalogs.sgml
>
>   Ideally the information would be pulled from the SGML file
>   automatically.
>
2008-03-07 14:57:39 +00:00
Bruce Momjian 5490ccc033 Update wording:
< 	o Require all check constraints to be inherited
> 	o Require all CHECK constraints to be inherited
2008-03-07 01:06:55 +00:00
Bruce Momjian 86e39da9c6 Add:
>
> 	o Require all check constraints to be inherited
>
> 	  http://archives.postgresql.org/pgsql-bugs/2007-04/msg00026.php
2008-03-07 01:06:36 +00:00
Bruce Momjian 868d7e2643 Add:
> 	o Have \d show foreign keys that reference a table's primary key
>
> 	  http://archives.postgresql.org/pgsql-hackers/2007-04/msg00424.php
>
> 	o Have \d show child tables that inherit from the specified parent
2008-03-07 00:10:13 +00:00
Bruce Momjian 60fb7187d0 Add URL for:
* Consider compressing indexes by storing key values duplicated in
  several rows as a single index entry

>   http://archives.postgresql.org/pgsql-patches/2007-03/msg00163.php
2008-03-06 22:17:41 +00:00
Bruce Momjian cfc4d6ef11 Add URL for:
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-patches/2007-03/msg00139.php
2008-03-06 22:15:27 +00:00
Bruce Momjian 7afc827cf6 Add URLs for:
* Consider compressing indexes by storing key values duplicated in
  several rows as a single index entry
>
>   http://archives.postgresql.org/pgsql-hackers/2006-12/msg00341.php
>   http://archives.postgresql.org/pgsql-hackers/2007-02/msg01264.php
>   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00465.php
>
2008-03-06 22:09:43 +00:00
Bruce Momjian 512775e2c6 Add URL for:
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-hackers/2007-01/msg01375.php
2008-03-06 22:04:57 +00:00
Bruce Momjian 38ade59f95 Add:
>
> * Allow client certificate names to be checked against the client
>   hostname
>
>   This is already implemented in
>   libpq/fe-secure.c::verify_peer_name_matches_certificate() but the code
>   is commented out.
2008-03-06 21:25:50 +00:00
Bruce Momjian 4f887c6bf0 Add:
>
> * Reduce memory usage of aggregates in set returning functions
>
>   http://archives.postgresql.org/pgsql-performance/2008-01/msg00031.php
>
2008-03-06 18:00:59 +00:00
Bruce Momjian 9772eb339d Add:
>
> 	o Prevent escape string warnings when object names have
> 	  backslashes
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-01/msg00227.php
>
2008-03-06 17:28:22 +00:00
Bruce Momjian 0083856e01 Add:
> * Prevent malicious functions from being executed with the permissions
>   of unsuspecting users
>
>   Index functions are safe, so VACUUM and ANALYZE are safe too.
>   Triggers, CHECK and DEFAULT expressions, and rules are still vulnerable.
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00268.php
2008-03-06 17:19:38 +00:00
Bruce Momjian a4591abf37 Wording fix:
< 	o Have CONSTRAINT cname NOT NULL preserve the contraint name
> 	o Have CONSTRAINT cname NOT NULL record the contraint name
2008-03-06 03:22:32 +00:00
Bruce Momjian ecc5db57d5 Add:
>
> 	o Have CONSTRAINT cname NOT NULL preserve the contraint name
>
> 	  Right now pg_attribute.attnotnull records the NOT NULL status
> 	  of the column, but does not record the contraint name
>
2008-03-06 03:18:19 +00:00
Bruce Momjian fca7bcbb64 Break out referential integrity and server-side languages into separate
TODO categories.
2008-03-06 03:15:52 +00:00
Bruce Momjian 4309a7dd99 Add URL for:
* Add support for SQL-standard GENERATED/IDENTITY columns

>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg00604.php
2008-03-05 16:07:21 +00:00
Bruce Momjian af79f03bdd Add URL for:
* Add SQL:2003 WITH RECURSIVE (hierarchical) queries to SELECT

>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg00642.php
>
2008-03-05 16:02:31 +00:00
Bruce Momjian fd598416fc Add:
>
> 	o Allow COPY FROM to create index entries in bulk
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00811.php
>
2008-03-05 15:56:11 +00:00
Bruce Momjian 2c63d8405b Update pg_dump item:
< 	  produce a single dump output file.
> 	  produce a single dump output file.  It also would require
> 	  several sessions to share the same snapshot.
2008-03-04 14:38:38 +00:00
Bruce Momjian 60c93d3976 Remove:
<
< 	o To better utilize resources, restore data, primary keys, and
<  	  indexes for a single table before restoring the next table
<
< 	  Hopefully this will allow the CPU-I/O load to be more uniform
< 	  for simultaneous restores.  The idea is to start data restores
< 	  for several objects, and once the first object is done, to move
< 	  on to its primary keys and indexes.  Over time, simultaneous
< 	  data loads and index builds will be running.
2008-03-04 02:48:22 +00:00
Bruce Momjian 66504d763f Add URL for:
o Allow pg_restore to utilize multiple CPUs and I/O channels by
          restoring multiple objects simultaneously

> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00963.php
2008-03-04 01:38:37 +00:00
Bruce Momjian a273d393b7 Add ideas for concurrent pg_dump and pg_restore:
< * pg_dump
> * pg_dump / pg_restore
> 	o Allow pg_dump to utilize multiple CPUs and I/O channels by dumping
> 	  multiple objects simultaneously
>
> 	  The difficulty with this is getting multiple dump processes to
> 	  produce a single dump output file.
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00205.php
>
> 	o Allow pg_restore to utilize multiple CPUs and I/O channels by
>           restoring multiple objects simultaneously
>
> 	  This might require a pg_restore flag to indicate how many
> 	  simultaneous operations should be performed.  Only pg_dump's
> 	  -Fc format has the necessary dependency information.
>
> 	o To better utilize resources, restore data, primary keys, and
>  	  indexes for a single table before restoring the next table
>
> 	  Hopefully this will allow the CPU-I/O load to be more uniform
> 	  for simultaneous restores.  The idea is to start data restores
> 	  for several objects, and once the first object is done, to move
> 	  on to its primary keys and indexes.  Over time, simultaneous
> 	  data loads and index builds will be running.
>
> 	o To better utilize resources, allow pg_restore to check foreign
> 	  keys simultaneously, where possible
> 	o Allow pg_restore to create all indexes of a table
> 	  concurrently, via a single heap scan
>
> 	  This requires a pg_dump -Fc file because that format contains
>           the required dependency information.
> 	  http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
>
> 	o Allow pg_restore to load different parts of the COPY data
> 	  simultaneously
<   single heap scan, and have a restore of a pg_dump somehow use it
>   single heap scan, and have pg_restore use it
<   http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
2008-03-04 01:33:32 +00:00
Bruce Momjian a17772c7fb Add:
> * Allow INSERT ... DELETE ... RETURNING, namely allow the DELETE ...
>   RETURNING to supply values to the INSERT
>   http://archives.postgresql.org/pgsql-hackers/2008-02/thrd2.php#00979
2008-03-03 21:26:09 +00:00
Bruce Momjian ca470198a4 Add another URL for:
o Consider using a ring buffer for COPY FROM
<
< http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php
> 	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php
2008-03-03 21:00:35 +00:00
Bruce Momjian efa67833bb Add:
>
> * Allow the UUID type to accept non-standard formats
>
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01214.php
2008-03-03 19:03:44 +00:00
Bruce Momjian 7740991d52 Add:
> * Speed WAL recovery by allowing more than one page to be prefetched
>
>   This involves having a separate process that can be told which pages
>   the recovery process will need in the near future.
>   http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php
>
2008-03-03 18:45:24 +00:00
Bruce Momjian ceb567c1c1 Add URL's for sequence discussions:
>
>   http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php
>
< 	o %Have ALTER TABLE RENAME rename SERIAL sequence names
> 	o Have ALTER TABLE RENAME rename SERIAL sequence names
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php
>
> 	  http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php
2008-03-03 15:06:55 +00:00
Bruce Momjian 4db0d87c9d Update wording:
< * Add Oracle-style packages  (Pavel)
> * Add features of Oracle-style packages  (Pavel)
2008-02-29 14:56:50 +00:00
Bruce Momjian ee7a6770f6 Move item as done:
<
> * -Allow AS in "SELECT col AS label" to be optional in certain cases
>
< * Allow AS in "SELECT col AS label" to be optional (not wanted)
2008-02-16 23:27:34 +00:00
Bruce Momjian ea3db8f79d Update item:
< * Improve deadlock detection when deleting items from shared buffers
> * Improve deadlock detection when a page cleaning lock conflicts
>   with a shared buffer that is pinned
2008-02-01 02:41:10 +00:00
Bruce Momjian 55986a5eb8 Add:
> * Improve deadlock detection when deleting items from shared buffers
>
>   http://archives.postgresql.org/pgsql-bugs/2008-01/msg00138.php
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php
>   http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php
2008-01-31 15:05:09 +00:00
Bruce Momjian 65b39ec347 Update wording:
< * Add anonymous transactions
> * Add autonomous transactions
2008-01-29 16:13:09 +00:00
Bruce Momjian 1567133511 Add item:
> * Add anonymous transactions
>
>   http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php
>
2008-01-29 16:11:19 +00:00
Bruce Momjian 522f362975 Remove duplicat item:
< 	  o Allow the PITR process to be debugged and data examined
2008-01-29 16:09:28 +00:00
Peter Eisentraut 79a323ab49 Change /contrib to contrib for consistency. 2008-01-24 06:23:33 +00:00
Bruce Momjian 1272ac82b6 Add:
>
> * Add the ability to automatically create materialized views
>
>   Right now materialized views require the user to create triggers on the
>   main table to keep the summary table current.  SQL syntax should be able
>   to manager the triggers and summary table automatically.  A more
>   sophisticated implementation would automatically retrieve from the
>   summary table when the main table is referenced, if possible.
>
2008-01-14 22:14:30 +00:00
Bruce Momjian f3e3f2e158 Add:
> * Add ability to trigger on TRUNCATE
>
>   http://archives.postgresql.org/pgsql-sql/2008-01/msg00050.php
2008-01-11 16:49:27 +00:00
Bruce Momjian 88a79c1d61 Add URL for:
* Allow AS in "SELECT col AS label" to be optional (not wanted)

>   http://archives.postgresql.org/pgsql-hackers/2003-04/msg00436.php
2008-01-04 15:58:27 +00:00
Bruce Momjian 8af31d56f4 Add:
> * Allow multiple identical NOTIFY events to always be communicated to the
>   client, rather than sent as a single notification to the listener
2008-01-03 18:47:44 +00:00
Bruce Momjian a225bf05e0 Update TODO list based on 8.3 completed items:
< * Allow major upgrades without dump/reload, perhaps using pg_upgrade
<   [pg_upgrade]
< * Check for unreferenced table files created by transactions that were
<   in-progress when the server terminated abruptly
<
<   http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php
<
> * Check for unreferenced table files created by transactions that were
>   in-progress when the server terminated abruptly
>
>   http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php
>
< * Support table partitioning that allows a single table to be stored
<   in subtables that are partitioned based on the primary key or a WHERE
<   clause
<   creation of rules for INSERT/UPDATE/DELETE, and constraints for
<   rapid partition selection.  Options could include range and hash
>   creation of triggers or rules for INSERT/UPDATE/DELETE, and constraints
>   for rapid partition selection.  Options could include range and hash
<
< * Improve replication solutions
<
< 	o Load balancing
<
< 	  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.
<
< 	o Allow replication over unreliable or non-persistent links
<
<
< 	o Mark change-on-restart-only values in postgresql.conf
< 	  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.
> 	  Currently 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.
<
< 	  o Allow recovery.conf to allow the same syntax as
> 	  o Allow recovery.conf to support the same syntax as
< * Allow user-defined types to specify a type modifier at table creation
<   time
< * Allow all data types to cast to and from TEXT
<
<   http://archives.postgresql.org/pgsql-hackers/2007-04/msg00017.php
<
<
< 		o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH
< 		o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
< 		  INTERVAL MONTH), and this should return '12 months'
> 		o Add support for year-month syntax, INTERVAL '50-6' YEAR
> 		  TO MONTH
> 		o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1
> 		  year' AS INTERVAL MONTH), and this should return '12 months'
< 	* Allow MONEY to be cast to/from other numeric data types
> 	* Allow MONEY to be easily cast to/from other numeric data types
>
< * Allow functions to have a schema search path specified at creation time
< * Fix cases where invalid byte encodings are accepted by the database,
<   but throw an error on SELECT
<
<   http://archives.postgresql.org/pgsql-hackers/2007-03/msg00767.php
< * Improve logging of prepared statements recovered during startup
> * Improve logging of prepared transactions recovered during startup
< * Make standard_conforming_strings the default in 8.4?
> * Make standard_conforming_strings the default in 8.5?
< * Allow the count returned by SELECT, etc to be to represent as an int64
> * Allow the count returned by SELECT, etc to be represented as an int64
< 	o Use more reliable method for CREATE DATABASE to get a consistent
< 	  copy of db?
< 	o Fix transaction restriction checks for CREATE DATABASE and
< 	  other commands
<
< 	  http://archives.postgresql.org/pgsql-hackers/2007-01/msg00133.php
< 	  currently allowed.
> 	  currently allowed.  This currently is done if the table is
> 	  created inside the same transaction block as the COPY because
> 	  no other backends can see the table.
< 	o Add SET PATH for schemas?
<
< 	  This is basically the same as SET search_path.
< 	o Enforce referential integrity for system tables
< 		o Add Oracle-style packages  (Pavel)
<
< 		  A package would be a schema with session-local variables,
< 		  public/private functions, and initialization functions.  It
< 		  is also possible to implement these capabilities
< 		  in all schemas and not use a separate "packages"
< 		  syntax at all.
<
< 		  http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
<
< 		o Add single-step debugging of functions
< 		o Allow RETURN to return row or record functions
<
< 		  http://archives.postgresql.org/pgsql-patches/2005-11/msg00045.php
< 		  http://archives.postgresql.org/pgsql-patches/2006-08/msg00397.php
< 		  http://archives.postgresql.org/pgsql-hackers/2006-09/msg00388.php
<
< 		o Fix problems with RETURN NEXT on tables with
< 		  dropped/added columns after function creation
<
< 		  http://archives.postgresql.org/pgsql-patches/2006-02/msg00165.php
<
< * Make consistent use of long/short command options --- pg_ctl needs
<   long ones, pg_config doesn't have short ones, postgres doesn't have
<   enough long ones, etc.
<
<
<
< 	o Consider parsing the -c string into individual queries so each
< 	  is run in its own transaction
<
< 	  http://archives.postgresql.org/pgsql-hackers/2007-01/msg00291.php
<
<
< 	o Remove unnecessary function pointer abstractions in pg_dump source
< 	  code
> 	o Remove unnecessary function pointer abstractions in pg_dump source
> 	  code
<
<
< 	o Fix SSL retry to avoid useless repeated connection attempts and
< 	  ensuing misleading error messages
>
<
<   This is difficult because it requires datatype-specific knowledge.
<
< * Improve commit_delay handling to reduce fsync()
< * %Add an option to sync() before fsync()'ing checkpoint files
>
< * Reduce lock time during VACUUM FULL by moving tuples with read lock,
<   then write lock and truncate table
<
<   Moved tuples are invisible to other backends so they don't require a
<   write lock. However, the read lock promotion to write lock could lead
<   to deadlock situations.
<
< * Prevent long-lived temporary tables from causing frozen-xid advancement
<    starvation
<
<    The problem is that autovacuum cannot vacuum them to set frozen xids;
<    only the session that created them can do that.
<
<
<
< 	o Use free-space map information to guide refilling
< 	o Consider logging activity either to the logs or a system view
> 	  The problem is that autovacuum cannot vacuum them to set frozen xids;
> 	  only the session that created them can do that.
< * Add connection pooling
<
<   It is unclear if this should be done inside the backend code or done
<   by something external like pgpool. The passing of file descriptors to
<   existing backends is one of the difficulties with a backend approach.
<
< * Consider reducing memory used for shared buffer reference count
<
<   http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php
<
< * %Remove memory/file descriptor freeing before ereport(ERROR)
< * %Promote debug_query_string into a server-side function current_query()
< * Allow ecpg to work with MSVC and BCC
< * Add xpath_array() to /contrib/xml2 to return results as an array
< * Allow building in directories containing spaces
<
<   This is probably not possible because 'gmake' and other compiler tools
<   do not fully support quoting of paths with spaces.
<
< * Fix sgmltools so PDFs can be generated with bookmarks
< * Split out libpq pgpass and environment documentation sections to make
<   it easier for non-developers to find
< * Use strlcpy() rather than our StrNCpy() macro
<
<   http://archives.postgresql.org/pgsql-hackers/2006-09/msg02108.php
<
< 	o Re-enable timezone output on log_line_prefix '%t' when a
< 	  shorter timezone string is available
< * Allow statements across databases or servers with transaction
<   semantics
<
<   This can be done using dblink and two-phase commit.
> * Add Oracle-style packages  (Pavel)
< * Add the features of packages
> 	  A package would be a schema with session-local variables,
> 	  public/private functions, and initialization functions.  It
> 	  is also possible to implement these capabilities
> 	  in any schema and not use a separate "packages"
> 	  syntax at all.
< 	o  Make private objects accessible only to objects in the same schema
< 	o  Allow current_schema.objname to access current schema objects
< 	o  Add session variables
< 	o  Allow nested schemas
> 	  http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php
2007-12-30 03:22:53 +00:00