From 973a03744c0368ce163e42797faf6456fe199f47 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sun, 14 Sep 1997 02:09:10 +0000 Subject: [PATCH] Update README, HISTORY, etc for beta release. --- HISTORY | 105 +++++++++++++++++++++++++++++++++++++++++++++++ INSTALL | 29 +++++-------- README | 2 +- doc/FAQ | 60 +++++++++------------------ doc/TODO | 33 +++++++-------- doc/bug.template | 2 +- 6 files changed, 154 insertions(+), 77 deletions(-) diff --git a/HISTORY b/HISTORY index a5ed55aca5..6fc3ef2ce0 100644 --- a/HISTORY +++ b/HISTORY @@ -1,3 +1,108 @@ +PostgreSQL 6.2beta Sat Sep 13 21:53:27 EDT 1997 +------------------------------------------------------------- + +A dump/restore is required for those wishing to migrate data from +previous releases of PostgreSQL. + +Bug Fixes +--------- +Fix problems with pg_dump for iheritance, sequences, archive tables(Bruce) +Fix compile errors on overflow due to shifts, unsigned, and bad prototypes + from Solaris, (Diab Jerius) +Fix bugs in line arithmetic which resulted in bad intersection + calculations(Thomas) +Check explicitly for 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 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) + +Enhancements +------------ +psql: Add PAGER for \h and \?,\C fix +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 + (the point type especially had operators which were + weirdly dissimilar from the other 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) +Add new operators and functions for geometric types(Thomas) +Add text concatenation operator and function(Thomas) +Add text trim function for SQL92 support(Thomas) +Added conversion routines circle(box) and poly(circle)(Thomas) +Use better routines from geometry library(Thomas) +Allow use parameters in target list having aggregates in functions(Vadim) +Allow internal sorts to be stored in memory rather than in files(Bruce) +Added JDBC driver as an interface(Adrian & Peter) +Reduce open() calls(Bruce) +NOT NULL implementation (Robson Paniago de Miranda). +CHECK/DEFAULT syntax(Vadim) +Syntax for [CONSTRAINT name] CHECK ...(Vadim) +Allow functions and operators on internally-identical types to succeed(Bruce) +Speed up backend startup after profiling analysis(Bruce) +pg_password utility +Number of tuples inserted/affected by INSERT/UPDATE/DELETE...(Vadim) +SPI manager(Vadim) +Triggers (Vadim) +Add detection and warnings for UNION and HAVING clauses(Thomas) +Add more reserved words, mostly for SQL92 compliance(Thomas) +Include reserved words for string handling, outer joins, and unions(Thomas) +Implement extended comments ("/* ... */") using exclusive states(Thomas) +Modify definitions of operators to remove some restrictions on characters + and character order(Thomas) +Fix for psql pager when no tty(Bruce) +Add // comments(Bruce) +New entab utility(Bruce) +New system relations to store DEFAULT/CHECK expressions(Vadim) +Store CHECK infos on CREATE TABLE(Vadim) +Default GEQO parameter is now 8(Bruce) +Define DOUBLE PRECISION, INTERVAL, CHARACTER, and + CHARACTER VARYING (SQL-92)(Thomas) +Define EXTRACT(), POSITION(), SUBSTRING(), and TRIM() (SQL-92)(Thomas) + +Source Tree Changes +------------------- +HPUX 10 patches (Vladimir Turin) +Added SCO support, (Daniel Harris) +mkLinux patches (Tatsuo Ishii) +Change box terminology from "length" to "width"(Thomas) +Deprecate temporary unstored slope fields(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 pgproc 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) +Fix for sunos4 difftime() call(Bruce) +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) +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) + + PostgreSQL 6.1.1 Mon Jul 22 18:04:49 EDT 1997 ------------------------------------------------------------- diff --git a/INSTALL b/INSTALL index 6a362e24ea..dfaf05a369 100644 --- a/INSTALL +++ b/INSTALL @@ -2,7 +2,7 @@ POSTGRESQL INSTALLATION INSTRUCTIONS Copyright (c) 1997 Regents of the University of California This is file /usr/src/pgsql/INSTALL. It contains notes on how to install -PostgreSQL v6.1.1. Up to date information on PostgreSQL may be found at +PostgreSQL v6.2. Up to date information on PostgreSQL may be found at http://www.postgresql.org. PostgreSQL is an RDBMS database server. It is not completely ANSI SQL @@ -69,17 +69,8 @@ You should have at least 8 MB of memory and at least 45 MB of disk space to hold the source, binaries, and user databases. After installation you may reduce this to about 3 Mbytes plus space for user databases. -To upgrade from PostgreSQL v6.1 to v6.1.1 do the following: ------------------------------------------------------------ - 1) Run configure on the new release - 2) Compile the new release - 3) Recompile your custom applications to use the new libpq library - 4) Stop the postmaster - 5) Install the new release - 6) Restart the postmaster - -To those doing a fresh install or upgrading to PostgreSQL v6.1.1 -from 6.0 or 1.* release, do the following: +To those doing a fresh install or upgrading from previous releases of +PostgreSQL: ---------------------------------------------- 1) Read any last minute information and platform specific porting @@ -120,7 +111,7 @@ from 6.0 or 1.* release, do the following: To check for disk space, use command "df -k". - 4) Ftp file ftp://ftp.postgresql.org/pub/postgresql-v6.1.1.tar.gz from the + 4) Ftp file ftp://ftp.postgresql.org/pub/postgresql-v6.2.tar.gz from the internet. Store it in your home directory. 5) Some platforms use flex. If your system uses flex then make sure @@ -162,7 +153,7 @@ from 6.0 or 1.* release, do the following: postgres super user. Type (with the gunzip line and the following line typed as one line): cd - gunzip -c postgresql-v6.1.1.tar.gz | + gunzip -c postgresql-v6.2.tar.gz | tar xvf - src/bin/pg_dump/pg_dumpall chmod a+x src/bin/pg_dump/pg_dumpall src/bin/pg_dump/pg_dumpall > db.out @@ -227,7 +218,7 @@ from 6.0 or 1.* release, do the following: 10) Unzip and untar the new source file. Type cd /usr/src/pgsql - gunzip -c ~/postgresql-v6.1.1.tar.gz | tar xvf - + gunzip -c ~/postgresql-v6.2.tar.gz | tar xvf - 11) Configure the source code for your system. It is this step at which you can specify your actual source path and installation paths for @@ -419,10 +410,10 @@ from 6.0 or 1.* release, do the following: Here is an example from a i686/Linux-ELF platform (this is the platform on which most of the regression tests were generated). No tests failed - since this is the v6.1.1 regression reference platform. + since this is the v6.2 regression reference platform. Here is an example from the SPARC/Linux-ELF platform. Using the - 970525 beta version of PostgreSQL v6.1.1 the following tests "failed". + 970525 beta version of PostgreSQL v6.2 the following tests "failed". float8 and geometry "failed" due to minor precision differences in floating point numbers. select_views produces massively different output, but the differences are due to minor floating point differences. @@ -547,7 +538,7 @@ from 6.0 or 1.* release, do the following: rm -rf /usr/local/pgsql_6_0 # Also delete old database directory tree if it is not in # /usr/local/pgsql_6_0/data - rm ~/postgresql-v6.1.1.tar.gz + rm ~/postgresql-v6.2.tar.gz 26) You will probably want to print out the documentation. Here is how you might do it if you have Ghostscript on your system and are @@ -574,7 +565,7 @@ from 6.0 or 1.* release, do the following: supported platforms. We therefore ask you to let us know if you did or did not get PostgreSQL to work on you system. Please send a mail message to pgsql-ports@postgresql.org telling us the following: - - The version of PostgreSQL (v6.1, 6.1.1, beta 970703, etc.). + - The version of PostgreSQL (v6.2, 6.1.1, beta 970703, etc.). - Your operating system (i.e. RedHat v4.0 Linux v2.0.26). - Your hardware (SPARC, i486, etc.). - Did you compile, install and run the regression tests cleanly? diff --git a/README b/README index 189cc994ae..66adbef8c7 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ PostgreSQL Data Base Management System (formerly known as Postgres, then as Postgres95). -This directory contains the version 6.1 release of the PostgreSQL +This directory contains the version 6.2 release of the PostgreSQL database server. The server is not ANSI SQL compliant, but it gets closer with every release. After you unzip and untar the distribution file, look at file INSTALL for the installation notes and file HISTORY diff --git a/doc/FAQ b/doc/FAQ index 95c8721811..873bcb5c85 100644 --- a/doc/FAQ +++ b/doc/FAQ @@ -1,8 +1,8 @@ Frequently Asked Questions (FAQ) for PostgreSQL - Last updated: Thu Sep 4 01:32:22 EDT 1997 - Version: 6.1.1 + Last updated: Sat Sep 13 22:00:02 EDT 1997 + Version: 6.2beta Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us) @@ -90,6 +90,7 @@ Questions answered: 3.21) What is the meaning of some of the terms used in Postgres? 3.22) What is Genetic Query Optimization? 3.23) How do you remove a column from a table? + 3.24) How do SELECT only the first few rows of a query? 4) Questions about extending PostgreSQL @@ -514,24 +515,7 @@ Section 3: PostgreSQL Features 3.6) What is the exact difference between binary cursors and normal cursors? - Normal cursors return data back in ASCII format. Since data is stored - natively in binary format, the system must do a conversion to produce - the ASCII format. In addition, ASCII formats are often large in size - than binary format. Once the attributes come back in ASCII, often the - client application then has to convert it to a binary format to - manipulate it anyway. - - Binary cursors give you back the data in the native binary - representation. Thus, binary cursors will tend to be a little faster - since there's less overhead of conversion. - - However, ASCII is architectural neutral whereas binary representation - can differ between different machine architecture. Thus, if your - client machine uses a different representation than you server - machine, getting back attributes in binary format is probably not what - you want. Also, if your main purpose is displaying the data in ASCII, - then getting it back in ASCII will save you some effort on the client - side. + See the declare manual page for a description. 3.7) What is a R-tree index and what is it used for? @@ -590,24 +574,12 @@ Section 3: PostgreSQL Features 3.10) How do I do regular expression searches? case-insensitive regexp searching? - PostgreSQL supports the SQL LIKE syntax as well as more general - regular expression searching with the ~ operator. The !~ is the - negated regexp operator. ~* and !~* are the case-insensitive regular - expression operators. + See the pgbuiltin manual page. Search for regular expression. 3.11) I experienced a server crash during a vacuum. How do I remove the lock file? - If the server crashes during a vacuum command, chances are it will - leave a lock file hanging around. Attempts to re-run the vacuum - command result in - - - WARN:can't create lock file -- another vacuum cleaner running? - - If you are sure that no vacuum is actually running, you can remove the - file called "pg_vlock" in your database directory (which is - $PGDATA/base/) + See the vacuum manual page. 3.12) What is the difference between the various character types? @@ -638,10 +610,8 @@ BYTEA bytea variable-length array of bytes 3.14) How do I see how the query optimizer is evaluating my query? - Place the word 'EXPLAIN' at the beginning of the query, for example: - - EXPLAIN SELECT * FROM table1 WHERE age = 23; - + See the explain manual page. + 3.15) How do I create a serial field? Postgres does not allow the user to specifiy a user column as type @@ -683,6 +653,7 @@ BYTEA bytea variable-length array of bytes The default configuration allows only connections from tcp/ip host localhost. You need to add a host entry to the file pgsql/data/pg_hba. + See the hba_conf manual page. 3.18) How do I find out what indexes or operations are defined in the database? @@ -769,11 +740,20 @@ BYTEA bytea variable-length array of bytes We do not support ALTER TABLE DROP COLUMN, but do this: - SELECT ... # select all columns but the one you want to remove + SELECT ... -- select all columns but the one you want to remove INTO TABLE new_table FROM old_table; DROP TABLE old_table; ALTER TABLE new_table RENAME TO old_table; + + 3.23) How do SELECT only the first few rows of a query? + + See the fetch manual page. + + This only prevents all row results from being transfered to the + client. The entire query must be evaluated, even if you only want just + first few rows. Consider a query that has and ORDER BY. There is no + way to return any rows until the entire query is evaluated and sorted. _________________________________________________________________ Section 4: Extending PostgreSQL @@ -819,4 +799,4 @@ Section 5: Bugs You can also fill out the "bug-template" file and send it to: * bugs@postgreSQL.org - This is the address of the developers mailing list. + This is the address of the developers mailing list. diff --git a/doc/TODO b/doc/TODO index d5899e09a7..74f4e7b8ea 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,7 +1,7 @@ ==================================================== TODO list (FAQ) for PostgreSQL ==================================================== -last updated: Mon Jul 21 18:01:37 EDT 1997 +last updated: Sat Sep 13 22:00:05 EDT 1997 current maintainer: Bruce Momjian (maillist@candle.pha.pa.us) @@ -25,6 +25,7 @@ Developers who have claimed items are: Martin is Martin S. Utesch Oleg is Oleg Bartunov Paul is Paul M. Aoki + Patrick is Patrick van Kleef Raymond is Raymond Toy Soo-Ho Ok Stefan Simkovics @@ -38,17 +39,15 @@ 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 +Remove EXTEND? Fix all NULL features allow psql to print nulls meaningfully Fix compile and security of Kerberos/GSSAPI code (Daniel Kalchev?) -Dropping a table twice causes corruption, drop/create not rollback-able 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 -pg_database.datdba is oid, should be int4 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 @@ -56,6 +55,14 @@ 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 ENHANCEMENTS ------------ @@ -66,16 +73,15 @@ Add full ANSI SQL capabilities (Stefan) column constraints (using rules), PRIMARY KEY during table creation add DEFAULT, RESTRAINT, and CHECK capabilities report "Not implemented" if valid syntax is supplied - add NOT NULL to CREATE statement - add OUTER joins, left and right + add OUTER joins, left and right (Thomas) 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 + add DECIMAL, NUMERIC, DOUBLE PRECISION, BIT, BIT VARYING + NCHAR (as distinguished from ordinary varchar), Allow compression of large fields or a compressed field type Fix the rules system(Jan?,Soo-Ho) robust @@ -92,7 +98,6 @@ Large objects Better interface for adding to pg_group Make MONEY/DECIMAL have a defined precision 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 @@ -122,13 +127,13 @@ Add STDDEV/VARIANCE() function for standard deviation computation/variance Add table/column/function discription table indexed by oid add pg_type attribute to identify types that need length (bpchar, varchar) add UNIQUE capability to non-btree indexes -make pg_dumpall preserve table ownership, not just database ownership make large objects have their own reltype make number of backends a config parameter, storage/sinvaladt.h:MaxBackendId 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 PERFORMANCE ----------- @@ -136,9 +141,6 @@ Optimizing disjunctive queries 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 Cache most recent query plan(s?) @@ -146,16 +148,15 @@ 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) -Change pg_attribute.attnvals name to attdispursion and change type float4 - update pg_statistic table to remove operator column +update pg_statistic table to remove operator column DOCUMENTATION ------------- Update usermanual source(many) remove time-travel in documentation(Bruce) added features used in grammer but not in docs, like :: and CAST -add DECLARE manual page update libpq++ manual page +Add pg_password manual page PORTABILITY ----------- diff --git a/doc/bug.template b/doc/bug.template index 577e07eb1c..3e6aa858ab 100644 --- a/doc/bug.template +++ b/doc/bug.template @@ -27,7 +27,7 @@ System Configuration Operating System (example: Linux 2.0.26 ELF) : - PostgreSQL version (example: PostgreSQL-6.1) : PostgreSQL-6.1 + PostgreSQL version (example: PostgreSQL-6.2) : PostgreSQL-6.2 Compiler used (example: gcc 2.7.2) :