1
1
TODO list for PostgreSQL
2
2
========================
3
- Last updated: Fri Feb 23 14:38:26 EST 2001
3
+ Last updated: Wed Feb 28 13:03:43 EST 2001
4
4
5
5
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
6
6
@@ -125,6 +125,8 @@ TYPES
125
125
* Make binary/file in/out interface for TOAST columns
126
126
* SELECT cash_out(2) crashes because of opaque
127
127
* 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]
128
130
129
131
VIEWS
130
132
@@ -145,6 +147,10 @@ INDEXES
145
147
* Add FILLFACTOR to index creation
146
148
* Re-enable partial indexes
147
149
* 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
148
154
149
155
COMMANDS
150
156
@@ -183,6 +189,9 @@ COMMANDS
183
189
* Add SHOW command to display locks
184
190
* Bring INSERT ... VALUES up to full SQL92 spec, disallow missing
185
191
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
186
195
187
196
CLIENTS
188
197
@@ -239,22 +248,14 @@ MISCELLANEOUS
239
248
* Increase identifier length(NAMEDATALEN) if small performance hit
240
249
* Create a background process for each database that runs while
241
250
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)
249
253
* Populate backend status area and write program to dump status data
250
- * Make oid use unsigned int more reliably, pg_atoi()
251
254
* Put sort files in their own directory
252
255
* Allow autocommit so always in a transaction block
253
256
* Show location of syntax error in query [yacc]
254
257
* -Redesign the function call interface to handle NULLs better (Tom)
255
- * Missing optimizer selectivities for date, r-tree, etc. [optimizer]
256
258
* Overhaul bufmgr/lockmgr/transaction manager
257
- * -redesign UNION structures to have separarate target lists
258
259
* -Use IPC_EXCL when creating shared memory and semaphores (Tom)
259
260
* Encrpyt passwords in pg_shadow table using MD5 (Vince)
260
261
* -Use flock() to prevent multiple postmasters on the same port (Tom)
@@ -268,6 +269,7 @@ PERFORMANCE
268
269
269
270
* -Allow transaction commits with rollback with no-fsync performance
270
271
(Vadim)
272
+ * Delay fsync() when other backends are about to commit too [fsync]
271
273
272
274
INDEXES
273
275
@@ -280,13 +282,27 @@ INDEXES
280
282
btree (Tom)
281
283
* Use indexes with CIDR '<<' (contains) operator
282
284
* 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
283
289
284
290
CACHE
285
291
286
292
* Cache most recent query plan(s) (Karel) [prepare]
287
293
* Shared catalog cache, reduce lseek()'s by caching table size in shared area
288
294
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
290
306
291
307
* Allow compression of log and meta data
292
308
* Do async I/O to do better read-ahead of data
@@ -303,28 +319,15 @@ MISC
303
319
* -In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
304
320
* allow configuration of maximum number of open files
305
321
* Remove pg_listener index
306
- * Gather more accurate dispersion statistics using indexes
307
322
* 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
315
323
* Add connection pooling [pool]
316
324
* Allow persistent backends [persistent]
317
325
* Create a transaction processor to aid in persistent connections and
318
326
connection pooling
319
327
* Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
320
328
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)
323
329
* Force transactions that commit at near the same time use a single fsync()
324
330
* 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
328
331
329
332
SOURCE CODE
330
333
-----------
0 commit comments