TODO 10.9 KB
Newer Older
B
Bruce Momjian 已提交
1
====================================================
B
Bruce Momjian 已提交
2
TODO list (FAQ) for PostgreSQL
B
Bruce Momjian 已提交
3
====================================================
B
Bruce Momjian 已提交
4
last updated:		Thu Jan  2 11:19:41 EST 1997
M
Marc G. Fournier 已提交
5 6 7

current maintainer:	Bruce Momjian (maillist@candle.pha.pa.us)

B
Bruce Momjian 已提交
8
The most recent version of this document can be viewed at
B
Bruce Momjian 已提交
9
the postgreSQL WWW site, http://www.postgreSQL.org.
B
Bruce Momjian 已提交
10

B
Bruce Momjian 已提交
11 12 13 14 15 16 17 18 19 20 21 22 23
Changes included in the 6.0 release are listed at the end of this page.

Dashed items(-) are being worked on for the post-6.0 release.

Developers who have claimed items are:
	Bruce is Bruce Momjian<maillist@candle.pha.pa.us>
	Bryan is Bryan Henderson<bryanh@giraffe.netgate.net>
	Dan is Dan McGuirk <mcguirk@indirect.com>
	Darren is Darren King <darrenk@insightdist.com>
	Edmund is Edmund Mergl <E.Mergl@bawue.de>
	Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
	Kurt is "Kurt J. Lidl" <lidl@va.pubnix.com>
 	Martin is Martin S. Utesch <utesch@aut.tu-freiberg.de>
B
Bruce Momjian 已提交
24
	Thomas is Thomas Lockhart <tgl@mythos.jpl.nasa.gov>
B
Bruce Momjian 已提交
25 26
	Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
	Vivek is Vivek Khera <khera@kci.kciLink.com>
M
Marc G. Fournier 已提交
27 28 29

RELIABILITY
-----------
B
Bruce Momjian 已提交
30 31 32 33
-Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup(Erich)
-Overhaul bufmgr/lockmgr/transaction manager(Vadim)
remove -S (stable memory) option or fix memory manager
Fix CLUSTER
M
Marc G. Fournier 已提交
34
Fix all NULL features
B
Bruce Momjian 已提交
35 36 37
	allow psql to print nulls meaningfully
Fix compile and security of Kerberos V code
Dropping a table twice causes corruption, drop/create not rollback-able
B
Bruce Momjian 已提交
38
-SUM aggregate on no rows or null value should return NULL, not zero(Thomas)
B
Bruce Momjian 已提交
39 40 41 42 43
SELECT on two tables where zero or one table in WHERE and target
	clause returns no rows
fix system to use oid index using constant without cast to oid
COUNT on VIEW always returns zero (maybe because there is no oid for views?)
CREATE VIEW requires super-user priviledge
M
Marc G. Fournier 已提交
44 45 46

ENHANCEMENTS
------------
B
Bruce Momjian 已提交
47
Add full ANSI SQL capabilities
B
Bruce Momjian 已提交
48 49 50
	add subselects, possibility using temporary SQL functions
	Implement HAVING clause
	Implement EXISTS qualifier
M
Marc G. Fournier 已提交
51
	column constraints (using rules), esp. primary keys
B
Bruce Momjian 已提交
52
	add DEFAULT, RESTRAINT, and CHECK capabilities
M
Marc G. Fournier 已提交
53
	report "Not implemented" if valid syntax is supplied
B
Bruce Momjian 已提交
54
	add OUTER joins, left and right
M
Marc G. Fournier 已提交
55 56 57 58 59 60 61
	make VIEWs updateable where possible
	add UNIONS, INTERSECTS, SUBTRACTS
	add temporary tables
	add assertions
	add domains
	add sql3 recursive unions
	add the concept of dataspaces
B
Bruce Momjian 已提交
62
	allow conversion type casts on select target fields
