mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-17 19:30:00 +08:00
Update for 6.2 release.
This commit is contained in:
parent
6238d836a1
commit
c6e657fa53
35
doc/FAQ
35
doc/FAQ
@ -1,8 +1,8 @@
|
||||
|
||||
Frequently Asked Questions (FAQ) for PostgreSQL
|
||||
|
||||
Last updated: Sat Sep 13 22:00:02 EDT 1997
|
||||
Version: 6.2beta
|
||||
Last updated: Mon Sep 29 22:45:58 EDT 1997
|
||||
Version: 6.2
|
||||
|
||||
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
||||
|
||||
@ -413,6 +413,10 @@ Section 2: Installation Questions
|
||||
this parameter too high, the process will not start or crash
|
||||
unexpectedly. Each buffer is 8K and the defualt is 64 buffers.
|
||||
|
||||
You can also use the postmaster -S option to increase the maximum
|
||||
amount of memory used by each backend process for temporary sorts.
|
||||
Each buffer is 1K and the defualt is 512 buffers.
|
||||
|
||||
2.12) What debugging features are available in PostgreSQL?
|
||||
|
||||
PostgreSQL has several features that report status information that
|
||||
@ -434,28 +438,29 @@ Section 2: Installation Questions
|
||||
This file can contain useful information about problems or errors
|
||||
encountered by the server. Postmaster has a -d option that allows even
|
||||
more detailed information to be reported. The -d option takes a number
|
||||
1-3 that specifies the debug level. The query plans in a verbose debug
|
||||
file can be formatted using the 'indent' program. Be warned that a
|
||||
debug level of three generates large log files.
|
||||
1-3 that specifies the debug level. Be warned that a debug level of 3
|
||||
generates large log files.
|
||||
|
||||
You can actuall run the postgres backend from the command line, and
|
||||
type your SQL statement directly. This is recommended ONLY for
|
||||
debugging purposes. Note that a newline terminates the query, not a
|
||||
semicolon. If you have compiled with debugging symbols, you can
|
||||
perhaps use a debugger to see what is happening. Because the backend
|
||||
was not started from the postmaster, it is not running in an identical
|
||||
environment and locking/backend interaction problems may not be
|
||||
duplicated. Some operating system can attach to a running backend
|
||||
directly to diagnose problems.
|
||||
semicolon. If you have compiled with debugging symbols, you can use a
|
||||
debugger to see what is happening. Because the backend was not started
|
||||
from the postmaster, it is not running in an identical environment and
|
||||
locking/backend interaction problems may not be duplicated. Some
|
||||
operating system can attach to a running backend directly to diagnose
|
||||
problems.
|
||||
|
||||
The postgres program has a -s, -A, -t options that can be very usefull
|
||||
for debugging and performance measurements.
|
||||
|
||||
The EXPLAIN command (see this FAQ) allows you to see how PostgreSQL is
|
||||
iterpreting your query.
|
||||
|
||||
You can also compile with profiling to see what functions are taking
|
||||
execution time.
|
||||
execution time. The backend profile files will be deposited in the
|
||||
pgsql/data/base/dbname directory. The client profile file will be put
|
||||
in the current directory.
|
||||
|
||||
The EXPLAIN command (see this FAQ) allows you to see how PostgreSQL is
|
||||
interpreting your query.
|
||||
|
||||
2.13) How do I enable more than 32 concurrent backends?
|
||||
|
||||
|
244
doc/TODO
244
doc/TODO
@ -1,14 +1,14 @@
|
||||
====================================================
|
||||
TODO list (FAQ) for PostgreSQL
|
||||
====================================================
|
||||
last updated: Sat Sep 13 22:00:05 EDT 1997
|
||||
last updated: Mon Sep 29 22:45:43 EDT 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.
|
||||
|
||||
THE CHANGES FOR 6.1 and 6.1.1 APPEAR AT THE END OF THIS DOCUMENT
|
||||
THE CHANGES FOR 6.2 APPEAR AT THE END OF THIS DOCUMENT
|
||||
|
||||
Developers who have claimed items are:
|
||||
Bruce is Bruce Momjian<maillist@candle.pha.pa.us>
|
||||
@ -46,32 +46,34 @@ Fix all NULL features
|
||||
Fix compile and security of Kerberos/GSSAPI code (Daniel Kalchev?)
|
||||
COUNT on VIEW always returns zero (maybe because there is no oid for views?)
|
||||
CREATE VIEW requires super-user priviledge
|
||||
SELECT a[1] FROM test fails, it needs test.a[1]
|
||||
INSERT INTO ... SELECT DISTINCT ... generates error on DISTINCT
|
||||
can lo_export()/lo_import() read/write anywhere, causing a security problem?
|
||||
Fix UPDATE key_table SET keyval=max(reftab.NUM)+1 WHERE tblname='reftab'
|
||||
SELECT COUNT(*) FROM TAB1, TAB2 fails
|
||||
Tables that start with xinv confused to be large objects
|
||||
Two and three dimmensional arrays display improperly, missing {}
|
||||
Add GROUP BY and HAVING to INSERT INTO table SELECT * FROM table2
|
||||
Make timestamp type recognize DateStyle(Tom)
|
||||
SELECT SUM(2+2) FROM table dumps core
|
||||
lo_unlink() crashes server
|
||||
UPDATE table SET table.value = 3 fails
|
||||
Allow variable casts with BETWEEN 'today'::asbtime AND 'today'::abstime
|
||||
Prevent auto-table reference, like SELECT table.col WHERE col = 3 (?)
|
||||
Remove un-needed malloc() calls and replace with palloc().
|
||||
SELECT * FROM table WHERE int4_column = '1' fails
|
||||
Allow INSERT INTO table SELECT id, count(*) FROM table2 GROUP BY id
|
||||
SELECT a[1] FROM test fails, it needs test.a[1]
|
||||
SELECT COUNT(*) FROM TAB1, TAB2 fails
|
||||
SELECT SUM(2+2) FROM table dumps core
|
||||
UPDATE table SET table.value = 3 fails
|
||||
UPDATE key_table SET keyval=max(reftab.NUM)+1 WHERE tblname='reftab' fails
|
||||
INSERT INTO ... SELECT DISTINCT ... generates error on DISTINCT
|
||||
INSERT INTO table SELECT id, count(*) FROM table2 GROUP BY id generate error
|
||||
|
||||
ENHANCEMENTS
|
||||
------------
|
||||
Replace table-level locking with row or page-level locking(Vadim)
|
||||
PRIMARY KEY during table creation
|
||||
Add SERIAL type
|
||||
Preserve GRANT/REVOKE/pg_group in pg_dump
|
||||
Transaction log
|
||||
Add full ANSI SQL capabilities (Stefan)
|
||||
add subselects, possibility using temporary SQL functions
|
||||
Implement HAVING clause
|
||||
Implement EXISTS qualifier
|
||||
column constraints (using rules), PRIMARY KEY during table creation
|
||||
add DEFAULT, RESTRAINT, and CHECK capabilities
|
||||
report "Not implemented" if valid syntax is supplied
|
||||
add OUTER joins, left and right (Thomas)
|
||||
make VIEWs updateable where possible
|
||||
@ -89,7 +91,6 @@ Fix the rules system(Jan?,Soo-Ho)
|
||||
add CONSTRAINT
|
||||
Full set of text operations and functions
|
||||
word searches, concat,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.
|
||||
@ -112,7 +113,7 @@ allow row re-use without vacuum, maybe?(Vadim)
|
||||
can't vacuum large objects
|
||||
can't reduce index file size with vacuum
|
||||
Remove restriction that ORDER BY field must be in SELECT list(?)
|
||||
Allow queries about owner of datbases, tables like:
|
||||
Allow queries about owner of tables, like:
|
||||
SELECT u.usesysid FROM postgres.pg_user u;
|
||||
Add word index for text fields, maybe with trigrams, i.e.:
|
||||
' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox
|
||||
@ -133,19 +134,19 @@ certain indexes will not shrink, i.e. oid indexes with many inserts
|
||||
make NULL's come out at the beginning or end depending on the ORDER BY direction
|
||||
change the library/backend interface to use network byte order
|
||||
allow unix domain sockets for local connections for performance and security
|
||||
Make operators for float8/int4 arithmetic
|
||||
Add PAGER for psql's \dt and \d tablename
|
||||
|
||||
PERFORMANCE
|
||||
-----------
|
||||
Use indexes in ORDER BY
|
||||
Allow LIKE/wildcard matches to use indexes if the wildcard character is not first
|
||||
Optimizing disjunctive queries
|
||||
Fix bushy-plans (Martin)
|
||||
Other optimizer bugs
|
||||
Is fsync use optimized?
|
||||
Use indexes in ORDER BY
|
||||
Profile engine in INSERT's and other operations
|
||||
Cache most recent query plan(s?)
|
||||
Shared catalog cache, reduce lseek()'s by caching table size in shared area
|
||||
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(Vadim)
|
||||
update pg_statistic table to remove operator column
|
||||
@ -156,7 +157,6 @@ Update usermanual source(many)
|
||||
remove time-travel in documentation(Bruce)
|
||||
added features used in grammer but not in docs, like :: and CAST
|
||||
update libpq++ manual page
|
||||
Add pg_password manual page
|
||||
|
||||
PORTABILITY
|
||||
-----------
|
||||
@ -164,127 +164,99 @@ PORTABILITY
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
CHANGES IN THE 6.1.1 RELEASE
|
||||
|
||||
Changes in this release
|
||||
-----------------------
|
||||
fix for SET with options (Thomas)
|
||||
allow pg_dump/pg_dumpall to preserve ownership of all tables/objects(Bruce)
|
||||
new psql \connect option allows changing usernames without chaning databases
|
||||
fix for initdb --debug option(Yoshihiko Ichikawa)
|
||||
lextest cleanup(Bruce)
|
||||
hash fixes(Vadim)
|
||||
fix date/time month boundary arithmetic(Thomas)
|
||||
fix timezone daylight handling for some ports(Thomas, Bruce, Tatsuo)
|
||||
timestamp overhauled to use standard functions(Thomas)
|
||||
other code cleanup in date/time routines(Thomas)
|
||||
psql's \d now case-insensitive(Bruce)
|
||||
psql's backslash commands can now have trailing semicolon(Bruce)
|
||||
fix memory leak in psql when using \g(Bruce)
|
||||
major fix for endian handling of communication to server(Thomas, Tatsuo)
|
||||
Fix for Solaris assembler and include files(Yoshihiko Ichikawa)
|
||||
allow underscores in usernames(Bruce)
|
||||
pg_dumpall now returns proper status, portability fix(Bruce)
|
||||
|
||||
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
CHANGES IN THE 6.1 RELEASE
|
||||
|
||||
CHANGES IN THE 6.2 RELEASE
|
||||
Bug Fixes
|
||||
---------
|
||||
packet length checking in library routines
|
||||
lock manager priority patch
|
||||
check for under/over flow of float8(Bruce)
|
||||
multi-table join fix(Vadim)
|
||||
SIGPIPE crash fix(Darren)
|
||||
large object fixes(Sven)
|
||||
allow btree indexes to handle NULLs(Vadim)
|
||||
timezone fixes(D'Arcy)
|
||||
select SUM(x) can return NULL on no rows(Thomas)
|
||||
internal optimizer, executor bug fixes(Vadim)
|
||||
fix problem where inner loop in < or <= has no rows(Vadim)
|
||||
prevent re-commuting join index clauses(Vadim)
|
||||
fix join clauses for multiple tables(Vadim)
|
||||
fix hash, hashjoin for arrays(Vadim)
|
||||
fix btree for abstime type(Vadim)
|
||||
large object fixes(Raymond)
|
||||
fix buffer leak in hash indices (Vadim)
|
||||
fix rtree for use in inner scan (Vadim)
|
||||
fix gist for use in inner scan, cleanups (Vadim, Andrea)
|
||||
avoid unnecessary local buffers allocation (Vadim, Massimo)
|
||||
fix local buffers leak in transaction aborts (Vadim)
|
||||
fix file manager memmory leaks, cleanups (Vadim, Massimo)
|
||||
fix storage manager memmory leaks (Vadim)
|
||||
fix btree duplicates handling (Vadim)
|
||||
fix deleted tuples re-incarnation caused by vacuum (Vadim)
|
||||
fix SELECT varchar()/char() INTO TABLE made zero-length fields(Bruce)
|
||||
many psql, pg_dump, and libpq memory leaks fixed using Purify (Igor)
|
||||
SELECT on two tables where zero or one table in WHERE and target
|
||||
clause returns no rows(Vadim)
|
||||
Fix problems with pg_dump for inheritance, sequences, archive tables(Bruce)
|
||||
Fix compile errors on overflow due to shifts, unsigned, and bad prototypes
|
||||
from Solaris(Diab Jerius)
|
||||
Fix bugs in geometric line arithmetic (bad intersection calculations)(Thomas)
|
||||
Check for geometric intersections at endpoints to avoid rounding ugliness(Thomas)
|
||||
Catch non-functional delete attempts(Vadim)
|
||||
Change time function names to be more consistent(Michael Reifenberg)
|
||||
Check for zero divides(Michael Reifenberg)
|
||||
Fix very old bug which made tuples changed/inserted by a commnd
|
||||
visible to the command itself (so we had multiple update of
|
||||
updated tuples, etc)(Vadim)
|
||||
Fix for SELECT null, 'fail' FROM pg_am (Patrick)
|
||||
SELECT NULL as EMPTY_FIELD now allowed(Patrick)
|
||||
Remove un-needed signal stuff from contrib/pginterface
|
||||
|
||||
Enhancements
|
||||
------------
|
||||
attribute optimization statistics(Bruce)
|
||||
much faster new btree bulk load code(Paul)
|
||||
BTREE UNIQUE added to bulk load code(Vadim)
|
||||
new lock debug code(Massimo)
|
||||
massive changes to libpg++(Leo)
|
||||
new GEQO optimizer speeds table multi-table optimization(Martin)
|
||||
new WARN message for non-unique insert into unique key(Marc)
|
||||
update x=-3, no spaces, now valid(Bruce)
|
||||
remove case-sensitive identifier handling(Bruce,Thomas,Dan)
|
||||
debug backend now pretty-prints tree(Darren)
|
||||
new Oracle character functions(Edmund)
|
||||
new plaintext password functions(Dan)
|
||||
no such class or insufficient privilege changed to distinct messages(Dan)
|
||||
new ANSI timestamp function(Dan)
|
||||
new ANSI Time and Date types (Thomas)
|
||||
move large chunks of data in backend(Martin)
|
||||
multi-column btree indexes(Vadim)
|
||||
new SET var TO value command(Martin)
|
||||
update transaction status on reads(Dan)
|
||||
new locale settings for character types(Oleg)
|
||||
new SEQUENCE serial number generator(Vadim)
|
||||
GROUP BY function now possible(Vadim)
|
||||
re-organize regression test(Thomas,Marc)
|
||||
new optimizer operation weights(Vadim)
|
||||
new psql \z grant/permit option(Marc)
|
||||
new MONEY data type(D'Arcy,Thomas)
|
||||
tcp socket communication speed improved(Vadim)
|
||||
new VACUUM option for attribute statistics, and for certain columns (Vadim)
|
||||
many geometric type improvements(Thomas,Keith)
|
||||
additional regression tests(Thomas)
|
||||
new datestyle variable(Thomas,Vadim,Martin)
|
||||
more comparison operators for sorting types(Thomas)
|
||||
new conversion functions(Thomas)
|
||||
new more compact btree format(Vadim)
|
||||
allow pg_dumpall to preserve database ownership(Bruce)
|
||||
new SET GEQO=# and R_PLANS variable(Vadim)
|
||||
old (!GEQO) optimizer can use right-sided plans (Vadim)
|
||||
typechecking improvement in SQL parser(Bruce)
|
||||
new SET, SHOW, RESET commands(Thomas,Vadim)
|
||||
new \connect database USER option
|
||||
new destroydb -i option (Igor)
|
||||
new \dt and \di psql commands (Darren)
|
||||
SELECT "\n" now escapes newline (A. Duursma)
|
||||
new geometry conversion functions from old format (Thomas)
|
||||
Improve optimizer plan choice(Vadim)
|
||||
Default genetic optimizer GEQO parameter is now 8(Bruce)
|
||||
Allow use parameters in target list having aggregates in functions(Vadim)
|
||||
Added JDBC driver as an interface(Adrian & Peter)
|
||||
pg_password utility
|
||||
Return number of tuples inserted/affected by INSERT/UPDATE/DELETE etc.(Vadim)
|
||||
Triggers implemented with CREATE TRIGGER (SQL3)(Vadim)
|
||||
SPI (Server Programming Interface) implemented to support triggers(Vadim)
|
||||
NOT NULL implemented (SQL92)(Robson Paniago de Miranda)
|
||||
Include reserved words for string handling, outer joins, and unions(Thomas)
|
||||
Implement extended comments ("/* ... */") using exclusive states(Thomas)
|
||||
Add "//" single-line comments(Bruce)
|
||||
Remove some restrictions on characters in operator names(Thomas)
|
||||
DEFAULT and CONSTRAINT for tables implemented (SQL92)(Vadim & Thomas)
|
||||
Add text concatenation operator and function (SQL92)(Thomas)
|
||||
Support WITH TIME ZONE syntax (SQL92)(Thomas)
|
||||
Support INTERVAL <unit> TO <unit> syntax (SQL92)(Thomas)
|
||||
Define types DOUBLE PRECISION, INTERVAL, CHARACTER,
|
||||
and CHARACTER VARYING (SQL92)(Thomas)
|
||||
Define type FLOAT(p) and rudimentary DECIMAL(p,s), NUMERIC(p,s) (SQL92)(Thomas)
|
||||
Define EXTRACT(), POSITION(), SUBSTRING(), and TRIM() (SQL92)(Thomas)
|
||||
Define CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP (SQL92)(Thomas)
|
||||
Add syntax and warnings for UNION, HAVING, INNER and OUTER JOIN (SQL92)(Thomas)
|
||||
Add more reserved words, mostly for SQL92 compliance(Thomas)
|
||||
Allow hh:mm:ss time entry for timespan/reltime types(Thomas)
|
||||
Add center() routines for lseg, path, polygon(Thomas)
|
||||
Add distance() routines for circle-polygon, polygon-polygon(Thomas)
|
||||
Check explicitly for points and polygons contained within polygons
|
||||
using an axis-crossing algorithm(Thomas)
|
||||
Add routine to convert circle-box(Thomas)
|
||||
Merge conflicting operators for different geometric data types(Thomas)
|
||||
Replace distance operator "<===>" with "<->"(Thomas)
|
||||
Replace "above" operator "!^" with ">^" and "below" operator "!|" with "<^"(Thomas)
|
||||
Add routines for text trimming on both ends, substring, and string position(Thomas)
|
||||
Added conversion routines circle(box) and poly(circle)(Thomas)
|
||||
Allow internal sorts to be stored in memory rather than in files(Bruce & Vadim)
|
||||
Allow functions and operators on internally-identical types to succeed(Bruce)
|
||||
Speed up backend startup after profiling analysis(Bruce)
|
||||
Inline frequently called functions for performance(Bruce)
|
||||
Reduce open() calls(Bruce)
|
||||
psql: Add PAGER for \h and \?,\C fix
|
||||
Fix for psql pager when no tty(Bruce)
|
||||
New entab utility(Bruce)
|
||||
|
||||
Source tree changes
|
||||
Source Tree Changes
|
||||
-------------------
|
||||
new configuration script(Marc)
|
||||
readline configuration option added(Marc)
|
||||
OS-specific configuration options removed(Marc)
|
||||
new OS-specific template files(Marc)
|
||||
no more need to edit Makefile.global(Marc)
|
||||
re-arrange include files(Marc)
|
||||
nextstep patches (Gregor Hoffleit)
|
||||
removed WIN32-specific code(Bruce)
|
||||
removed postmaster -e option, now only postgres -e option (Bruce)
|
||||
merge duplicate library code in front/backends(Martin)
|
||||
now works with eBones, international Kerberos(Jun)
|
||||
more shared library support
|
||||
c++ include file cleanup(Bruce)
|
||||
warn about buggy flex(Bruce)
|
||||
DG-UX, Ultrix, Irix, AIX portability fixes
|
||||
HPUX 10 patches (Vladimir Turin)
|
||||
Added SCO support, (Daniel Harris)
|
||||
mkLinux patches (Tatsuo Ishii)
|
||||
Change geometric box terminology from "length" to "width"(Thomas)
|
||||
Deprecate temporary unstored slope fields in geometric code(Thomas)
|
||||
Remove restart instructions from INSTALL(Bruce)
|
||||
Look in /usr/ucb first for install(Bruce)
|
||||
Fix c++ copy example code(Thomas)
|
||||
Add -o to psql manual page(Bruce)
|
||||
Prevent relname unallocated string length from being copied into database(Bruce)
|
||||
Cleanup for NAMEDATALEN use(Bruce)
|
||||
Fix pg_proc names over 15 chars in output(Bruce)
|
||||
Add strNcpy() function(Bruce)
|
||||
remove some (void) casts that are unnecessary(Bruce)
|
||||
new interfaces directory(Marc)
|
||||
Replace fopen() calls with calls to fd.c functions(Bruce)
|
||||
Make functions static where possible(Bruce)
|
||||
enclose unused functions in #ifdef NOT_USED(Bruce)
|
||||
Remove call to difftime() in timestamp support to fix SunOS(Bruce & Thomas)
|
||||
Changes for Digital Unix
|
||||
Portability fix for pg_dumpall(Bruce)
|
||||
Rename pg_attribute.attnvals to attdisbursion(Bruce)
|
||||
"intro/unix" manual page now "pgintro"(Bruce)
|
||||
"built-in" manual page now "pgbuiltin"(Bruce)
|
||||
"drop" manual page now "drop_table"(Bruce)
|
||||
Add "create_trigger", "drop_trigger" manual pages(Thomas)
|
||||
Add constraints regression test(Vadim & Thomas)
|
||||
Add comments syntax regression test(Thomas)
|
||||
Add PGINDENT and support program(Bruce)
|
||||
Massive commit to run PGINDENT on all *.c and *.h files(Bruce)
|
||||
Files moved to /src/tools directory(Bruce)
|
||||
|
Loading…
Reference in New Issue
Block a user