11TODO list for PostgreSQL
22========================
3- Last updated: Fri Feb 23 14:38:26 EST 2001
3+ Last updated: Wed Feb 28 13:03:43 EST 2001
44
55Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
66
@@ -125,6 +125,8 @@ TYPES
125125* Make binary/file in/out interface for TOAST columns
126126* SELECT cash_out(2) crashes because of opaque
127127* Add SQL standard function bit_length()
128+ * Make oid use unsigned int more reliably, pg_atoi()
129+ * Missing optimizer selectivities for date, r-tree, etc. [optimizer]
128130
129131VIEWS
130132
@@ -145,6 +147,10 @@ INDEXES
145147* Add FILLFACTOR to index creation
146148* Re-enable partial indexes
147149* Allow inherited tables to inherit index
150+ * Prevent pg_attribute from having duplicate oids for indexes (Tom)
151+ * Add UNIQUE capability to non-btree indexes
152+ * Certain indexes will not shrink, i.e. oid indexes with many inserts (Vadim)
153+ * Have UPDATE/DELETE clean out indexes
148154
149155COMMANDS
150156
@@ -183,6 +189,9 @@ COMMANDS
183189* Add SHOW command to display locks
184190* Bring INSERT ... VALUES up to full SQL92 spec, disallow missing
185191 columns, allow DEFAULT
192+ * Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
193+ * Allow DELETE WHERE CURRENT OF cursor
194+ * -redesign UNION structures to have separarate target lists
186195
187196CLIENTS
188197
@@ -239,22 +248,14 @@ MISCELLANEOUS
239248* Increase identifier length(NAMEDATALEN) if small performance hit
240249* Create a background process for each database that runs while
241250 database is idle, finding superceeded rows, gathering stats and vacuuming
242- * Add UNIQUE capability to non-btree indexes
243- * Certain indexes will not shrink, i.e. oid indexes with many inserts (Vadim)
244- * Have UPDATE/DELETE clean out indexes
245- * Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
246- * Allow DELETE WHERE CURRENT OF cursor
247- * -Transaction log, so re-do log can be on a separate disk by
248- with after-row images (Vadim)
251+ * Transaction log, so re-do log can be on a separate disk with after-row
252+ images (Vadim)
249253* Populate backend status area and write program to dump status data
250- * Make oid use unsigned int more reliably, pg_atoi()
251254* Put sort files in their own directory
252255* Allow autocommit so always in a transaction block
253256* Show location of syntax error in query [yacc]
254257* -Redesign the function call interface to handle NULLs better (Tom)
255- * Missing optimizer selectivities for date, r-tree, etc. [optimizer]
256258* Overhaul bufmgr/lockmgr/transaction manager
257- * -redesign UNION structures to have separarate target lists
258259* -Use IPC_EXCL when creating shared memory and semaphores (Tom)
259260* Encrpyt passwords in pg_shadow table using MD5 (Vince)
260261* -Use flock() to prevent multiple postmasters on the same port (Tom)
@@ -268,6 +269,7 @@ PERFORMANCE
268269
269270* -Allow transaction commits with rollback with no-fsync performance
270271 (Vadim)
272+ * Delay fsync() when other backends are about to commit too [fsync]
271273
272274INDEXES
273275
@@ -280,13 +282,27 @@ INDEXES
280282 btree (Tom)
281283* Use indexes with CIDR '<<' (contains) operator
282284* Allow LIKE indexing optimization for non-ASCII locales
285+ * Be smarter about insertion of already-ordered data into btree index
286+ * Gather more accurate dispersion statistics using indexes
287+ * Add deleted bit to index tuples to reduce heap access
288+ * Prevent index uniqueness checks when UPDATE does not modify column
283289
284290CACHE
285291
286292* Cache most recent query plan(s) (Karel) [prepare]
287293* Shared catalog cache, reduce lseek()'s by caching table size in shared area
288294
289- MISC
295+ VACUUM
296+
297+ * Improve speed with indexes (perhaps recreate index instead) [vacuum]
298+ * Reduce lock time by moving tuples with read lock, then write
299+ lock and truncate table [vacuum]
300+ * -Redesign ANALYZE in VACUUM so it can be run separately without locks
301+ * Make ANALYZE a separate command
302+ * Allow ANALYZE to ESTIMATE based on certain random precentage of rows
303+ * Add LAZY VACUUM (Vadim)
304+
305+ MISCELLANEOUS
290306
291307* Allow compression of log and meta data
292308* Do async I/O to do better read-ahead of data
@@ -303,28 +319,15 @@ MISC
303319* -In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
304320* allow configuration of maximum number of open files
305321* Remove pg_listener index
306- * Gather more accurate dispersion statistics using indexes
307322* Improve statistics storage in pg_class [performance]
308- * VACUUM
309- * Improve speed with indexes (perhaps recreate index instead) [vacuum]
310- * Reduce lock time by moving tuples with read lock, then write
311- lock and truncate table [vacuum]
312- * -Redesign ANALYZE in VACUUM so it can be run separately without locks
313- * Make ANALYZE a separate command
314- * Allow ANALYZE to ESTIMATE based on certain random precentage of rows
315323* Add connection pooling [pool]
316324* Allow persistent backends [persistent]
317325* Create a transaction processor to aid in persistent connections and
318326 connection pooling
319327* Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
320328 ANALYZE, and CLUSTER
321- * Delay fsync() when other backends are about to commit too [fsync]
322- * Prevent pg_attribute from having duplicate oids for indexes (Tom)
323329* Force transactions that commit at near the same time use a single fsync()
324330* Make blind writes go through the file descriptor cache
325- * Add LAZY VACUUM (Vadim)
326- * Add deleted bit to index tuples to reduce heap access
327- * Prevent index uniqueness checks when UPDATE does not modify column
328331
329332SOURCE CODE
330333-----------
0 commit comments