M
Marc G. Fournier 已提交
63
Allow compression of large fields or a compressed field type
B
Bruce Momjian 已提交
64
Fix the rules system(Jan?)
M
Marc G. Fournier 已提交
65 66
	robust
	making INSTEAD rules work
B
Bruce Momjian 已提交
67
	add CONSTRAINT
M
Marc G. Fournier 已提交
68 69
Full set of text operations and functions
	word searches, concat, upper/lower(), max() on text, char
B
Bruce Momjian 已提交
70
Replace table-level locking with row or page-level locking(Vadim)
M
Marc G. Fournier 已提交
71 72 73
Large objects
	overwriting blocks has problems
	there are other problems, too.
B
Bruce Momjian 已提交
74 75
	Fix large object mapping scheme
	not to stuff everything as files in a single directory
M
Marc G. Fournier 已提交
76 77 78 79
Better interface for adding to pg_group
Make multi-field indexes easier to create
	allow optimizer to effectively use parameters without accessing table
Add int8 type
B
Bruce Momjian 已提交
80
Add MONEY/DECIMAL type with defined precision
M
Marc G. Fournier 已提交
81
Add table comments
B
Bruce Momjian 已提交
82 83
Add support for tables >2G, or test current version
Incorporate the PERL PG95 interface library into source tree(Edmund)
M
Marc G. Fournier 已提交
84
Threaded version of the server or libpq
B
Bruce Momjian 已提交
85
Allow libpq to cancel query requests
M
Marc G. Fournier 已提交
86
Add REGEX internationalization
B
Bruce Momjian 已提交
87 88 89 90
Add other language types for built-in functions
	expand to allow tcl, perl, java,
	generalize the function manager switch to pass 
		function sources to interpreter engines.
B
Bruce Momjian 已提交
91 92 93 94
	remove time-travel feature(Vadim)
	reduce system column overhead(Vadmin)
	remove pg_time table(Vadim)
	allow row re-use without vacuum, maybe?(Vadim)
B
Bruce Momjian 已提交
95
	split apart row removal function from statistics function
B
Bruce Momjian 已提交
96 97
	can't vacuum large objects
Remove restriction that ORDER BY field must be in SELECT list(?)
B
Bruce Momjian 已提交
98 99
Allow queries about owner of datbases, tables like:
        SELECT u.usesysid FROM postgres.pg_user u;
B
Bruce Momjian 已提交
100
DROP AGGREGATE should take in basetype as an arg(Darren)
B
Bruce Momjian 已提交
101 102 103 104 105 106
Add word index for text fields, maybe with trigrams, i.e.:
    ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox
Add common-sense constant type promotions
Allow readline-type or editor command editing of multi-line SQL commands
Allow pg_dump to dump all databases at a site in one command
Allow function result to be used in GROUP BY
B
Bruce Momjian 已提交
107 108 109 110 111 112 113 114 115 116 117 118
Populate backend status area and write program to dump status data
Add ALTER TABLE DROP COLUMN feature
Remove stale files upon startup(Vivek)
Add command to show privileges
Allow INSERT INTO ... SELECT to convert column types
Add syslog functionality
Allow aggregate for All types, like count(Darren)
Improve optimizer plan choice(Darren)
Add STDDEV/VARIANCE() function for standard deviation computation/variance
Add upper/lower functions
-Add table/column/function discription table indexed by oid
-make all identifiers case-insensitive(Bruce)
B
Bruce Momjian 已提交
119
add pg_type attribute to identify types that need length (bpchar, varchar)
B
Bruce Momjian 已提交
120 121 122 123

PERFORMANCE
-----------
Optimizing disjunctive queries
B
Bruce Momjian 已提交
124 125
-Add Genetic Query Optimzation for many tables (Martin)
-Fix bushy-plans (Martin)
B
Bruce Momjian 已提交
126 127 128 129 130 131 132 133 134 135 136
Other optimizer bugs
Is fsync use optimized?
Multi-representational types, a la Illustra. For example, have a
       text type that is stored in-tuple when less than 8K and in large
       objects, when greater than 8K.
