mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 22:49:41 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			264 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			264 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ====================================================
 | |
| TODO list (FAQ) for PostgreSQL
 | |
| ====================================================
 | |
| last updated:		Thu Jan  2 11:19:41 EST 1997
 | |
| 
 | |
| current maintainer:	Bruce Momjian (maillist@candle.pha.pa.us)
 | |
| 
 | |
| The most recent version of this document can be viewed at
 | |
| the postgreSQL WWW site, http://www.postgreSQL.org.
 | |
| 
 | |
| 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>
 | |
| 	Thomas is Thomas Lockhart <tgl@mythos.jpl.nasa.gov>
 | |
| 	Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
 | |
| 	Vivek is Vivek Khera <khera@kci.kciLink.com>
 | |
| 
 | |
| RELIABILITY
 | |
| -----------
 | |
| -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
 | |
| Fix all NULL features
 | |
| 	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
 | |
| -SUM aggregate on no rows or null value should return NULL, not zero(Thomas)
 | |
| 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
 | |
| 
 | |
| ENHANCEMENTS
 | |
| ------------
 | |
| Add full ANSI SQL capabilities
 | |
| 	add subselects, possibility using temporary SQL functions
 | |
| 	Implement HAVING clause
 | |
| 	Implement EXISTS qualifier
 | |
| 	column constraints (using rules), esp. primary keys
 | |
| 	add DEFAULT, RESTRAINT, and CHECK capabilities
 | |
| 	report "Not implemented" if valid syntax is supplied
 | |
| 	add OUTER joins, left and right
 | |
| 	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
 | |
| 	allow conversion type casts on select target fields
 | |
| Allow compression of large fields or a compressed field type
 | |
| Fix the rules system(Jan?)
 | |
| 	robust
 | |
| 	making INSTEAD rules work
 | |
| 	add CONSTRAINT
 | |
| Full set of text operations and functions
 | |
| 	word searches, concat, upper/lower(), max() on text, char
 | |
| Replace table-level locking with row or page-level locking(Vadim)
 | |
| Large objects
 | |
| 	overwriting blocks has problems
 | |
| 	there are other problems, too.
 | |
| 	Fix large object mapping scheme
 | |
| 	not to stuff everything as files in a single directory
 | |
| 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
 | |
| Add MONEY/DECIMAL type with defined precision
 | |
| Add table comments
 | |
| Add support for tables >2G, or test current version
 | |
| Incorporate the PERL PG95 interface library into source tree(Edmund)
 | |
| Threaded version of the server or libpq
 | |
| Allow libpq to cancel query requests
 | |
| Add REGEX internationalization
 | |
| 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.
 | |
| 	remove time-travel feature(Vadim)
 | |
| 	reduce system column overhead(Vadmin)
 | |
| 	remove pg_time table(Vadim)
 | |
| 	allow row re-use without vacuum, maybe?(Vadim)
 | |
| 	split apart row removal function from statistics function
 | |
| 	can't vacuum large objects
 | |
| Remove restriction that ORDER BY field must be in SELECT list(?)
 | |
| Allow queries about owner of datbases, tables like:
 | |
|         SELECT u.usesysid FROM postgres.pg_user u;
 | |
| DROP AGGREGATE should take in basetype as an arg(Darren)
 | |
| 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
 | |
| 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)
 | |
| add pg_type attribute to identify types that need length (bpchar, varchar)
 | |
| 
 | |
| PERFORMANCE
 | |
| -----------
 | |
| Optimizing disjunctive queries
 | |
| -Add Genetic Query Optimzation for many tables (Martin)
 | |
| -Fix bushy-plans (Martin)
 | |
| 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
 | |
| 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
 | |
| 	update pg_statistic table to remove operator column
 | |
| 
 | |
| DOCUMENTATION
 | |
| -------------
 | |
| Update usermanual source
 | |
| remove time-travel in documentation(Bruce)
 | |
| added features used in grammer but not in docs, like :: and CAST
 | |
| add DECLARE manual pages
 | |
| 
 | |
| PORTABILITY
 | |
| -----------
 | |
| Windows NT port
 | |
| 	Mariposa project at Berkeley has a person who's working on this
 | |
| Win95 port, use GNU port or remove it?
 | |
| Merge i386_solaris and sparc_solaris into solaris
 | |
| Switch from PORTNAME to individual feature defines (use configure/autoconf?)
 | |
| Change c.h "Index" and "bool" so they do not conflict with c++
 | |
| 
 | |
| 
 | |
| ---------------------------------------------------------------------------
 | |
| 
 | |
| 			CHANGES IN 6.0 RELEASE
 | |
| Bug Fixes
 | |
| ---------
 | |
| ALTER TABLE bug - running postgress process needs to re-read table definition
 | |
| Allow vacuum to be run on one table or entire database(Bruce)
 | |
| Array fixes
 | |
| Fix array over-runs of memory writes(Kurt)
 | |
| Fix elusive btree range/non-range bug(Dan)
 | |
| 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
 | |
| Fixed EXPLAIN handling of options and changed full_path option name
 | |
| 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
 | |
| SELECT * INTO TABLE . GROUP/ORDER BY gives unlink error if table exists(Bruce)
 | |
| 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
 | |
| ------------
 | |
| Add EXPLAIN manual page(Bruce)
 | |
| Add UNIQUE index capability(Dan)
 | |
| Add hostname/user level access control rather than just hostname and user
 | |
| 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)
 | |
| Allow installation-configuration option to auto-add all local users(Bryan)
 | |
| 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)
 | |
| Allow restriction on who can do backend COPY(Bryan)
 | |
| Can shrink tables, pg_time and pg_log(Vadim & Erich)
 | |
| Change debug level 2 to print queries only, changed debug heading layout(Bruce)
 | |
| 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)
 | |
| Reduce size of regression diffs, remove timezone name difference(Bruce)
 | |
| Remove compile-time parameters to enable binary distributions(Bryan)
 | |
| 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)
 | |
| Make now stops on compile failure(Bryan)
 | |
| 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)
 | |
| PG_VERSION now set to 6.0 and used by postmaster
 | |
| 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
 |