Use indexes in ORDER BY
Profile engine in INSERT's and other operations
Speed up hash creation by using btree's fast sort/insert routines
Cache most recent query plan(s?)
Allow compression of log and meta data
Allow LIKE/wildcard matches to use indexes if the wildcard character is not first
B
Bruce Momjian 已提交
137 138 139 140
Add FILLFACTOR to index creation
Allow indexes to be used with OR clauses
-Add column optimization statistics to vacuum(Bruce)
-Change pg_attribute.attnvals name to attdispursion and change type float4
B
Bruce Momjian 已提交
141
	update pg_statistic table to remove operator column
M
Marc G. Fournier 已提交
142 143 144 145

DOCUMENTATION
-------------
Update usermanual source
B
Bruce Momjian 已提交
146 147 148
remove time-travel in documentation(Bruce)
added features used in grammer but not in docs, like :: and CAST
add DECLARE manual pages
M
Marc G. Fournier 已提交
149 150 151 152 153

PORTABILITY
-----------
Windows NT port
	Mariposa project at Berkeley has a person who's working on this
B
Bruce Momjian 已提交
154
Win95 port, use GNU port or remove it?
M
Marc G. Fournier 已提交
155
Merge i386_solaris and sparc_solaris into solaris
B
Bruce Momjian 已提交
156
Switch from PORTNAME to individual feature defines (use configure/autoconf?)
B
Bruce Momjian 已提交
157 158 159 160 161 162
Change c.h "Index" and "bool" so they do not conflict with c++


---------------------------------------------------------------------------

			CHANGES IN 6.0 RELEASE
B
Bruce Momjian 已提交
163 164
Bug Fixes
---------
B
Bruce Momjian 已提交
165
ALTER TABLE bug - running postgress process needs to re-read table definition
B
Bruce Momjian 已提交
166 167 168
Allow vacuum to be run on one table or entire database(Bruce)
Array fixes
Fix array over-runs of memory writes(Kurt)
B
Bruce Momjian 已提交
169
Fix elusive btree range/non-range bug(Dan)
B
Bruce Momjian 已提交
170 171 172 173 174 175
Fix for hash indexes on some types like time and date
Fix for pg_log size explosion
Fix permissions on lo_export()(Bruce)
Fix unitialized reads of memory(Kurt)
Fixed ALTER TABLE ... char(3) bug(Bruce)
Fixed a few small memory leaks
B
Bruce Momjian 已提交
176
Fixed EXPLAIN handling of options and changed full_path option name
B
Bruce Momjian 已提交
177 178 179 180 181 182 183 184 185 186 187 188 189
Fixed output of group acl permissions
Memory leaks (hunt and destroy with tools like Purify(Kurt)
Minor improvements to rules system
NOTIFY fixes
New asserts for run-checking
Overhauled parser/analyze code to properly report errors and increase speed
Pg_dump -d now handles NULL's properly(Bruce)
Prevent SELECT NULL from crashing server (Bruce)
Properly report errors when INSERT ... SELECT columns did not match
Properly report errors when insert column names were not correct
Psql \g filename now works(Bruce)
Psql fixed problem with multiple statements on one line with multiple outputs
Removed duplicate system oid's
B
Bruce Momjian 已提交
190
SELECT * INTO TABLE . GROUP/ORDER BY gives unlink error if table exists(Bruce)
B
Bruce Momjian 已提交
191 192 193 194 195 196
Several fixes for queries that crashed the backend
Starting quote in insert string errors(Bruce)
Submiting an empty query now returns empty status, not just " " query(Bruce)

Enhancements
------------
B
Bruce Momjian 已提交
197
Add EXPLAIN manual page(Bruce)
B
Bruce Momjian 已提交
198
Add UNIQUE index capability(Dan)
B
Bruce Momjian 已提交
199
Add hostname/user level access control rather than just hostname and user
B
Bruce Momjian 已提交
200 201 202 203 204 205
Add synonym of != for <>(Bruce)
Allow "select oid,* from table"
Allow BY,ORDER BY to specify columns by number, or by non-alias table.column(Bruce)
Allow COPY from the frontend(Bryan)
Allow GROUP BY to use alias column name(Bruce)
Allow actual compression, not just reuse on the same page(Vadim)
B
Bruce Momjian 已提交
206
Allow installation-configuration option to auto-add all local users(Bryan)
B
Bruce Momjian 已提交
207 208 209
Allow libpq to distinguish between text value '' and null(Bruce)
Allow non-postgres users with createdb privs to destroydb's
Allow restriction on who can create C functions(Bryan)
B
Bruce Momjian 已提交
210
Allow restriction on who can do backend COPY(Bryan)
B
Bruce Momjian 已提交
211
Can shrink tables, pg_time and pg_log(Vadim & Erich)
B
Bruce Momjian 已提交
212
Change debug level 2 to print queries only, changed debug heading layout(Bruce)
B
Bruce Momjian 已提交
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
Change default decimal constant representation from float4 to float8(Bruce)
Execute lowercase function names if not found with exact case
Fixes for aggregate/GROUP processing, allow 'select sum(func(x),sum(x+y) from z'
Gist now included in the distrubution(Marc)
Idend authentication of local users(Bryan)
Implement BETWEEN qualifier(Bruce)
Implement IN qualifier(Bruce)
Libpq has PQgetisnull()(Bruce)
Libpq++ improvements
New options to initdb(Bryan)
Pg_dump allow dump of oid's(Bruce)
Pg_dump create indexes after tables are loaded for speed(Bruce)
Pg_dump(Bruce)
Pginterface additions for NULL values(Bruce)
Prevent postmaster from being run as root
Psql \h and \? is now readable(Bruce)
Psql allow backslashed, semicolons anywhere on the line(Bruce)
Psql changed command prompt for lines in query or in quotes(Bruce)
Psql char(3) now displays as (bp)char in \d output(Bruce)
Psql return code now more accurate(Bryan?)
Psql updated help syntax(Bruce)
Re-visit and fix vacuum(Vadim)
B
Bruce Momjian 已提交
235 236
Reduce size of regression diffs, remove timezone name difference(Bruce)
Remove compile-time parameters to enable binary distributions(Bryan)
B
Bruce Momjian 已提交
237 238 239 240 241 242 243 244 245 246 247 248
Reverse meaning of HBA masks(Bryan)
Secure Authentication of local users(Bryan)
Speed up vacuum(Vadim)

Source tree changes
-------------------
All functions now have prototypes that are compared against the calls
Allow asserts to be disabled easly from Makefile.global(Bruce)
Change oid constants used in code to #define names
Decoupled sparc and solaris defines(Kurt)
Gcc -Wall compiles cleanly with warnings only from unfixable constructs
Major include file reorganization/reduction(Marc)
B
Bruce Momjian 已提交
249
Make now stops on compile failure(Bryan)
B
Bruce Momjian 已提交
250 251 252 253 254
Makefile restructuring(Bryan, Marc)
Merge bsdi_2_1 to bsdi(Bruce)
Monitor program removed
Name change from Postgres95 to PostgreSQL
New config.h file(Marc, Bryan)
B
Bruce Momjian 已提交
255
PG_VERSION now set to 6.0 and used by postmaster
B
Bruce Momjian 已提交
256 257 258 259 260 261 262 263
Portability additions, including Ultrix, DG/UX, AIX, and Solaris
Reduced the number of #define's, centeralized #define's
Remove duplicate OIDS in system tables(Dan)
Remove duplicate system catalog info or report mismatches(Dan)
Removed many os-specific #define's
Restructured object file generation/location(Bryan, Marc)
Restructured port-specific file locations(Bryan, Marc)
Unused/uninialized variables corrected