diff options
-rw-r--r-- | HISTORY | 888 | ||||
-rw-r--r-- | INSTALL | 1633 | ||||
-rw-r--r-- | doc/src/sgml/installation.sgml | 144 | ||||
-rw-r--r-- | doc/src/sgml/release.sgml | 31 |
4 files changed, 1391 insertions, 1305 deletions
@@ -1,96 +1,98 @@ Release Notes - + Release 7.3.1 - + Release date: 2002-12-18 - + This has a variety of fixes from 7.3. _________________________________________________________________ - - Migration to version 7.3.1 - + +Migration to version 7.3.1 + A dump/restore is *not* required for those running 7.3. However, it should be noted that the main PostgreSQL interface library, libpq, has - a new major version number for this release, which may require - recompilation of client code in certain cases. - _________________________________________________________________ - - Changes - - Fix a core dump of COPY TO when client/server encodings don't match (T - om) + a new major version number for this release, which will require that + client code using libpq be relinked. + _________________________________________________________________ + +Changes + + Fix a core dump of COPY TO when client/server encodings don't match + (Tom) Allow pg_dump to work with pre-7.2 servers (Tom) - /contrib/adddepend fixes (Tom) - Fix problem with deletion of per-user/per-database config settings (To - m) - /contrib/vacuumlo fix (Tom) + contrib/adddepend fixes (Tom) + Fix problem with deletion of per-user/per-database config settings + (Tom) + contrib/vacuumlo fix (Tom) Allow 'password' encryption even when pg_shadow contains MD5 passwords - (Bruce) - /contrib/dbmirror fix (Steven Singer) + (Bruce) + contrib/dbmirror fix (Steven Singer) Optimizer fixes (Tom) - /contrib/tsearch fixes (Teodor Sigaev, Magnus) - Allow locale names to be mixed case (Nicolai Tufar) + contrib/tsearch fixes (Teodor Sigaev, Magnus) + Fix encoding name resolution to work in Turkish locale (Nicolai Tufar) Increment libpq library's major version number (Bruce) pg_hba.conf error reporting fixes (Bruce, Neil) - Add SCO Openserver 5.0.4 as a supported platform (Bruce) + Add SCO OpenServer 5.0.4 as a supported platform (Bruce) Prevent EXPLAIN from crashing server (Tom) SSL fixes (Nathan Mueller) Prevent composite column creation via ALTER TABLE (Tom) + Fix conversion between LATIN9 and UNICODE (Peter) + Translation updates _________________________________________________________________ - + Release 7.3 - + Release date: 2002-11-27 _________________________________________________________________ - - Overview - + +Overview + Major changes in this release: - + Schemas Schemas allow users to create objects in separate namespaces, so two people or applications can have tables with the same name. There is also a public schema for shared tables. Table/index creation can be restricted by removing permissions on the public schema. - + Drop Column PostgreSQL now supports the ALTER TABLE ... DROP COLUMN functionality. - + Table Functions Functions returning multiple rows and/or multiple columns are now much easier to use than before. You can call such a "table function" in the SELECT FROM clause, treating its output like a table. Also, PL/pgSQL functions can now return sets. - + Prepared Queries PostgreSQL now supports prepared queries, for improved performance. - + Dependency Tracking PostgreSQL now records object dependencies, which allows improvements in many areas. "DROP" statements now take either CASCADE or RESTRICT to control whether dependent objects are also dropped. - + Privileges Functions and procedural languages now have privileges, and functions can be defined to run with the privileges of their creator. - + Internationalization Both multibyte and locale support are now always enabled. - + Logging A variety of logging options have been enhanced. - + Interfaces A large number of interfaces have been moved to http://gborg.postgresql.org where they can be developed and released independently. - + Functions/Identifiers By default, functions can now take up to 32 parameters, and identifiers can be up to 63 bytes long. Also, OPAQUE is now @@ -98,17 +100,17 @@ each of the former meanings of OPAQUE in function argument and result types. _________________________________________________________________ - - Migration to version 7.3 - + +Migration to version 7.3 + A dump/restore using pg_dump is required for those wishing to migrate data from any previous release. If your application examines the system catalogs, additional changes will be required due to the introduction of schemas in 7.3; for more information, see: http://www.ca.postgresql.org/docs/momjian/upgrade_tips_7.3. - + Observe the following incompatibilities: - + * Pre-6.3 clients are no longer supported. * "pg_hba.conf" now has a column for the user name and additional features. Existing files need to be adjusted. @@ -133,9 +135,9 @@ * An empty string ('') is no longer allowed as the input into an integer field. Formerly, it was silently interpreted as 0. _________________________________________________________________ - - Changes - + +Changes + Server Operation Add pg_locks view to show locks (Neil) @@ -145,7 +147,7 @@ Server Operation Reserve the last few backend slots for superusers, add parameter superuser_reserved_connections to control this (Nigel J. Andrews) _________________________________________________________________ - + Performance Improve startup by calling localtime() only once (Tom) @@ -171,7 +173,7 @@ Performance Tom) Improved WAL write concurrency (Tom) _________________________________________________________________ - + Privileges Add privileges on functions and procedural languages (Peter) @@ -183,7 +185,7 @@ Privileges Allow functions to be executed with the privilege of the function owner (Peter) _________________________________________________________________ - + Server Configuration Server log messages now tagged with LOG, not DEBUG (Bruce) @@ -212,7 +214,7 @@ Server Configuration Add param log_min_error_statement to print commands to logs on error (Gavin) _________________________________________________________________ - + Queries Make cursors insensitive, meaning their contents do not change (Tom) @@ -237,7 +239,7 @@ Queries Allow FOR UPDATE to appear after LIMIT/OFFSET (Bruce) Add variable autocommit (Tom, David Van Wie) _________________________________________________________________ - + Object Manipulation Make equals signs optional in CREATE DATABASE (Gavin Sherry) @@ -276,7 +278,7 @@ Object Manipulation Add /contrib/adddepend to handle pre-7.3 object dependencies (Rod) Allow better casting when inserting/updating values (Tom) _________________________________________________________________ - + Utility Commands Have COPY TO output embedded carriage returns and newlines as \r and @@ -321,7 +323,7 @@ Utility Commands Fix rare index corruption when a page split affects bulk delete (Tom) Fix ALTER TABLE ... ADD COLUMN for inheritance (Alvaro Herrera) _________________________________________________________________ - + Data Types and Functions Fix factorial(0) to return 1 (Bruce) @@ -378,7 +380,7 @@ Data Types and Functions Fix trigger/type/language functions returning OPAQUE to return proper type (Tom) _________________________________________________________________ - + Internationalization Add additional encodings: Korean (JOHAB), Thai (WIN874), Vietnamese @@ -399,7 +401,7 @@ Internationalization aware (Peter) New and updated translations _________________________________________________________________ - + Server-side Languages Allow recursive SQL function (Peter) @@ -412,7 +414,7 @@ Server-side Languages Make PL/pgSQL schema-aware (Joe) Remove some memory leaks (Nigel J. Andrews, Tom) _________________________________________________________________ - + Psql Don't lowercase psql \connect database name for 7.2.0 compatibility @@ -428,7 +430,7 @@ Psql Have psql reports its version number on startup (Tom) Allow \copy to specify column names (Tom) _________________________________________________________________ - + Libpq Add $HOME/.pgpass to store host/user password combinations (Alvaro @@ -443,7 +445,7 @@ Libpq Fix for SSL with non-blocking connections (Jack Bates) Add libpq connection timeout parameter (Denis A Ustimenko) _________________________________________________________________ - + JDBC Allow JDBC to compile with JDK 1.4 (Dave) @@ -458,7 +460,7 @@ JDBC Fix MD5 encryption handling for multibyte servers (Jun Kawai) Add support for prepared statements (Barry) _________________________________________________________________ - + Miscellaneous Interfaces Fixed ECPG bug concerning octal numbers in single quotes (Michael) @@ -478,7 +480,7 @@ Miscellaneous Interfaces Add pg_on_connection_loss command to libpgtcl (Gerhard Hintermayer, Tom) _________________________________________________________________ - + Source Code Fix for parallel make (Peter) @@ -537,7 +539,7 @@ Source Code Remove parameter wal_files because WAL files are now recycled (Bruce) Add version numbers to heap pages (Tom) _________________________________________________________________ - + Contrib Allow inet arrays in /contrib/array (Neil) @@ -564,22 +566,22 @@ Contrib Fixes to /contrib/cube (Bruno Wolff) Improve /contrib/fulltextindex (Christopher) _________________________________________________________________ - + Release 7.2.3 - + Release date: 2002-10-01 - + This has a variety of fixes from 7.2.2, including fixes to prevent possible data loss. _________________________________________________________________ - - Migration to version 7.2.3 - + +Migration to version 7.2.3 + A dump/restore is *not* required for those running 7.2.X. _________________________________________________________________ - - Changes - + +Changes + Prevent possible compressed transaction log loss (Tom) Prevent non-superuser from increasing most recent vacuum info (Tom) Handle pre-1970 date values in newer versions of glibc (Tom) @@ -587,21 +589,21 @@ Contrib Prevent spinlock hangs on SMP PPC machines (Tomoyuki Niijima) Fix pg_dump to properly dump FULL JOIN USING (Tom) _________________________________________________________________ - + Release 7.2.2 - + Release date: 2002-08-23 - + This has a variety of fixes from 7.2.1. _________________________________________________________________ - - Migration to version 7.2.2 - + +Migration to version 7.2.2 + A dump/restore is *not* required for those running 7.2.X. _________________________________________________________________ - - Changes - + +Changes + Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom) Fix for compressed transaction log id wraparound (Tom) Fix PQescapeBytea/PQunescapeBytea so that they handle bytes > 0x7f (Ta @@ -618,21 +620,21 @@ Contrib Fix for crash with long DATA strings (Thomes, Neil) Fix for repeat(), lpad(), rpad() and long strings (Neil) _________________________________________________________________ - + Release 7.2.1 - + Release date: 2002-03-21 - + This has a variety of fixes from 7.2. _________________________________________________________________ - - Migration to version 7.2.1 - + +Migration to version 7.2.1 + A dump/restore is *not* required for those running 7.2. _________________________________________________________________ - - Changes - + +Changes + Ensure that sequence counters do not go backwards after a crash (Tom) Fix pgaccess kanji-coversion key binding (Tatsuo) Optimizer improvements (Tom) @@ -652,57 +654,57 @@ Contrib Fix for array subscripts handling (Tom) Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom) _________________________________________________________________ - + Release 7.2 - + Release date: 2002-02-04 _________________________________________________________________ - - Overview - + +Overview + This release improves PostgreSQL for use in high-volume applications. - + Major changes in this release: - + VACUUM Vacuuming no longer locks tables, thus allowing normal user access during the vacuum. A new "VACUUM FULL" command does old-style vacuum by locking the table and shrinking the on-disk copy of the table. - + Transactions There is no longer a problem with installations that exceed four billion transactions. - + OIDs OIDs are now optional. Users can now create tables without OIDs for cases where OID usage is excessive. - + Optimizer The system now computes histogram column statistics during "ANALYZE", allowing much better optimizer choices. - + Security A new MD5 encryption option allows more secure storage and transfer of passwords. A new Unix-domain socket authentication option is available on Linux and BSD systems. - + Statistics Administrators can use the new table access statistics module to get fine-grained information about table and index usage. - + Internationalization Program and library messages can now be displayed in several languages. _________________________________________________________________ - - Migration to version 7.2 - + +Migration to version 7.2 + A dump/restore using "pg_dump" is required for those wishing to migrate data from any previous release. - + Observe the following incompatibilities: - + * The semantics of the "VACUUM" command have changed in this release. You may wish to update your maintenance procedures accordingly. @@ -719,14 +721,14 @@ Contrib need to rewrite your applications. * The timestamp(), time(), and interval() functions are no longer available. Instead of timestamp(), use timestamp 'string' or CAST. - + The SELECT ... LIMIT #,# syntax will be removed in the next release. You should change your queries to use separate LIMIT and OFFSET clauses, e.g. LIMIT 10 OFFSET 20. _________________________________________________________________ - - Changes - + +Changes + Server Operation Create temporary files in a separate directory (Bruce) @@ -751,7 +753,7 @@ Server Operation Superuser ID now fixed at 1 (Peter E) New pg_ctl "reload" option (Tom) _________________________________________________________________ - + Performance Optimizer improvements (Tom) @@ -765,7 +767,7 @@ Performance R-tree performance improvements (Kenneth Been) B-tree splits more efficient (Tom) _________________________________________________________________ - + Privileges Change UPDATE, DELETE permissions to be distinct (Peter E) @@ -778,7 +780,7 @@ Privileges Disallow access to pg_statistic for non-superuser, add user-accessible views (Tom) _________________________________________________________________ - + Client Authentication Fork postmaster before doing authentication to prevent hangs (Peter E) @@ -789,7 +791,7 @@ Client Authentication PAM authentication (Dominic J. Eidson) Load pg_hba.conf and pg_ident.conf only on startup and SIGHUP (Bruce) _________________________________________________________________ - + Server Configuration Interpretation of some time zone abbreviations as Australian rather th @@ -801,7 +803,7 @@ Server Configuration New parameter to set client authentication timeout (Tom) New parameter to set maximum number of open files (Tom) _________________________________________________________________ - + Queries Statements added by INSERT rules now execute after the INSERT (Jan) @@ -815,7 +817,7 @@ Queries Fix for LIMIT, DISTINCT ON pushed into subqueries (Tom) Fix nested EXCEPT/INTERSECT (Tom) _________________________________________________________________ - + Schema Manipulation Fix SERIAL in temporary tables (Bruce) @@ -843,7 +845,7 @@ Schema Manipulation , Teodor Sigaev, Tom) Enable partial indexes (Martijn van Oosterhout) _________________________________________________________________ - + Utility Commands Add RESET ALL, SHOW ALL (Marko Kreen) @@ -859,7 +861,7 @@ Utility Commands Fix permission checks for CREATE INDEX (Tom) Disallow inappropriate use of CREATE/DROP INDEX/TRIGGER/VIEW (Tom) _________________________________________________________________ - + Data Types and Functions SUM(), AVG(), COUNT() now uses int8 internally for speed (Tom) @@ -905,7 +907,7 @@ Data Types and Functions Some datatype() function calls now evaluated differently Add support for Julian and ISO time specifications (Thomas) _________________________________________________________________ - + Internationalization National language support in psql, pg_dump, libpq, and server (Peter E @@ -921,7 +923,7 @@ Internationalization Make mic2ascii() non-ASCII aware (Tatsuo) Reject invalid multibyte character sequences (Tatsuo) _________________________________________________________________ - + PL/pgSQL Now uses portals for SELECT loops, allowing huge result sets (Jan) @@ -937,25 +939,25 @@ PL/pgSQL Memory leak fix (Jan, Tom) Make trailing semicolon optional (Tom) _________________________________________________________________ - + PL/Perl New untrusted PL/Perl (Alex Pilosov) PL/Perl is now built on some platforms even if libperl is not shared ( Peter E) _________________________________________________________________ - + PL/Tcl Now reports errorInfo (Vsevolod Lobko) Add spi_lastoid function (bob@redivi.com) _________________________________________________________________ - + PL/Python ...is new (Andrew Bosma) _________________________________________________________________ - + Psql \d displays indexes in unique, primary groupings (Christopher Kings-Ly @@ -966,7 +968,7 @@ Psql ) Format the correct number of columns for Unicode (Patrice) _________________________________________________________________ - + Libpq New function PQescapeString() to escape quotes in command strings (Flo @@ -974,7 +976,7 @@ Libpq New function PQescapeBytea() escapes binary strings for use as SQL str ing literals _________________________________________________________________ - + JDBC Return OID of INSERT (Ken K) @@ -1012,7 +1014,7 @@ JDBC MD5 password encryption support (Jeremy Wohl) Fix to actually use type cache (Ned Wolpert) _________________________________________________________________ - + ODBC Remove query size limit (Hiroshi) @@ -1026,7 +1028,7 @@ ODBC MD5 password encryption support (Bruce) Add more compatibility functions to odbc.sql (Peter E) _________________________________________________________________ - + ECPG EXECUTE ... INTO implemented (Christof Petig) @@ -1040,7 +1042,7 @@ ECPG All function names with external linkage are now prefixed by ECPG Fixes for arrays of structures (Michael) _________________________________________________________________ - + Misc. Interfaces Python fix fetchone() (Gerhard Haring) @@ -1050,7 +1052,7 @@ Misc. Interfaces Prevent output of default index op class in pg_dump (Tom) Fix libpgeasy memory leak (Bruce) _________________________________________________________________ - + Build and Install Configure, dynamic loader, and shared library fixes (Peter E) @@ -1069,7 +1071,7 @@ Build and Install Rename config.h to pg_config.h (Peter E) Reorganize installation layout of header files (Peter E) _________________________________________________________________ - + Source Code Remove SEP_CHAR (Bruce) @@ -1085,7 +1087,7 @@ Source Code Add 'volatile' usage in spinlock structures Improve signal handling logic (Tom) _________________________________________________________________ - + Contrib New contrib/rtree_gist (Oleg Bartunov, Teodor Sigaev) @@ -1101,19 +1103,19 @@ Contrib New pg_upgrade utility (Bruce) Add new pg_resetxlog options (Bruce, Tom) _________________________________________________________________ - + Release 7.1.3 - + Release date: 2001-08-15 _________________________________________________________________ - - Migration to version 7.1.3 - + +Migration to version 7.1.3 + A dump/restore is *not* required for those running 7.1.X. _________________________________________________________________ - - Changes - + +Changes + Remove unused WAL segements of large transactions (Tom) Multiaction rule fix (Tom) PL/pgSQL memory allocation fix (Jan) @@ -1126,21 +1128,21 @@ Disable COPY TO/FROM a view (Tom) Cygwin build (Jason Tishler) _________________________________________________________________ - + Release 7.1.2 - + Release date: 2001-05-11 - + This has one fix from 7.1.1. _________________________________________________________________ - - Migration to version 7.1.2 - + +Migration to version 7.1.2 + A dump/restore is *not* required for those running 7.1.X. _________________________________________________________________ - - Changes - + +Changes + Fix PL/pgSQL SELECTs when returning no rows Fix for psql backslash core dump Referential integrity permission fix @@ -1148,21 +1150,21 @@ Optimizer fixes pg_dump cleanups _________________________________________________________________ - + Release 7.1.1 - + Release date: 2001-05-05 - + This has a variety of fixes from 7.1. _________________________________________________________________ - - Migration to version 7.1.1 - + +Migration to version 7.1.1 + A dump/restore is *not* required for those running 7.1. _________________________________________________________________ - - Changes - + +Changes + Fix for numeric MODULO operator (Tom) pg_dump fixes (Philip) pg_dump can dump 7.0 databases (Philip) @@ -1179,16 +1181,16 @@ EXTRACT can now take string argument (Thomas) Python fixes (Darcy) _________________________________________________________________ - + Release 7.1 - + Release date: 2001-04-13 - + This release focuses on removing limitations that have existed in the PostgreSQL code for many years. - + Major changes in this release: - + Write-ahead Log (WAL) To maintain database consistency in case of an operating system crash, previous releases of PostgreSQL have forced all data @@ -1197,25 +1199,25 @@ Python fixes (Darcy) performance. If you have been using -F in previous releases to disable disk flushes, you may want to consider discontinuing its use. - + TOAST TOAST - Previous releases had a compiled-in row length limit, typically 8k - 32k. This limit made storage of long text fields difficult. With TOAST, long rows of any length can be stored with good performance. - + Outer Joins We now support outer joins. The UNION/NOT IN workaround for outer joins is no longer required. We use the SQL92 outer join syntax. - + Function Manager The previous C function manager did not handle null values properly, nor did it support 64-bit CPU's (Alpha). The new function manager does. You can continue using your old custom functions, but you may want to rewrite them in the future to use the new function manager call interface. - + Complex Queries A large number of complex queries that were unsupported in previous releases now work. Many combinations of views, @@ -1223,15 +1225,15 @@ Python fixes (Darcy) tables now work properly. Inherited tables are now accessed by default. Subqueries in FROM are now supported. _________________________________________________________________ - - Migration to version 7.1 - + +Migration to version 7.1 + A dump/restore using pg_dump is required for those wishing to migrate data from any previous release. _________________________________________________________________ - - Changes - + +Changes + Bug Fixes --------- Many multibyte/Unicode/locale fixes (Tatsuo and others) @@ -1419,21 +1421,21 @@ New contrib/pg_control utility (Oliver) New FreeBSD tools ipc_check, start-scripts/freebsd _________________________________________________________________ - + Release 7.0.3 - + Release date: 2000-11-11 - + This has a variety of fixes from 7.0.2. _________________________________________________________________ - - Migration to version 7.0.3 - + +Migration to version 7.0.3 + A dump/restore is *not* required for those running 7.0.*. _________________________________________________________________ - - Changes - + +Changes + Jdbc fixes (Peter) Large object fix (Tom) Fix lean in COPY WITH OIDS leak (Tom) @@ -1475,39 +1477,39 @@ Fix for inserting/copying longer multibyte strings into char() data Fix for crash of backend, on abort (Tom) _________________________________________________________________ - + Release 7.0.2 - + Release date: 2000-06-05 - + This is a repackaging of 7.0.1 with added documentation. _________________________________________________________________ - - Migration to version 7.0.2 - + +Migration to version 7.0.2 + A dump/restore is *not* required for those running 7.*. _________________________________________________________________ - - Changes - + +Changes + Added documentation to tarball. _________________________________________________________________ - + Release 7.0.1 - + Release date: 2000-06-01 - + This is a cleanup release for 7.0. _________________________________________________________________ - - Migration to version 7.0.1 - + +Migration to version 7.0.1 + A dump/restore is *not* required for those running 7.0. _________________________________________________________________ - - Changes - + +Changes + Fix many CLUSTER failures (Tom) Allow ALTER TABLE RENAME works on indexes (Tom) Fix plpgsql to handle datetime->timestamp and timespan->interval (Bruce) @@ -1534,50 +1536,50 @@ JDBC ResultSet.getTimestamp() fix (Gregory Krasnow & Floyd Marinescu) ecpg changes (Michael) _________________________________________________________________ - + Release 7.0 - + Release date: 2000-05-08 - + This release contains improvements in many areas, demonstrating the continued growth of PostgreSQL. There are more improvements and fixes in 7.0 than in any previous release. The developers have confidence that this is the best release yet; we do our best to put out only solid releases, and this one is no exception. - + Major changes in this release: - + Foreign Keys Foreign keys are now implemented, with the exception of PARTIAL MATCH foreign keys. Many users have been asking for this feature, and we are pleased to offer it. - + Optimizer Overhaul Continuing on work started a year ago, the optimizer has been improved, allowing better query plan selection and faster performance with less memory usage. - + Updated psql psql, our interactive terminal monitor, has been updated with a variety of new features. See the psql manual page for details. - + Join Syntax SQL92 join syntax is now supported, though only as INNER JOIN for this release. JOIN, NATURAL JOIN, JOIN/USING, and JOIN/ON are available, as are column correlation names. _________________________________________________________________ - - Migration to version 7.0 - + +Migration to version 7.0 + A dump/restore using pg_dump is required for those wishing to migrate data from any previous release of PostgreSQL. For those upgrading from 6.5.*, you may instead use pg_upgrade to upgrade to this release; however, a full dump/reload installation is always the most robust method for upgrades. - + Interface and compatibility issues to consider for the new release include: - + * The date/time types datetime and timespan have been superseded by the SQL92-defined types timestamp and interval. Although there has been some effort to ease the transition by allowing PostgreSQL to @@ -1597,9 +1599,9 @@ ecpg changes (Michael) in ambiguity with other types implementing LENGTH such as the geometric types. _________________________________________________________________ - - Changes - + +Changes + Bug Fixes --------- Prevent function calls exceeding maximum number of arguments (Tom) @@ -1922,43 +1924,43 @@ Fixes for Alpha compiles New multibyte encodings _________________________________________________________________ - + Release 6.5.3 - + Release date: 1999-10-13 - + This is basically a cleanup release for 6.5.2. We have added a new PgAccess that was missing in 6.5.2, and installed an NT-specific fix. _________________________________________________________________ - - Migration to version 6.5.3 - + +Migration to version 6.5.3 + A dump/restore is *not* required for those running 6.5.*. _________________________________________________________________ - - Changes - + +Changes + Updated version of pgaccess 0.98 NT-specific patch Fix dumping rules on inherited tables _________________________________________________________________ - + Release 6.5.2 - + Release date: 1999-09-15 - + This is basically a cleanup release for 6.5.1. We have fixed a variety of problems reported by 6.5.1 users. _________________________________________________________________ - - Migration to version 6.5.2 - + +Migration to version 6.5.2 + A dump/restore is *not* required for those running 6.5.*. _________________________________________________________________ - - Changes - + +Changes + subselect+CASE fixes(Tom) Add SHLIB_LINK setting for solaris_i386 and solaris_sparc ports(Daren Sefcik) Fixes for CASE in WHERE join clauses(Tom) @@ -1987,22 +1989,22 @@ Repair incorrect cleanup of heap memory allocation during transaction abort(Tom Updated version of pgaccess 0.98 _________________________________________________________________ - + Release 6.5.1 - + Release date: 1999-07-15 - + This is basically a cleanup release for 6.5. We have fixed a variety of problems reported by 6.5 users. _________________________________________________________________ - - Migration to version 6.5.1 - + +Migration to version 6.5.1 + A dump/restore is *not* required for those running 6.5. _________________________________________________________________ - - Changes - + +Changes + Add NT README file Portability fixes for linux_ppc, IRIX, linux_alpha, OpenBSD, alpha Remove QUERY_LIMIT, use SELECT...LIMIT @@ -2028,18 +2030,18 @@ Fix some compiler warnings (Tomoaki Nishiyama) Add Win1250 (Czech) support (Pavel Behal) _________________________________________________________________ - + Release 6.5 - + Release date: 1999-06-09 - + This release marks a major step in the development team's mastery of the source code we inherited from Berkeley. You will see we are now easily adding major features, thanks to the increasing size and experience of our world-wide development team. - + Here is a brief summary of the more notable changes: - + Multiversion concurrency control(MVCC) This removes our old table-level locking, and replaces it with a locking system that is superior to most commercial database @@ -2053,38 +2055,38 @@ Add Win1250 (Czech) support (Pavel Behal) systems. So, basically, we no longer are restricted by simple table-level locking; we have something better than row-level locking. - + Hot backups from pg_dump pg_dump takes advantage of the new MVCC features to give a consistent database dump/backup while the database stays online and available for queries. - + Numeric data type We now have a true numeric data type, with user-specified precision. - + Temporary tables Temporary tables are guaranteed to have unique names within a database session, and are destroyed on session exit. - + New SQL features We now have CASE, INTERSECT, and EXCEPT statement support. We have new LIMIT/OFFSET, SET TRANSACTION ISOLATION LEVEL, SELECT ... FOR UPDATE, and an improved LOCK TABLE command. - + Speedups We continue to speed up PostgreSQL, thanks to the variety of talents within our team. We have sped up memory allocation, optimization, table joins, and row transfer routines. - + Ports We continue to expand our port list, this time including Windows NT/ix86 and NetBSD/arm32. - + Interfaces Most interfaces have new versions, and existing functionality has been improved. - + Documentation New and updated material is present throughout the documentation. New FAQs have been contributed for SGI and AIX @@ -2098,20 +2100,20 @@ Add Win1250 (Czech) support (Pavel Behal) on obtaining the PostgreSQL source tree via anonymous CVS and CVSup. _________________________________________________________________ - - Migration to version 6.5 - + +Migration to version 6.5 + A dump/restore using pg_dump is required for those wishing to migrate data from any previous release of PostgreSQL. pg_upgrade can *not* be used to upgrade to this release because the on-disk structure of the tables has changed compared to previous releases. - + The new Multiversion Concurrency Control (MVCC) features can give somewhat different behaviors in multiuser environments. *Read and understand the following section to ensure that your existing applications will give you the behavior you need.* _________________________________________________________________ - + Multiversion Concurrency Control Because readers in 6.5 don't lock data, regardless of transaction @@ -2121,32 +2123,32 @@ Multiversion Concurrency Control sometime after the statement or transaction began) nor that the row is protected from being deleted or updated by concurrent transactions before the current transaction does a commit or rollback. - + To ensure the actual existence of a row and protect it against concurrent updates one must use "SELECT FOR UPDATE" or an appropriate "LOCK TABLE" statement. This should be taken into account when porting applications from previous releases of PostgreSQL and other environments. - + Keep the above in mind if you are using "contrib/refint.*" triggers for referential integrity. Additional techniques are required now. One way is to use "LOCK parent_table IN SHARE ROW EXCLUSIVE MODE" command if a transaction is going to update/delete a primary key and use "LOCK parent_table IN SHARE MODE" command if a transaction is going to update/insert a foreign key. - + Note: Note that if you run a transaction in SERIALIZABLE mode then you must execute the "LOCK" commands above before execution of any DML statement ("SELECT/INSERT/DELETE/UPDATE/FETCH/COPY_TO") in the transaction. - + These inconveniences will disappear in the future when the ability to read dirty (uncommitted) data (regardless of isolation level) and true referential integrity will be implemented. _________________________________________________________________ - - Changes - + +Changes + Bug Fixes --------- Fix text<->float8 and text<->float4 conversion functions(Thomas) @@ -2313,40 +2315,40 @@ Improve file handling to be more uniform, prevent file descriptor leak(Tom) New install commands for plpgsql(Jan) _________________________________________________________________ - + Release 6.4.2 - + Release date: 1998-12-20 - + The 6.4.1 release was improperly packaged. This also has one additional bug fix. _________________________________________________________________ - - Migration to version 6.4.2 - + +Migration to version 6.4.2 + A dump/restore is *not* required for those running 6.4.*. _________________________________________________________________ - - Changes - + +Changes + Fix for datetime constant problem on some platforms(Thomas) _________________________________________________________________ - + Release 6.4.1 - + Release date: 1998-12-18 - + This is basically a cleanup release for 6.4. We have fixed a variety of problems reported by 6.4 users. _________________________________________________________________ - - Migration to version 6.4.1 - + +Migration to version 6.4.1 + A dump/restore is *not* required for those running 6.4. _________________________________________________________________ - - Changes - + +Changes + Add pg_dump -N flag to force double quotes around identifiers. This is the default(Thomas) Fix for NOT in where clause causing crash(Bruce) @@ -2378,16 +2380,16 @@ Add routines to help with single-byte (internal) character type(Thomas) Compilation of libpq for Win32 fixes(Magnus) Upgrade to PyGreSQL 2.2(D'Arcy) _________________________________________________________________ - + Release 6.4 - + Release date: 1998-10-30 - + There are *many* new features and improvements in this release. Thanks to our developers and maintainers, nearly every aspect of the system has received some attention since the previous release. Here is a brief, incomplete summary: - + * Views and rules are now functional thanks to extensive new code in the rewrite rules system from Jan Wieck. He also wrote a chapter on it for the Programmer's Guide. @@ -2417,15 +2419,15 @@ Upgrade to PyGreSQL 2.2(D'Arcy) some attention, and should be more robust for more platforms than it has ever been. _________________________________________________________________ - - Migration to version 6.4 - + +Migration to version 6.4 + A dump/restore using pg_dump or pg_dumpall is required for those wishing to migrate data from any previous release of PostgreSQL. _________________________________________________________________ - - Changes - + +Changes + Bug Fixes --------- Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan) @@ -2622,33 +2624,33 @@ smarter perl configuration(Brook) configure uses supplied install-sh if no install script found(Tom) new Makefile.shlib for shared library configuration(Tom) _________________________________________________________________ - + Release 6.3.2 - + Release date: 1998-04-07 - + This is a bug-fix release for 6.3.x. Refer to the release notes for version 6.3 for a more complete summary of new features. - + Summary: - + * Repairs automatic configuration support for some platforms, including Linux, from breakage inadvertently introduced in version 6.3.1. * Correctly handles function calls on the left side of BETWEEN and LIKE clauses. - + A dump/restore is NOT required for those running 6.3 or 6.3.1. A make distclean, make, and make install is all that is required. This last step should be performed while the postmaster is not running. You should re-link any custom applications that use PostgreSQL libraries. - + For upgrades from pre-6.3 installations, refer to the installation and migration instructions for version 6.3. _________________________________________________________________ - - Changes - + +Changes + Configure detection improvements for tcl/tk(Brook Milligan, Alvin) Manual page improvements(Bruce) BETWEEN and LIKE fix(Thomas) @@ -2669,29 +2671,29 @@ Makefile dependency cleanup(Jeroen van Vianen) ASSERT fixes(Bruce) _________________________________________________________________ - + Release 6.3.1 - + Release date: 1998-03-23 - + Summary: - + * Additional support for multibyte character sets. * Repair byte ordering for mixed-endian clients and servers. * Minor updates to allowed SQL syntax. * Improvements to the configuration autodetection for installation. - + A dump/restore is NOT required for those running 6.3. A make distclean, make, and make install is all that is required. This last step should be performed while the postmaster is not running. You should re-link any custom applications that use PostgreSQL libraries. - + For upgrades from pre-6.3 installations, refer to the installation and migration instructions for version 6.3. _________________________________________________________________ - - Changes - + +Changes + ecpg cleanup/fixes, now version 1.1(Michael Meskes) pg_user cleanup(Bruce) large object fix for pg_dump and tclsh (alvin) @@ -2721,14 +2723,14 @@ Solaris compile fix(Albert Chin-A-Young) Better identify tcl and tk libs and includes(Bruce) _________________________________________________________________ - + Release 6.3 - + Release date: 1998-03-01 - + There are *many* new features and improvements in this release. Here is a brief, incomplete summary: - + * Many new SQL features, including full SQL92 subselect capability (everything is here but target-list subselects). * Support for client-side environment variables to specify time zone @@ -2739,14 +2741,14 @@ Better identify tcl and tk libs and includes(Bruce) permissions have changed. * Old-style time travel has been removed. Performance has been improved. - + Note: Bruce Momjian wrote the following notes to introduce the new release. - + There are some general 6.3 issues that I want to mention. These are only the big items that can not be described in one sentence. A review of the detailed changes list is still needed. - + First, we now have subselects. Now that we have them, I would like to mention that without subselects, SQL is a very limited language. Subselects are a major feature, and you should review your code for @@ -2755,12 +2757,12 @@ Better identify tcl and tk libs and includes(Bruce) may think. Vadim has put us on the big SQL map with subselects, and fully functional ones too. The only thing you can't do with subselects is to use them in the target list. - + Second, 6.3 uses Unix domain sockets rather than TCP/IP by default. To enable connections from other machines, you have to use the new postmaster -i option, and of course edit "pg_hba.conf". Also, for this reason, the format of "pg_hba.conf" has changed. - + Third, char() fields will now allow faster access than varchar() or text. Specifically, the text and varchar() have a penalty for access to any columns after the first column of this type. char() used to @@ -2768,7 +2770,7 @@ Better identify tcl and tk libs and includes(Bruce) that you redesign some of your tables, especially if you have short character columns that you have defined as varchar() or text. This and other changes make 6.3 even faster than earlier releases. - + We now have passwords definable independent of any Unix file. There are new SQL USER commands. See the Administrator's Guide for more information. There is a new table, pg_shadow, which is used to store @@ -2776,41 +2778,41 @@ Better identify tcl and tk libs and includes(Bruce) SELECT-able by the postgres super-user. pg_user is now a view of pg_shadow, and is SELECT-able by PUBLIC. You should keep using pg_user in your application without changes. - + User-created tables now no longer have SELECT permission to PUBLIC by default. This was done because the ANSI standard requires it. You can of course GRANT any permissions you want after the table is created. System tables continue to be SELECT-able by PUBLIC. - + We also have real deadlock detection code. No more sixty-second timeouts. And the new locking code implements a FIFO better, so there should be less resource starvation during heavy use. - + Many complaints have been made about inadequate documentation in previous releases. Thomas has put much effort into many new manuals for this release. Check out the doc/ directory. - + For performance reasons, time travel is gone, but can be implemented using triggers (see "pgsql/contrib/spi/README"). Please check out the new \d command for types, operators, etc. Also, views have their own permissions now, not based on the underlying tables, so permissions on them have to be set separately. Check "/pgsql/interfaces" for some new ways to talk to PostgreSQL. - + This is the first release that really required an explanation for existing users. In many ways, this was necessary because the new release removes many limitations, and the work-arounds people were using are no longer needed. _________________________________________________________________ - - Migration to version 6.3 - + +Migration to version 6.3 + A dump/restore using pg_dump or pg_dumpall is required for those wishing to migrate data from any previous release of PostgreSQL. _________________________________________________________________ - - Changes - + +Changes + Bug Fixes --------- Fix binary cursors broken by MOVE implementation(Vadim) @@ -2979,33 +2981,33 @@ Add string functions to regression suite(Thomas) Expand a few function names formerly truncated to 16 characters(Thomas) Remove un-needed malloc() calls and replace with palloc()(Bruce) _________________________________________________________________ - + Release 6.2.1 - + Release date: 1997-10-17 - + 6.2.1 is a bug-fix and usability release on 6.2. - + Summary: - + * Allow strings to span lines, per SQL92. * Include example trigger function for inserting user names on table updates. - + This is a minor bug-fix release on 6.2. For upgrades from pre-6.2 systems, a full dump/reload is required. Refer to the 6.2 release notes for instructions. _________________________________________________________________ - - Migration from version 6.2 to version 6.2.1 - + +Migration from version 6.2 to version 6.2.1 + This is a minor bug-fix release. A dump/reload is not required from version 6.2, but is required from any release prior to 6.2. - + In upgrading from version 6.2, if you choose to dump/reload you will find that avg(money) is now calculated correctly. All other bug fixes take effect upon updating the executables. - + Another way to avoid dump/reload is to use the following SQL command from "psql" to update the existing system table: update pg_aggregate set aggfinalfn = 'cash_div_flt8' @@ -3014,9 +3016,9 @@ Remove un-needed malloc() calls and replace with palloc()(Bruce) This will need to be done to every existing database, including template1. _________________________________________________________________ - - Changes - + +Changes + Allow TIME and TYPE column names(Thomas) Allow larger range of true/false as boolean values(Thomas) Support output of "now" and "current"(Thomas) @@ -3030,32 +3032,32 @@ Documented new libpq function to return affected rows, PQcmdTuples(Bruce) Trigger function for inserting user names for INSERT/UPDATE(Brook Milligan) _________________________________________________________________ - + Release 6.2 - + Release date: 1997-10-02 - + A dump/restore is required for those wishing to migrate data from previous releases of PostgreSQL. _________________________________________________________________ - - Migration from version 6.1 to version 6.2 - + +Migration from version 6.1 to version 6.2 + This migration requires a complete dump of the 6.1 database and a restore of the database in 6.2. - + Note that the "pg_dump" and "pg_dumpall" utility from 6.2 should be used to dump the 6.1 database. _________________________________________________________________ - - Migration from version 1.x to version 6.2 - + +Migration from version 1.x to version 6.2 + Those migrating from earlier 1.* releases should first upgrade to 1.09 because the COPY output format was improved from the 1.02 release. _________________________________________________________________ - - Changes - + +Changes + Bug Fixes --------- Fix problems with pg_dump for inheritance, sequences, archive tables(Bruce) @@ -3169,21 +3171,21 @@ Massive commit to run PGINDENT on all *.c and *.h files(Bruce) Files moved to /src/tools directory(Bruce) SPI and Trigger programming guides (Vadim & D'Arcy) _________________________________________________________________ - + Release 6.1.1 - + Release date: 1997-07-22 _________________________________________________________________ - - Migration from version 6.1 to version 6.1.1 - + +Migration from version 6.1 to version 6.1.1 + This is a minor bug-fix release. A dump/reload is not required from version 6.1, but is required from any release prior to 6.1. Refer to the release notes for 6.1 for more details. _________________________________________________________________ - - Changes - + +Changes + 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 changing databases @@ -3203,20 +3205,20 @@ allow underscores in usernames(Bruce) pg_dumpall now returns proper status, portability fix(Bruce) _________________________________________________________________ - + Release 6.1 - + Release date: 1997-06-08 - + The regression tests have been adapted and extensively modified for the 6.1 release of PostgreSQL. - + Three new data types (datetime, timespan, and circle) have been added to the native set of PostgreSQL types. Points, boxes, paths, and polygons have had their output formats made consistent across the data types. The polygon output in misc.out has only been spot-checked for correctness relative to the original regression output. - + PostgreSQL 6.1 introduces a new, alternate optimizer which uses genetic algorithms. These algorithms introduce a random behavior in the ordering of query results when the query contains multiple @@ -3227,33 +3229,33 @@ pg_dumpall now returns proper status, portability fix(Bruce) inherently unordered (e.g. points and time intervals) and tests involving those types are explicitly bracketed with "set geqo to 'off'" and "reset geqo". - + The interpretation of array specifiers (the curly braces around atomic values) appears to have changed sometime after the original regression tests were generated. The current "./expected/*.out" files reflect this new interpretation, which may not be correct! - + The float8 regression test fails on at least some platforms. This is due to differences in implementations of pow() and exp() and the signaling mechanisms used for overflow and underflow conditions. - + The "random" results in the random test should cause the "random" test to be "failed", since the regression tests are evaluated using a simple diff. However, "random" does not seem to produce random results on my test machine (Linux/gcc/i686). _________________________________________________________________ - - Migration to version 6.1 - + +Migration to version 6.1 + This migration requires a complete dump of the 6.0 database and a restore of the database in 6.1. - + Those migrating from earlier 1.* releases should first upgrade to 1.09 because the COPY output format was improved from the 1.02 release. _________________________________________________________________ - - Changes - + +Changes + Bug Fixes --------- packet length checking in library routines @@ -3349,29 +3351,29 @@ c++ include file cleanup(Bruce) warn about buggy flex(Bruce) DG/UX, Ultrix, IRIX, AIX portability fixes _________________________________________________________________ - + Release 6.0 - + Release date: 1997-01-29 - + A dump/restore is required for those wishing to migrate data from previous releases of PostgreSQL. _________________________________________________________________ - - Migration from version 1.09 to version 6.0 - + +Migration from version 1.09 to version 6.0 + This migration requires a complete dump of the 1.09 database and a restore of the database in 6.0. _________________________________________________________________ - - Migration from pre-1.09 to version 6.0 - + +Migration from pre-1.09 to version 6.0 + Those migrating from earlier 1.* releases should first upgrade to 1.09 because the COPY output format was improved from the 1.02 release. _________________________________________________________________ - - Changes - + +Changes + Bug Fixes --------- ALTER TABLE bug - running postgress process needs to re-read table definition @@ -3478,33 +3480,33 @@ Restructured object file generation/location(Bryan, Marc) Restructured port-specific file locations(Bryan, Marc) Unused/uninialized variables corrected _________________________________________________________________ - + Release 1.09 - + Release date: 1996-11-04 - + Sorry, we didn't keep track of changes from 1.02 to 1.09. Some of the changes listed in 6.0 were actually included in the 1.02.1 to 1.09 releases. _________________________________________________________________ - + Release 1.02 - + Release date: 1996-08-01 _________________________________________________________________ - - Migration from version 1.02 to version 1.02.1 - + +Migration from version 1.02 to version 1.02.1 + Here is a new migration file for 1.02.1. It includes the 'copy' change and a script to convert old ASCII files. - + Note: The following notes are for the benefit of users who want to migrate databases from Postgres95 1.01 and 1.02 to Postgres95 1.02.1. - + If you are starting afresh with Postgres95 1.02.1 and do not need to migrate old databases, you do not need to read any further. - + In order to upgrade older Postgres95 version 1.01 or 1.02 databases to version 1.02.1, the following steps are required: 1. Start up a new 1.02.1 postmaster @@ -3520,9 +3522,9 @@ Unused/uninialized variables corrected the last two statements in the file because they are already present in 1.02. This is not a cause for concern. _________________________________________________________________ - - Dump/Reload Procedure - + +Dump/Reload Procedure + If you are trying to reload a pg_dump or text-mode, copy tablename to stdout generated with a previous version, you will need to run the attached "sed" script on the ASCII file before loading it into the @@ -3544,9 +3546,9 @@ eq); create operator !~* (leftarg = varchar, rightarg = text, procedure = texticrege xne); _________________________________________________________________ - - Changes - + +Changes + Source code maintenance and development * worldwide team of volunteers * the source tree now in CVS at ftp.ki.net @@ -3573,20 +3575,20 @@ New Ports * added BSD/OS 2.1 port * added DG/UX port _________________________________________________________________ - + Release 1.01 - + Release date: 1996-02-23 _________________________________________________________________ - - Migration from version 1.0 to version 1.01 - + +Migration from version 1.0 to version 1.01 + The following notes are for the benefit of users who want to migrate databases from Postgres95 1.0 to Postgres95 1.01. - + If you are starting afresh with Postgres95 1.01 and do not need to migrate old databases, you do not need to read any further. - + In order to Postgres95 version 1.01 with databases created with Postgres95 version 1.0, the following steps are required: 1. Set the definition of NAMEDATALEN in "src/Makefile.global" to 16 @@ -3668,9 +3670,9 @@ create operator ~* (leftarg = text, rightarg = text, procedure = texticregexeq) create operator !~* (leftarg = text, rightarg = text, procedure = texticregexne ); _________________________________________________________________ - - Changes - + +Changes + Incompatibilities: * 1.01 is backwards compatible with 1.0 database provided the user follow the steps outlined in the MIGRATION_from_1.0_to_1.01 file. @@ -3704,14 +3706,14 @@ Bug fixes: * psql now returns non-zero status on errors when using -c * applied public patches 1-14 _________________________________________________________________ - + Release 1.0 - + Release date: 1995-09-05 _________________________________________________________________ - - Changes - + +Changes + Copyright change: * The copyright of Postgres 1.0 has been loosened to be freely modifiable and modifiable for any purpose. Please read the COPYRIGHT file. @@ -3752,14 +3754,14 @@ Bug fixes: * btrees with multiple index never worked, now we tell you they don't work when you try to use them _________________________________________________________________ - + Postgres95 Release 0.03 - + Release date: 1995-07-21 _________________________________________________________________ - - Changes - + +Changes + Incompatible changes: * BETA-0.3 IS INCOMPATIBLE WITH DATABASES CREATED WITH PREVIOUS VERSIONS (due to system catalog changes and indexing structure changes). @@ -3866,14 +3868,14 @@ New utilities: New documentation: * the user manual has been revised and libpq documentation added. _________________________________________________________________ - + Postgres95 Release 0.02 - + Release date: 1995-05-25 _________________________________________________________________ - - Changes - + +Changes + Incompatible changes: * The SQL statement for creating a database is 'CREATE DATABASE' instead of 'CREATEDB'. Similarly, dropping a database is 'DROP DATABASE' instead @@ -3908,9 +3910,9 @@ The following bugs have been fixed in postgres95-beta-0.02: * CREATE TYPE doesn't accept 'variable' as the internallength * wrong result using more than 1 aggregate in a SELECT _________________________________________________________________ - + Postgres95 Release 0.01 - + Release date: 1995-05-01 - + Initial release. @@ -1,807 +1,886 @@ - PostgreSQL Installation Instructions - - This document describes the installation of PostgreSQL from the source - code distribution. - _________________________________________________________________ - - Short Version - -./configure -gmake -su -gmake install -adduser postgres -mkdir /usr/local/pgsql/data -chown postgres /usr/local/pgsql/data -su - postgres -/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data -/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 & -/usr/local/pgsql/bin/createdb test -/usr/local/pgsql/bin/psql test - - The long version is the rest of this document. - _________________________________________________________________ - - Requirements - - In general, a modern Unix-compatible platform should be able to run - PostgreSQL. The platforms that had received specific testing at the - time of release are listed in the section called Supported Platforms - below. In the "doc" subdirectory of the distribution there are several - platform-specific FAQ documents you might wish to consult if you are - having trouble. - - The following software packages are required for building PostgreSQL: - - * GNU make is required; other make programs will *not* work. GNU - make is often installed under the name "gmake"; this document will - always refer to it by that name. (On some systems GNU make is the - default tool with the name "make".) To test for GNU make enter -gmake --version - It is recommended to use version 3.76.1 or later. - * You need an ISO/ANSI C compiler. Recent versions of GCC are - recommendable, but PostgreSQL is known to build with a wide - variety of compilers from different vendors. - * gzip is needed to unpack the distribution in the first place. If - you are reading this, you probably already got past that hurdle. - * The GNU Readline library (for comfortable line editing and command - history retrieval) will be used by default. If you don't want to - use it then you must specify the "--without-readline" option for - "configure". (On NetBSD, the "libedit" library is - readline-compatible and is used if "libreadline" is not found.) - * To build on Windows NT or Windows 2000 you need the Cygwin and - cygipc packages. See the file "doc/FAQ_MSWIN" for details. - - The following packages are optional. They are not required in the - default configuration, but they are needed when certain build options - are enabled, as explained below. - - * To build the server programming language PL/Perl you need a full - Perl installation, including the "libperl" library and the header - files. Since PL/Perl will be a shared library, the "libperl" - library must be a shared library also on most platforms. This - appears to be the default in recent Perl versions, but it was not - in earlier versions, and in general it is the choice of whomever - installed Perl at your site. - If you don't have the shared library but you need one, a message - like this will appear during the build to point out this fact: -*** Cannot build PL/Perl because libperl is not a shared library. -*** You might have to rebuild your Perl installation. Refer to -*** the documentation for details. - (If you don't follow the on-screen output you will merely notice - that the PL/Perl library object, "plperl.so" or similar, will not - be installed.) If you see this, you will have to rebuild and - install Perl manually to be able to build PL/Perl. During the - configuration process for Perl, request a shared library. - * To build the Python interface module or the PL/Python server - programming language, you need a Python installation, including - the header files. Since PL/Python will be a shared library, the - "libpython" library must be a shared library also on most - platforms. This is not the case in a default Python installation. - If after building and installing you have a file called - "plpython.so" (possibly a different extension), then everything - went well. Otherwise you should have seen a notice like this - flying by: -*** Cannot build PL/Python because libpython is not a shared library. -*** You might have to rebuild your Python installation. Refer to -*** the documentation for details. - That means you have to rebuild (part of) your Python installation - to supply this shared library. - The catch is that the Python distribution or the Python - maintainers do not provide any direct way to do this. The closest - thing we can offer you is the information in Python FAQ 3.30. On - some operating systems you don't really have to build a shared - library, but then you will have to convince the PostgreSQL build - system of this. Consult the "Makefile" in the "src/pl/plpython" - directory for details. - * If you want to build Tcl or Tk components (clients and the PL/Tcl - language) you of course need a Tcl installation. - * To build the JDBC driver, you need Ant 1.5 or higher and a JDK. - Ant is a special tool for building Java-based packages. It can be - downloaded from the Ant web site. - If you have several Java compilers installed, it depends on the - Ant configuration which one gets used. Precompiled Ant - distributions are typically set up to read a file ".antrc" in the - current user's home directory for configuration. For example, to - use a different JDK than the default, this may work: -JAVA_HOME=/usr/local/sun-jdk1.3 -JAVACMD=$JAVA_HOME/bin/java - - Note: Do not try to build the driver by calling "ant" or even - "javac" directly. This will not work. Run "gmake" normally as - described below. - * To enable Native Language Support (NLS), that is, the ability to - display a program's messages in a language other than English, you - need an implementation of the Gettext API. Some operating systems - have this built-in (e.g., Linux, NetBSD, Solaris), for other - systems you can download an add-on package from here: - http://www.postgresql.org/~petere/gettext.html. If you are using - the gettext implementation in the GNU C library then you will - additionally need the GNU Gettext package for some utility - programs. For any of the other implementations you will not need - it. - * Kerberos, OpenSSL, or PAM, if you want to support authentication - using these services. - - If you are build from a CVS tree instead of using a released source - package, or if you want to do development, you also need the following - packages: - - * Flex and Bison are needed to build a CVS checkout or if you - changed the actual scanner and parser definition files. If you - need them, be sure to get Flex 2.5.4 or later and Bison 1.50 or - later. Other yacc programs can sometimes be used, but doing so - requires extra effort and is not recommended. Other lex programs - will definitely not work. - - If you need to get a GNU package, you can find it at your local GNU - mirror site (see http://www.gnu.org/order/ftp.html for a list) or at - ftp://ftp.gnu.org/gnu/. - - Also check that you have sufficient disk space. You will need about 65 - MB for the source tree during compilation and about 15 MB for the - installation directory. An empty database cluster takes about 25 MB, - databases take about five times the amount of space that a flat text - file with the same data would take. If you are going to run the - regression tests you will temporarily need up to an extra 90 MB. Use - the "df" command to check for disk space. - _________________________________________________________________ - - If You Are Upgrading - - The internal data storage format changes with new releases of - PostgreSQL. Therefore, if you are upgrading an existing installation - that does not have a version number "7.3.x", you must back up and - restore your data as shown here. These instructions assume that your - existing installation is under the "/usr/local/pgsql" directory, and - that the data area is in "/usr/local/pgsql/data". Substitute your - paths appropriately. - 1. Make sure that your database is not updated during or after the - backup. This does not affect the integrity of the backup, but the - changed data would of course not be included. If necessary, edit - the permissions in the file "/usr/local/pgsql/data/pg_hba.conf" - (or equivalent) to disallow access from everyone except you. - 2. To back up your database installation, type: -pg_dumpall > outputfile - If you need to preserve OIDs (such as when using them as foreign - keys), then use the "-o" option when running "pg_dumpall". - "pg_dumpall" does not save large objects. Check the - Administrator's Guide if you need to do this. - To make the backup, you can use the "pg_dumpall" command from the - version you are currently running. For best results, however, try - to use the "pg_dumpall" command from PostgreSQL 7.3.1, since this - version contains bug fixes and improvements over older versions. - While this advice might seem idiosyncratic since you haven't - installed the new version yet, it is advisable to follow it if you - plan to install the new version in parallel with the old version. - In that case you can complete the installation normally and - transfer the data later. This will also decrease the downtime. - 3. If you are installing the new version at the same location as the - old one then shut down the old server, at the latest before you - install the new files: -kill -INT `cat /usr/local/pgsql/data/postmaster.pid` - Versions prior to 7.0 do not have this "postmaster.pid" file. If - you are using such a version you must find out the process id of - the server yourself, for example by typing "ps ax | grep - postmaster", and supply it to the "kill" command. - On systems that have PostgreSQL started at boot time, there is - probably a start-up file that will accomplish the same thing. For - example, on a Red Hat Linux system one might find that -/etc/rc.d/init.d/postgresql stop - works. Another possibility is "pg_ctl stop". - 4. If you are installing in the same place as the old version then it - is also a good idea to move the old installation out of the way, - in case you have trouble and need to revert to it. Use a command - like this: -mv /usr/local/pgsql /usr/local/pgsql.old - - After you have installed PostgreSQL 7.3.1, create a new database - directory and start the new server. Remember that you must execute - these commands while logged in to the special database user account - (which you already have if you are upgrading). -/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data -/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data - - Finally, restore your data with -/usr/local/pgsql/bin/psql -d template1 -f outputfile - - using the *new* psql. - - These topics are discussed at length in the Administrator's Guide, - which you are encouraged to read in any case. - _________________________________________________________________ - - Installation Procedure - - 1. Configuration - The first step of the installation procedure is to configure the - source tree for your system and choose the options you would like. - This is done by running the "configure" script. For a default - installation simply enter -./configure - This script will run a number of tests to guess values for various - system dependent variables and detect some quirks of your - operating system, and finally will create several files in the - build tree to record what it found. (You can also run "configure" - in a directory outside the source tree if you want to keep the - build directory separate.) - The default configuration will build the server and utilities, as - well as all client applications and interfaces that require only a - C compiler. All files will be installed under "/usr/local/pgsql" - by default. - You can customize the build and installation process by supplying - one or more of the following command line options to "configure": - + PostgreSQL Installation Instructions + +This document describes the installation of PostgreSQL from the source code +distribution. + +------------------------------------------------------------------------------- + + Short Version + + ./configure + gmake + su + gmake install + adduser postgres + mkdir /usr/local/pgsql/data + chown postgres /usr/local/pgsql/data + su - postgres + /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data + /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 & + /usr/local/pgsql/bin/createdb test + /usr/local/pgsql/bin/psql test + +The long version is the rest of this document. + +------------------------------------------------------------------------------- + + Requirements + +In general, a modern Unix-compatible platform should be able to run PostgreSQL. +The platforms that had received specific testing at the time of release are +listed in the Section called Supported Platforms below. In the "doc" +subdirectory of the distribution there are several platform-specific FAQ +documents you might wish to consult if you are having trouble. +The following software packages are required for building PostgreSQL: + + * GNU make is required; other make programs will *not* work. GNU make is + often installed under the name "gmake"; this document will always refer + to it by that name. (On some systems GNU make is the default tool with + the name "make".) To test for GNU make enter + + gmake --version + + It is recommended to use version 3.76.1 or later. + + * You need an ISO/ANSI C compiler. Recent versions of GCC are + recommendable, but PostgreSQL is known to build with a wide variety of + compilers from different vendors. + + * gzip is needed to unpack the distribution in the first place. If you are + reading this, you probably already got past that hurdle. + + * The GNU Readline library (for comfortable line editing and command + history retrieval) will be used by default. If you don't want to use it + then you must specify the "--without-readline" option for "configure". + (On NetBSD, the "libedit" library is readline-compatible and is used if + "libreadline" is not found.) + + * To build on Windows NT or Windows 2000 you need the Cygwin and cygipc + packages. See the file "doc/FAQ_MSWIN" for details. + +The following packages are optional. They are not required in the default +configuration, but they are needed when certain build options are enabled, as +explained below. + + * To build the server programming language PL/Perl you need a full Perl + installation, including the "libperl" library and the header files. Since + PL/Perl will be a shared library, the "libperl" library must be a shared + library also on most platforms. This appears to be the default in recent + Perl versions, but it was not in earlier versions, and in general it is + the choice of whomever installed Perl at your site. + If you don't have the shared library but you need one, a message like + this will appear during the build to point out this fact: + + *** Cannot build PL/Perl because libperl is not a shared library. + *** You might have to rebuild your Perl installation. Refer to + *** the documentation for details. + + (If you don't follow the on-screen output you will merely notice that the + PL/Perl library object, "plperl.so" or similar, will not be installed.) + If you see this, you will have to rebuild and install Perl manually to be + able to build PL/Perl. During the configuration process for Perl, request + a shared library. + + * To build the Python interface module or the PL/Python server programming + language, you need a Python installation, including the header files. + Since PL/Python will be a shared library, the "libpython" library must be + a shared library also on most platforms. This is not the case in a + default Python installation. + If after building and installing you have a file called "plpython.so" + (possibly a different extension), then everything went well. Otherwise + you should have seen a notice like this flying by: + + *** Cannot build PL/Python because libpython is not a shared library. + *** You might have to rebuild your Python installation. Refer to + *** the documentation for details. + + That means you have to rebuild (part of) your Python installation to + supply this shared library. + The catch is that the Python distribution or the Python maintainers do + not provide any direct way to do this. The closest thing we can offer you + is the information in Python FAQ 3.30. On some operating systems you + don't really have to build a shared library, but then you will have to + convince the PostgreSQL build system of this. Consult the "Makefile" in + the "src/pl/plpython" directory for details. + + * If you want to build Tcl or Tk components (clients and the PL/Tcl + language) you of course need a Tcl installation. + + * To build the JDBC driver, you need Ant 1.5 or higher and a JDK. Ant is a + special tool for building Java-based packages. It can be downloaded from + the Ant web site. + If you have several Java compilers installed, it depends on the Ant + configuration which one gets used. Precompiled Ant distributions are + typically set up to read a file ".antrc" in the current user's home + directory for configuration. For example, to use a different JDK than the + default, this may work: + + JAVA_HOME=/usr/local/sun-jdk1.3 + JAVACMD=$JAVA_HOME/bin/java + + Note: Do not try to build the driver by calling "ant" or even + "javac" directly. This will not work. Run "gmake" normally as + described below. + + * To enable Native Language Support (NLS), that is, the ability to display + a program's messages in a language other than English, you need an + implementation of the Gettext API. Some operating systems have this + built-in (e.g., Linux, NetBSD, Solaris), for other systems you can + download an add-on package from here: http://www.postgresql.org/~petere/ + gettext.html. If you are using the gettext implementation in the GNU C + library then you will additionally need the GNU Gettext package for some + utility programs. For any of the other implementations you will not need + it. + + * Kerberos, OpenSSL, or PAM, if you want to support authentication using + these services. + +If you are build from a CVS tree instead of using a released source package, or +if you want to do development, you also need the following packages: + + * Flex and Bison are needed to build a CVS checkout or if you changed the + actual scanner and parser definition files. If you need them, be sure to + get Flex 2.5.4 or later and Bison 1.50 or later. Other yacc programs can + sometimes be used, but doing so requires extra effort and is not + recommended. Other lex programs will definitely not work. + +If you need to get a GNU package, you can find it at your local GNU mirror site +(see http://www.gnu.org/order/ftp.html for a list) or at ftp://ftp.gnu.org/ +gnu/. +Also check that you have sufficient disk space. You will need about 65 MB for +the source tree during compilation and about 15 MB for the installation +directory. An empty database cluster takes about 25 MB, databases take about +five times the amount of space that a flat text file with the same data would +take. If you are going to run the regression tests you will temporarily need up +to an extra 90 MB. Use the "df" command to check for disk space. + +------------------------------------------------------------------------------- + + If You Are Upgrading + +The internal data storage format changes with new releases of PostgreSQL. +Therefore, if you are upgrading an existing installation that does not have a +version number "7.3.x", you must back up and restore your data as shown here. +These instructions assume that your existing installation is under the "/usr/ +local/pgsql" directory, and that the data area is in "/usr/local/pgsql/data". +Substitute your paths appropriately. + + 1. Make sure that your database is not updated during or after the backup. + This does not affect the integrity of the backup, but the changed data + would of course not be included. If necessary, edit the permissions in + the file "/usr/local/pgsql/data/pg_hba.conf" (or equivalent) to disallow + access from everyone except you. + + 2. To back up your database installation, type: + + pg_dumpall > outputfile + + If you need to preserve OIDs (such as when using them as foreign keys), + then use the "-o" option when running "pg_dumpall". + "pg_dumpall" does not save large objects. Check the Administrator's Guide + if you need to do this. + To make the backup, you can use the "pg_dumpall" command from the version + you are currently running. For best results, however, try to use the + "pg_dumpall" command from PostgreSQL 7.3.1, since this version contains + bug fixes and improvements over older versions. While this advice might + seem idiosyncratic since you haven't installed the new version yet, it is + advisable to follow it if you plan to install the new version in parallel + with the old version. In that case you can complete the installation + normally and transfer the data later. This will also decrease the + downtime. + + 3. If you are installing the new version at the same location as the old one + then shut down the old server, at the latest before you install the new + files: + + kill -INT `cat /usr/local/pgsql/data/postmaster.pid` + + Versions prior to 7.0 do not have this "postmaster.pid" file. If you are + using such a version you must find out the process id of the server + yourself, for example by typing "ps ax | grep postmaster", and supply it + to the "kill" command. + On systems that have PostgreSQL started at boot time, there is probably a + start-up file that will accomplish the same thing. For example, on a Red + Hat Linux system one might find that + + /etc/rc.d/init.d/postgresql stop + + works. Another possibility is "pg_ctl stop". + + 4. If you are installing in the same place as the old version then it is + also a good idea to move the old installation out of the way, in case you + have trouble and need to revert to it. Use a command like this: + + mv /usr/local/pgsql /usr/local/pgsql.old + +After you have installed PostgreSQL 7.3.1, create a new database directory and +start the new server. Remember that you must execute these commands while +logged in to the special database user account (which you already have if you +are upgrading). + + /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data + /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data + +Finally, restore your data with + + /usr/local/pgsql/bin/psql -d template1 -f outputfile + +using the *new* psql. +These topics are discussed at length in the Administrator's Guide, which you +are encouraged to read in any case. + +------------------------------------------------------------------------------- + + Installation Procedure + + 1. Configuration + The first step of the installation procedure is to configure the source + tree for your system and choose the options you would like. This is done + by running the "configure" script. For a default installation simply + enter + + ./configure + + This script will run a number of tests to guess values for various system + dependent variables and detect some quirks of your operating system, and + finally will create several files in the build tree to record what it + found. (You can also run "configure" in a directory outside the source + tree if you want to keep the build directory separate.) + The default configuration will build the server and utilities, as well as + all client applications and interfaces that require only a C compiler. + All files will be installed under "/usr/local/pgsql" by default. + You can customize the build and installation process by supplying one or + more of the following command line options to "configure": + --prefix=PREFIX - Install all files under the directory "PREFIX" instead of - "/usr/local/pgsql". The actual files will be installed - into various subdirectories; no files will ever be - installed directly into the "PREFIX" directory. - - If you have special needs, you can also customize the - individual subdirectories with the following options. - + + Install all files under the directory "PREFIX" instead of "/usr/ + local/pgsql". The actual files will be installed into various + subdirectories; no files will ever be installed directly into the + "PREFIX" directory. + If you have special needs, you can also customize the individual + subdirectories with the following options. + --exec-prefix=EXEC-PREFIX - You can install architecture-dependent files under a - different prefix, "EXEC-PREFIX", than what "PREFIX" was - set to. This can be useful to share - architecture-independent files between hosts. If you omit - this, then "EXEC-PREFIX" is set equal to "PREFIX" and - both architecture-dependent and independent files will be - installed under the same tree, which is probably what you - want. - + + You can install architecture-dependent files under a different + prefix, "EXEC-PREFIX", than what "PREFIX" was set to. This can be + useful to share architecture-independent files between hosts. If + you omit this, then "EXEC-PREFIX" is set equal to "PREFIX" and both + architecture-dependent and independent files will be installed + under the same tree, which is probably what you want. + --bindir=DIRECTORY - Specifies the directory for executable programs. The - default is "EXEC-PREFIX/bin", which normally means - "/usr/local/pgsql/bin". - + + Specifies the directory for executable programs. The default is + "EXEC-PREFIX/bin", which normally means "/usr/local/pgsql/bin". + --datadir=DIRECTORY - Sets the directory for read-only data files used by the - installed programs. The default is "PREFIX/share". Note - that this has nothing to do with where your database - files will be placed. - + + Sets the directory for read-only data files used by the installed + programs. The default is "PREFIX/share". Note that this has nothing + to do with where your database files will be placed. + --sysconfdir=DIRECTORY - The directory for various configuration files, - "PREFIX/etc" by default. - + + The directory for various configuration files, "PREFIX/etc" by + default. + --libdir=DIRECTORY - The location to install libraries and dynamically - loadable modules. The default is "EXEC-PREFIX/lib". - + + The location to install libraries and dynamically loadable modules. + The default is "EXEC-PREFIX/lib". + --includedir=DIRECTORY - The directory for installing C and C++ header files. The - default is "PREFIX/include". - + + The directory for installing C and C++ header files. The default is + "PREFIX/include". + --docdir=DIRECTORY - Documentation files, except "man" pages, will be - installed into this directory. The default is - "PREFIX/doc". - + + Documentation files, except "man" pages, will be installed into + this directory. The default is "PREFIX/doc". + --mandir=DIRECTORY - The man pages that come with PostgreSQL will be installed - under this directory, in their respective "manx" - subdirectories. The default is "PREFIX/man". - - Note: Care has been taken to make it possible to install PostgreSQL - into shared installation locations (such as "/usr/local/include") - without interfering with the namespace of the rest of the system. - First, the string "/postgresql" is automatically appended to - datadir, sysconfdir, and docdir, unless the fully expanded - directory name already contains the string "postgres" or "pgsql". - For example, if you choose "/usr/local" as prefix, the - documentation will be installed in "/usr/local/doc/postgresql", but - if the prefix is "/opt/postgres", then it will be in - "/opt/postgres/doc". The public C header files of the client - interfaces are installed into includedir and are namespace-clean. - The internal header files and the server header files are installed - into private directories under includedir. See the Programmer's - Guide for information about how to get at the header files for each - interface. Finally, a private subdirectory will also be created, if - appropriate, under libdir for dynamically loadable modules. - + + The man pages that come with PostgreSQL will be installed under + this directory, in their respective "manx" subdirectories. The + default is "PREFIX/man". + Note: Care has been taken to make it possible to install + PostgreSQL into shared installation locations (such as "/usr/ + local/include") without interfering with the namespace of the + rest of the system. First, the string "/postgresql" is + automatically appended to datadir, sysconfdir, and docdir, + unless the fully expanded directory name already contains the + string "postgres" or "pgsql". For example, if you choose "/usr/ + local" as prefix, the documentation will be installed in "/usr/ + local/doc/postgresql", but if the prefix is "/opt/postgres", + then it will be in "/opt/postgres/doc". The public C header + files of the client interfaces are installed into includedir + and are namespace-clean. The internal header files and the + server header files are installed into private directories + under includedir. See the Programmer's Guide for information + about how to get at the header files for each interface. + Finally, a private subdirectory will also be created, if + appropriate, under libdir for dynamically loadable modules. + --with-includes=DIRECTORIES - "DIRECTORIES" is a colon-separated list of directories - that will be added to the list the compiler searches for - header files. If you have optional packages (such as GNU - Readline) installed in a non-standard location, you have - to use this option and probably also the corresponding - "--with-libraries" option. - - Example: - --with-includes=/opt/gnu/include:/usr/sup/include. - + + "DIRECTORIES" is a colon-separated list of directories that will be + added to the list the compiler searches for header files. If you + have optional packages (such as GNU Readline) installed in a non- + standard location, you have to use this option and probably also + the corresponding "--with-libraries" option. + Example: --with-includes=/opt/gnu/include:/usr/sup/include. + --with-libraries=DIRECTORIES - "DIRECTORIES" is a colon-separated list of directories to - search for libraries. You will probably have to use this - option (and the corresponding "--with-includes" option) - if you have packages installed in non-standard locations. - - Example: --with-libraries=/opt/gnu/lib:/usr/sup/lib. - + + "DIRECTORIES" is a colon-separated list of directories to search + for libraries. You will probably have to use this option (and the + corresponding "--with-includes" option) if you have packages + installed in non-standard locations. + Example: --with-libraries=/opt/gnu/lib:/usr/sup/lib. + --enable-recode - Enables single-byte character set recode support. See the - Administrator's Guide about this feature. Note that a - more general form of character set conversion is - supported in the default configuration; this feature is - obsolete. - + + Enables single-byte character set recode support. See the + Administrator's Guide about this feature. Note that a more general + form of character set conversion is supported in the default + configuration; this feature is obsolete. + --enable-nls[=LANGUAGES] - Enables Native Language Support (NLS), that is, the - ability to display a program's messages in a language - other than English. "LANGUAGES" is a space separated list - of codes of the languages that you want supported, for - example --enable-nls='de fr'. (The intersection between - your list and the set of actually provided translations - will be computed automatically.) If you do not specify a - list, then all available translations are installed. - - To use this option, you will need an implementation of - the gettext API; see above. - + + Enables Native Language Support (NLS), that is, the ability to + display a program's messages in a language other than English. + "LANGUAGES" is a space separated list of codes of the languages + that you want supported, for example --enable-nls='de fr'. (The + intersection between your list and the set of actually provided + translations will be computed automatically.) If you do not specify + a list, then all available translations are installed. + To use this option, you will need an implementation of the gettext + API; see above. + --with-pgport=NUMBER - Set "NUMBER" as the default port number for server and - clients. The default is 5432. The port can always be - changed later on, but if you specify it here then both - server and clients will have the same default compiled - in, which can be very convenient. Usually the only good - reason to select a non-default value is if you intend to - run multiple PostgreSQL servers on the same machine. - + + Set "NUMBER" as the default port number for server and clients. The + default is 5432. The port can always be changed later on, but if + you specify it here then both server and clients will have the same + default compiled in, which can be very convenient. Usually the only + good reason to select a non-default value is if you intend to run + multiple PostgreSQL servers on the same machine. + --with-perl - Build the PL/Perl server-side language. - + + Build the PL/Perl server-side language. + --with-python - Build the Python interface module and the PL/Python - server-side language. You need to have root access to be - able to install the Python module at its default place - ("/usr/lib/pythonx.y"). - + + Build the Python interface module and the PL/Python server-side + language. You need to have root access to be able to install the + Python module at its default place ("/usr/lib/pythonx.y"). + --with-tcl - Build components that require Tcl/Tk, which are libpgtcl, - pgtclsh, pgtksh, and PL/Tcl. But see below about - "--without-tk". - + + Build components that require Tcl/Tk, which are libpgtcl, pgtclsh, + pgtksh, and PL/Tcl. But see below about "--without-tk". + --without-tk - If you specify "--with-tcl" and this option, then the - program that requires Tk (pgtksh) will be excluded. - + + If you specify "--with-tcl" and this option, then the program that + requires Tk (pgtksh) will be excluded. + --with-tclconfig=DIRECTORY, --with-tkconfig=DIRECTORY - Tcl/Tk installs the files "tclConfig.sh" and - "tkConfig.sh", which contain configuration information - needed to build modules interfacing to Tcl or Tk. These - files are normally found automatically at their - well-known locations, but if you want to use a different - version of Tcl or Tk you can specify the directory in - which to find them. - + + Tcl/Tk installs the files "tclConfig.sh" and "tkConfig.sh", which + contain configuration information needed to build modules + interfacing to Tcl or Tk. These files are normally found + automatically at their well-known locations, but if you want to use + a different version of Tcl or Tk you can specify the directory in + which to find them. + --with-java - Build the JDBC driver and associated Java packages. - + + Build the JDBC driver and associated Java packages. + --with-krb4[=DIRECTORY], --with-krb5[=DIRECTORY] - Build with support for Kerberos authentication. You can - use either Kerberos version 4 or 5, but not both. The - "DIRECTORY" argument specifies the root directory of the - Kerberos installation; "/usr/athena" is assumed as - default. If the relevant header files and libraries are - not under a common parent directory, then you must use - the "--with-includes" and "--with-libraries" options in - addition to this option. If, on the other hand, the - required files are in a location that is searched by - default (e.g., "/usr/lib"), then you can leave off the - argument. - - "configure" will check for the required header files and - libraries to make sure that your Kerberos installation is - sufficient before proceeding. - + + Build with support for Kerberos authentication. You can use either + Kerberos version 4 or 5, but not both. The "DIRECTORY" argument + specifies the root directory of the Kerberos installation; "/usr/ + athena" is assumed as default. If the relevant header files and + libraries are not under a common parent directory, then you must + use the "--with-includes" and "--with-libraries" options in + addition to this option. If, on the other hand, the required files + are in a location that is searched by default (e.g., "/usr/lib"), + then you can leave off the argument. + "configure" will check for the required header files and libraries + to make sure that your Kerberos installation is sufficient before + proceeding. + --with-krb-srvnam=NAME - The name of the Kerberos service principal. postgres is - the default. There's probably no reason to change this. - + + The name of the Kerberos service principal. postgres is the + default. There's probably no reason to change this. + --with-openssl[=DIRECTORY] - Build with support for SSL (encrypted) connections. This - requires the OpenSSL package to be installed. The - "DIRECTORY" argument specifies the root directory of the - OpenSSL installation; the default is "/usr/local/ssl". - - "configure" will check for the required header files and - libraries to make sure that your OpenSSL installation is - sufficient before proceeding. - + + Build with support for SSL (encrypted) connections. This requires + the OpenSSL package to be installed. The "DIRECTORY" argument + specifies the root directory of the OpenSSL installation; the + default is "/usr/local/ssl". + "configure" will check for the required header files and libraries + to make sure that your OpenSSL installation is sufficient before + proceeding. + --with-pam - Build with PAM (Pluggable Authentication Modules) - support. - + + Build with PAM (Pluggable Authentication Modules) support. + --without-readline - Prevents the use of the Readline library. This disables - command-line editing and history in psql, so it is not - recommended. - + + Prevents the use of the Readline library. This disables command- + line editing and history in psql, so it is not recommended. + --without-zlib - Prevents the use of the Zlib library. This disables - compression support in pg_dump. This option is only - intended for those rare systems where this library is not - available. - + + Prevents the use of the Zlib library. This disables compression + support in pg_dump. This option is only intended for those rare + systems where this library is not available. + --enable-debug - Compiles all programs and libraries with debugging - symbols. This means that you can run the programs through - a debugger to analyze problems. This enlarges the size of - the installed executables considerably, and on non-GCC - compilers it usually also disables compiler optimization, - causing slowdowns. However, having the symbols available - is extremely helpful for dealing with any problems that - may arise. Currently, this option is recommended for - production installations only if you use GCC. But you - should always have it on if you are doing development - work or running a beta version. - + + Compiles all programs and libraries with debugging symbols. This + means that you can run the programs through a debugger to analyze + problems. This enlarges the size of the installed executables + considerably, and on non-GCC compilers it usually also disables + compiler optimization, causing slowdowns. However, having the + symbols available is extremely helpful for dealing with any + problems that may arise. Currently, this option is recommended for + production installations only if you use GCC. But you should always + have it on if you are doing development work or running a beta + version. + --enable-cassert - Enables assertion checks in the server, which test for - many "can't happen" conditions. This is invaluable for - code development purposes, but the tests slow things down - a little. Also, having the tests turned on won't - necessarily enhance the stability of your server! The - assertion checks are not categorized for severity, and so - what might be a relatively harmless bug will still lead - to server restarts if it triggers an assertion failure. - Currently, this option is not recommended for production - use, but you should have it on for development work or - when running a beta version. - + + Enables assertion checks in the server, which test for many "can't + happen" conditions. This is invaluable for code development + purposes, but the tests slow things down a little. Also, having the + tests turned on won't necessarily enhance the stability of your + server! The assertion checks are not categorized for severity, and + so what might be a relatively harmless bug will still lead to + server restarts if it triggers an assertion failure. Currently, + this option is not recommended for production use, but you should + have it on for development work or when running a beta version. + --enable-depend - Enables automatic dependency tracking. With this option, - the makefiles are set up so that all affected object - files will be rebuilt when any header file is changed. - This is useful if you are doing development work, but is - just wasted overhead if you intend only to compile once - and install. At present, this option will work only if - you use GCC. - - If you prefer a C compiler different from the one "configure" - picks then you can set the environment variable CC to the program - of your choice. By default, "configure" will pick "gcc" unless - this is inappropriate for the platform. Similarly, you can - override the default compiler flags with the CFLAGS variable. - You can specify environment variables on the "configure" command - line, for example: -./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe' - 2. Build - To start the build, type -gmake - (Remember to use GNU make.) The build may take anywhere from 5 - minutes to half an hour depending on your hardware. The last line - displayed should be -All of PostgreSQL is successfully made. Ready to install. - 3. Regression Tests - If you want to test the newly built server before you install it, - you can run the regression tests at this point. The regression - tests are a test suite to verify that PostgreSQL runs on your - machine in the way the developers expected it to. Type -gmake check - (This won't work as root; do it as an unprivileged user.) It is - possible that some tests fail, due to differences in error message - wording or floating point results. The file - "src/test/regress/README" and the Administrator's Guide contain - detailed information about interpreting the test results. You can - repeat this test at any later time by issuing the same command. - 4. Installing The Files - - Note: If you are upgrading an existing system and are going to - install the new files over the old ones, then you should have - backed up your data and shut down the old server by now, as - explained in the section called If You Are Upgrading above. - To install PostgreSQL enter -gmake install - This will install files into the directories that were specified - in step 1. Make sure that you have appropriate permissions to - write into that area. Normally you need to do this step as root. - Alternatively, you could create the target directories in advance - and arrange for appropriate permissions to be granted. - You can use gmake install-strip instead of gmake install to strip - the executable files and libraries as they are installed. This - will save some space. If you built with debugging support, - stripping will effectively remove the debugging support, so it - should only be done if debugging is no longer needed. - install-strip tries to do a reasonable job saving space, but it - does not have perfect knowledge of how to strip every unneeded - byte from an executable file, so if you want to save all the disk - space you possibly can, you will have to do manual work. - If you built the Python interfaces and you were not the root user - when you executed the above command then that part of the - installation probably failed. In that case you should become the - root user and then do -gmake -C src/interfaces/python install - If you do not have superuser access you are on your own: you can - still take the required files and place them in other directories - where Python can find them, but how to do that is left as an - exercise. - The standard installation provides only the header files needed - for client application development. If you plan to do any - server-side program development (such as custom functions or data - types written in C), then you may want to install the entire - PostgreSQL include tree into your target include directory. To do - that, enter -gmake install-all-headers - This adds a megabyte or two to the installation footprint, and is - only useful if you don't plan to keep the whole source tree around - for reference. (If you do, you can just use the source's include - directory when building server-side software.) - Client-only installation: If you want to install only the client - applications and interface libraries, then you can use these - commands: -gmake -C src/bin install -gmake -C src/include install -gmake -C src/interfaces install -gmake -C doc install - - Uninstallation: To undo the installation use the command "gmake - uninstall". However, this will not remove any created directories. - - Cleaning: After the installation you can make room by removing the - built files from the source tree with the command "gmake clean". This - will preserve the files made by the configure program, so that you can - rebuild everything with "gmake" later on. To reset the source tree to - the state in which it was distributed, use "gmake distclean". If you - are going to build for several platforms from the same source tree you - must do this and re-configure for each build. - - If you perform a build and then discover that your configure options - were wrong, or if you change anything that configure investigates (for - example, software upgrades), then it's a good idea to do "gmake - distclean" before reconfiguring and rebuilding. Without this, your - changes in configuration choices may not propagate everywhere they - need to. - _________________________________________________________________ - - Post-Installation Setup - - Shared Libraries - - On some systems that have shared libraries (which most systems do) you - need to tell your system how to find the newly installed shared - libraries. The systems on which this is *not* necessary include - BSD/OS, FreeBSD, HP-UX, IRIX, Linux, NetBSD, OpenBSD, Tru64 UNIX - (formerly Digital UNIX), and Solaris. - - The method to set the shared library search path varies between - platforms, but the most widely usable method is to set the environment - variable LD_LIBRARY_PATH like so: In Bourne shells ("sh", "ksh", - "bash", "zsh") -LD_LIBRARY_PATH=/usr/local/pgsql/lib -export LD_LIBRARY_PATH - - or in "csh" or "tcsh" -setenv LD_LIBRARY_PATH /usr/local/pgsql/lib - - Replace /usr/local/pgsql/lib with whatever you set "--libdir" to in - step 1. You should put these commands into a shell start-up file such - as "/etc/profile" or "~/.bash_profile". Some good information about - the caveats associated with this method can be found at - http://www.visi.com/~barr/ldpath.html. - - On some systems it might be preferable to set the environment variable - LD_RUN_PATH *before* building. - - On Cygwin, put the library directory in the PATH or move the ".dll" - files into the "bin/" directory. - - If in doubt, refer to the manual pages of your system (perhaps "ld.so" - or "rld"). If you later on get a message like -psql: error in loading shared libraries -libpq.so.2.1: cannot open shared object file: No such file or directory - - then this step was necessary. Simply take care of it then. - - If you are on BSD/OS, Linux, or SunOS 4 and you have root access you - can run -/sbin/ldconfig /usr/local/pgsql/lib - - (or equivalent directory) after installation to enable the run-time - linker to find the shared libraries faster. Refer to the manual page - of "ldconfig" for more information. On FreeBSD, NetBSD, and OpenBSD - the command is -/sbin/ldconfig -m /usr/local/pgsql/lib - - instead. Other systems are not known to have an equivalent command. - _________________________________________________________________ - - Environment Variables - - If you installed into "/usr/local/pgsql" or some other location that - is not searched for programs by default, you should add - "/usr/local/pgsql/bin" (or whatever you set "--bindir" to in step 1) - into your PATH. Strictly speaking, this is not necessary, but it will - make the use of PostgreSQL much more convenient. - - To do this, add the following to your shell start-up file, such as - "~/.bash_profile" (or "/etc/profile", if you want it to affect every - user): -PATH=/usr/local/pgsql/bin:$PATH -export PATH - - If you are using "csh" or "tcsh", then use this command: -set path = ( /usr/local/pgsql/bin $path ) - - To enable your system to find the man documentation, you need to add a - line like the following to a shell start-up file unless you installed - into a location that is searched by default. -MANPATH=/usr/local/pgsql/man:$MANPATH -export MANPATH - - The environment variables PGHOST and PGPORT specify to client - applications the host and port of the database server, overriding the - compiled-in defaults. If you are going to run client applications - remotely then it is convenient if every user that plans to use the - database sets PGHOST. This is not required, however: the settings can - be communicated via command line options to most client programs. - _________________________________________________________________ - - Getting Started - - The following is a quick summary of how to get PostgreSQL up and - running once installed. The Administrator's Guide contains more - information. - 1. Create a user account for the PostgreSQL server. This is the user - the server will run as. For production use you should create a - separate, unprivileged account ("postgres" is commonly used). If - you do not have root access or just want to play around, your own - user account is enough, but running the server as root is a - security risk and will not work. -adduser postgres - 2. Create a database installation with the "initdb" command. To run - "initdb" you must be logged in to your PostgreSQL server account. - It will not work as root. -root# mkdir /usr/local/pgsql/data -root# chown postgres /usr/local/pgsql/data -root# su - postgres -postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data - The "-D" option specifies the location where the data will be - stored. You can use any path you want, it does not have to be - under the installation directory. Just make sure that the server - account can write to the directory (or create it, if it doesn't - already exist) before starting "initdb", as illustrated here. - 3. The previous step should have told you how to start up the - database server. Do so now. The command should look something like -/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data - This will start the server in the foreground. To put the server in - the background use something like -nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \ - </dev/null >>server.log 2>&1 </dev/null & - To stop a server running in the background you can type -kill `cat /usr/local/pgsql/data/postmaster.pid` - In order to allow TCP/IP connections (rather than only Unix domain - socket ones) you need to pass the "-i" option to "postmaster". - 4. Create a database: -createdb testdb - Then enter -psql testdb - to connect to that database. At the prompt you can enter SQL - commands and start experimenting. - _________________________________________________________________ - - What Now? - - * The PostgreSQL distribution contains a comprehensive documentation - set, which you should read sometime. After installation, the - documentation can be accessed by pointing your browser to - "/usr/local/pgsql/doc/html/index.html", unless you changed the - installation directories. - The Tutorial should be your first reading if you are completely - new to SQL databases. If you are familiar with database concepts - then you want to proceed with the Administrator's Guide, which - contains information about how to set up the database server, - database users, and authentication. - * Usually, you will want to modify your computer so that it will - automatically start the database server whenever it boots. Some - suggestions for this are in the Administrator's Guide. - * Run the regression tests against the installed server (using the - sequential test method). If you didn't run the tests before - installation, you should definitely do it now. This is also - explained in the Administrator's Guide. - _________________________________________________________________ - - Supported Platforms - - PostgreSQL has been verified by the developer community to work on the - platforms listed below. A supported platform generally means that - PostgreSQL builds and installs according to these instructions and - that the regression tests pass. - - Note: If you are having problems with the installation on a - supported platform, please write to <pgsql-bugs@postgresql.org> or - <pgsql-ports@postgresql.org>, not to the people listed here. - - OS Processor Version Reported Remarks - AIX RS6000 7.3 2002-11-12, Andreas Zeugswetter - (<ZeugswetterA@spardat.at>) see also doc/FAQ_AIX - BSD/OS x86 7.3 2002-10-25, Bruce Momjian (<pgman@candle.pha.pa.us>) - 4.2 - FreeBSD Alpha 7.3 2002-11-13, Chris Kings-Lynne - (<chriskl@familyhealth.com.au>) - FreeBSD x86 7.3 2002-10-29, 3.3, Nigel J. Andrews - (<nandrews@investsystems.co.uk>), 4.7, Larry Rosenman - (<ler@lerctr.org>), 5.0, Sean Chittenden (<sean@chittenden.org>) - HP-UX PA-RISC 7.3 2002-10-28, 10.20 Tom Lane (<tgl@sss.pgh.pa.us>), - 11.00, 11.11, 32 & 64 bit, Giles Lean (<giles@nemeton.com.au>) gcc and - cc; see also doc/FAQ_HPUX - IRIX MIPS 7.3 2002-10-27, Ian Barwick (<barwick@gmx.net>) Irix64 Komma - 6.5 - Linux Alpha 7.3 2002-10-28, Magnus Naeslund (<mag@fbab.net>) - 2.4.19-pre6 - Linux armv4l 7.2 2001-12-10, Mark Knox (<segfault@hardline.org>) 2.2.x - Linux MIPS 7.2 2001-11-15, Hisao Shibuya (<shibuya@alpha.or.jp>) - 2.0.x; Cobalt Qube2 - Linux PlayStation 2 7.3 2002-11-19, Permaine Cheung - <pcheung@redhat.com>) #undef HAS_TEST_AND_SET, remove slock_t typedef - Linux PPC74xx 7.3 2002-10-26, Tom Lane (<tgl@sss.pgh.pa.us>) bye - 2.2.18; Apple G3 - Linux S/390 7.3 2002-11-22, Permaine Cheung <pcheung@redhat.com>) both - s390 and s390x (32 and 64 bit) - Linux Sparc 7.3 2002-10-26, Doug McNaught (<doug@mcnaught.org>) 3.0 - Linux x86 7.3 2002-10-26, Alvaro Herrera (<alvherre@dcc.uchile.cl>) - 2.4 - MacOS X PPC 7.3 2002-10-28, 10.1, Tom Lane (<tgl@sss.pgh.pa.us>), - 10.2.1, Adam Witney (<awitney@sghms.ac.uk>) - NetBSD Alpha 7.2 2001-11-20, Thomas Thai (<tom@minnesota.com>) 1.5W - NetBSD arm32 7.3 2002-11-19, Patrick Welche (<prlw1@newn.cam.ac.uk>) - 1.6 - NetBSD m68k 7.0 2000-04-10, Henry B. Hotz (<hotz@jpl.nasa.gov>) Mac - 8xx - NetBSD MIPS 7.2.1 2002-06-13, Warwick Hunter (<whunter@agile.tv>) - 1.5.3 - NetBSD PPC 7.2 2001-11-28, Bill Studenmund (<wrstuden@netbsd.org>) 1.5 - NetBSD Sparc 7.2 2001-12-03, Matthew Green (<mrg@eterna.com.au>) 32- - and 64-bit builds - NetBSD VAX 7.1 2001-03-30, Tom I. Helbekkmo (<tih@kpnQwest.no>) 1.5 - NetBSD x86 7.3 2002-11-14, Patrick Welche (<prlw1@newn.cam.ac.uk>) 1.6 - OpenBSD Sparc 7.3 2002-11-17, Christopher Kings-Lynne - (<chriskl@familyhealth.com.au>) 3.2 - OpenBSD x86 7.3 2002-11-14, 3.1 Magnus Naeslund (<mag@fbab.net>), 3.2 - Christopher Kings-Lynne (<chriskl@familyhealth.com.au>) - SCO OpenServer 5 x86 7.3.1 2002-12-11, Shibashish Satpathy - (<shib@postmark.net>) 5.0.4, gcc; see also doc/FAQ_SCO - Solaris Sparc 7.3 2002-10-28, Andrew Sullivan - (<andrew@libertyrms.info>) Solaris 7 & 8; see also doc/FAQ_Solaris - Solaris x86 7.3 2002-11-20, Martin Renters (<martin@datafax.com>) 5.8; - see also doc/FAQ_Solaris - SunOS 4 Sparc 7.2 2001-12-04, Tatsuo Ishii (<t-ishii@sra.co.jp>) - Tru64 UNIX Alpha 7.3 2002-11-05, Alessio Bragadini - (<alessio@albourne.com>) - UnixWare x86 7.3 2002-11-01, 7.1.3 Larry Rosenman (<ler@lerctr.org>), - 7.1.1 and 7.1.2(8.0.0) Olivier Prenant (<ohp@pyrenet.fr>) see also - doc/FAQ_SCO - Windows x86 7.3 2002-10-29, Dave Page (<dpage@vale-housing.co.uk>), - Jason Tishler (<jason@tishler.net>) with Cygwin; see doc/FAQ_MSWIN - Windows x86 7.3 2002-11-05, Dave Page (<dpage@vale-housing.co.uk>) - native is client-side only; see Administrator's Guide - - Unsupported Platforms: The following platforms are either known not to - work, or they used to work in a previous release and we did not - receive explicit confirmation of a successful test with version 7.3 at - the time this list was compiled. We include these here to let you know - that these platforms *could* be supported if given some attention. - - OS Processor Version Reported Remarks - BeOS x86 7.2 2001-11-29, Cyril Velter (<cyril.velter@libertysurf.fr>) - needs updates to semaphore code - DG/UX 5.4R4.11 m88k 6.3 1998-03-01, Brian E Gallew (<geek+@cmu.edu>) - no recent reports - MkLinux DR1 PPC750 7.0 2001-04-03, Tatsuo Ishii (<t-ishii@sra.co.jp>) - 7.1 needs OS update? - NeXTSTEP x86 6.x 1998-03-01, David Wetzel (<dave@turbocat.de>) bit rot - suspected - QNX 4 RTOS x86 7.2 2001-12-10, Bernd Tegge (<tegge@repas-aeg.de>) - needs updates to semaphore code; see also doc/FAQ_QNX4 - QNX RTOS v6 x86 7.2 2001-11-20, Igor Kovalenko - (<Igor.Kovalenko@motorola.com>) patches available in archives, but too - late for 7.2 - System V R4 m88k 6.2.1 1998-03-01, Doug Winterburn - (<dlw@seavme.xroads.com>) needs new TAS spinlock code - System V R4 MIPS 6.4 1998-10-28, Frank Ridderbusch - (<ridderbusch.pad@sni.de>) no recent reports - Ultrix MIPS 7.1 2001-03-26 TAS spinlock code not detected - Ultrix VAX 6.x 1998-03-01 + + Enables automatic dependency tracking. With this option, the + makefiles are set up so that all affected object files will be + rebuilt when any header file is changed. This is useful if you are + doing development work, but is just wasted overhead if you intend + only to compile once and install. At present, this option will work + only if you use GCC. + + If you prefer a C compiler different from the one "configure" picks then + you can set the environment variable CC to the program of your choice. By + default, "configure" will pick "gcc" unless this is inappropriate for the + platform. Similarly, you can override the default compiler flags with the + CFLAGS variable. + + You can specify environment variables on the "configure" command line, + for example: + + ./configure CC=/opt/bin/gcc CFLAGS='-O2 -pipe' + + 2. Build + To start the build, type + + gmake + + (Remember to use GNU make.) The build may take anywhere from 5 minutes to + half an hour depending on your hardware. The last line displayed should + be + + All of PostgreSQL is successfully made. Ready to install. + + 3. Regression Tests + If you want to test the newly built server before you install it, you can + run the regression tests at this point. The regression tests are a test + suite to verify that PostgreSQL runs on your machine in the way the + developers expected it to. Type + + gmake check + + (This won't work as root; do it as an unprivileged user.) It is possible + that some tests fail, due to differences in error message wording or + floating point results. The file "src/test/regress/README" and the + Administrator's Guide contain detailed information about interpreting the + test results. You can repeat this test at any later time by issuing the + same command. + + 4. Installing The Files + Note: If you are upgrading an existing system and are going to + install the new files over the old ones, then you should have + backed up your data and shut down the old server by now, as + explained in the Section called If You Are Upgrading above. + To install PostgreSQL enter + + gmake install + + This will install files into the directories that were specified in step + 1. Make sure that you have appropriate permissions to write into that + area. Normally you need to do this step as root. Alternatively, you could + create the target directories in advance and arrange for appropriate + permissions to be granted. + You can use gmake install-strip instead of gmake install to strip the + executable files and libraries as they are installed. This will save some + space. If you built with debugging support, stripping will effectively + remove the debugging support, so it should only be done if debugging is + no longer needed. install-strip tries to do a reasonable job saving + space, but it does not have perfect knowledge of how to strip every + unneeded byte from an executable file, so if you want to save all the + disk space you possibly can, you will have to do manual work. + If you built the Python interfaces and you were not the root user when + you executed the above command then that part of the installation + probably failed. In that case you should become the root user and then do + + gmake -C src/interfaces/python install + + If you do not have superuser access you are on your own: you can still + take the required files and place them in other directories where Python + can find them, but how to do that is left as an exercise. + The standard installation provides only the header files needed for + client application development. If you plan to do any server-side program + development (such as custom functions or data types written in C), then + you may want to install the entire PostgreSQL include tree into your + target include directory. To do that, enter + + gmake install-all-headers + + This adds a megabyte or two to the installation footprint, and is only + useful if you don't plan to keep the whole source tree around for + reference. (If you do, you can just use the source's include directory + when building server-side software.) + Client-only installation: If you want to install only the client + applications and interface libraries, then you can use these commands: + + gmake -C src/bin install + gmake -C src/include install + gmake -C src/interfaces install + gmake -C doc install + +Uninstallation: To undo the installation use the command "gmake uninstall". +However, this will not remove any created directories. +Cleaning: After the installation you can make room by removing the built files +from the source tree with the command "gmake clean". This will preserve the +files made by the configure program, so that you can rebuild everything with +"gmake" later on. To reset the source tree to the state in which it was +distributed, use "gmake distclean". If you are going to build for several +platforms from the same source tree you must do this and re-configure for each +build. +If you perform a build and then discover that your configure options were +wrong, or if you change anything that configure investigates (for example, +software upgrades), then it's a good idea to do "gmake distclean" before +reconfiguring and rebuilding. Without this, your changes in configuration +choices may not propagate everywhere they need to. + +------------------------------------------------------------------------------- + + Post-Installation Setup + +Shared Libraries + +On some systems that have shared libraries (which most systems do) you need to +tell your system how to find the newly installed shared libraries. The systems +on which this is *not* necessary include BSD/OS, FreeBSD, HP-UX, IRIX, Linux, +NetBSD, OpenBSD, Tru64 UNIX (formerly Digital UNIX), and Solaris. +The method to set the shared library search path varies between platforms, but +the most widely usable method is to set the environment variable +LD_LIBRARY_PATH like so: In Bourne shells ("sh", "ksh", "bash", "zsh") + + LD_LIBRARY_PATH=/usr/local/pgsql/lib + export LD_LIBRARY_PATH + +or in "csh" or "tcsh" + + setenv LD_LIBRARY_PATH /usr/local/pgsql/lib + +Replace /usr/local/pgsql/lib with whatever you set "--libdir" to in step 1. You +should put these commands into a shell start-up file such as "/etc/profile" or +"~/.bash_profile". Some good information about the caveats associated with this +method can be found at http://www.visi.com/~barr/ldpath.html. +On some systems it might be preferable to set the environment variable +LD_RUN_PATH *before* building. +On Cygwin, put the library directory in the PATH or move the ".dll" files into +the "bin/" directory. +If in doubt, refer to the manual pages of your system (perhaps "ld.so" or +"rld"). If you later on get a message like + + psql: error in loading shared libraries + libpq.so.2.1: cannot open shared object file: No such file or directory + +then this step was necessary. Simply take care of it then. +If you are on BSD/OS, Linux, or SunOS 4 and you have root access you can run + + /sbin/ldconfig /usr/local/pgsql/lib + +(or equivalent directory) after installation to enable the run-time linker to +find the shared libraries faster. Refer to the manual page of "ldconfig" for +more information. On FreeBSD, NetBSD, and OpenBSD the command is + + /sbin/ldconfig -m /usr/local/pgsql/lib + +instead. Other systems are not known to have an equivalent command. + +------------------------------------------------------------------------------- + +Environment Variables + +If you installed into "/usr/local/pgsql" or some other location that is not +searched for programs by default, you should add "/usr/local/pgsql/bin" (or +whatever you set "--bindir" to in step 1) into your PATH. Strictly speaking, +this is not necessary, but it will make the use of PostgreSQL much more +convenient. +To do this, add the following to your shell start-up file, such as +"~/.bash_profile" (or "/etc/profile", if you want it to affect every user): + + PATH=/usr/local/pgsql/bin:$PATH + export PATH + +If you are using "csh" or "tcsh", then use this command: + + set path = ( /usr/local/pgsql/bin $path ) + +To enable your system to find the man documentation, you need to add a line +like the following to a shell start-up file unless you installed into a +location that is searched by default. + + MANPATH=/usr/local/pgsql/man:$MANPATH + export MANPATH + +The environment variables PGHOST and PGPORT specify to client applications the +host and port of the database server, overriding the compiled-in defaults. If +you are going to run client applications remotely then it is convenient if +every user that plans to use the database sets PGHOST. This is not required, +however: the settings can be communicated via command line options to most +client programs. + +------------------------------------------------------------------------------- + + Getting Started + +The following is a quick summary of how to get PostgreSQL up and running once +installed. The Administrator's Guide contains more information. + + 1. Create a user account for the PostgreSQL server. This is the user the + server will run as. For production use you should create a separate, + unprivileged account ("postgres" is commonly used). If you do not have + root access or just want to play around, your own user account is enough, + but running the server as root is a security risk and will not work. + + adduser postgres + + 2. Create a database installation with the "initdb" command. To run "initdb" + you must be logged in to your PostgreSQL server account. It will not work + as root. + + root# mkdir /usr/local/pgsql/data + root# chown postgres /usr/local/pgsql/data + root# su - postgres + postgres$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data + + The "-D" option specifies the location where the data will be stored. You + can use any path you want, it does not have to be under the installation + directory. Just make sure that the server account can write to the + directory (or create it, if it doesn't already exist) before starting + "initdb", as illustrated here. + + 3. The previous step should have told you how to start up the database + server. Do so now. The command should look something like + + /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data + + This will start the server in the foreground. To put the server in the + background use something like + + nohup /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data \ + </dev/null >>server.log 2>&1 </dev/null & + + To stop a server running in the background you can type + + kill `cat /usr/local/pgsql/data/postmaster.pid` + + In order to allow TCP/IP connections (rather than only Unix domain socket + ones) you need to pass the "-i" option to "postmaster". + + 4. Create a database: + + createdb testdb + + Then enter + + psql testdb + + to connect to that database. At the prompt you can enter SQL commands and + start experimenting. + +------------------------------------------------------------------------------- + + What Now? + + * The PostgreSQL distribution contains a comprehensive documentation set, + which you should read sometime. After installation, the documentation can + be accessed by pointing your browser to "/usr/local/pgsql/doc/html/ + index.html", unless you changed the installation directories. + The Tutorial should be your first reading if you are completely new to + SQL databases. If you are familiar with database concepts then you want + to proceed with the Administrator's Guide, which contains information + about how to set up the database server, database users, and + authentication. + + * Usually, you will want to modify your computer so that it will + automatically start the database server whenever it boots. Some + suggestions for this are in the Administrator's Guide. + + * Run the regression tests against the installed server (using the + sequential test method). If you didn't run the tests before installation, + you should definitely do it now. This is also explained in the + Administrator's Guide. + +------------------------------------------------------------------------------- + + Supported Platforms + +PostgreSQL has been verified by the developer community to work on the +platforms listed below. A supported platform generally means that PostgreSQL +builds and installs according to these instructions and that the regression +tests pass. + Note: If you are having problems with the installation on a supported + platform, please write to <pgsql-bugs@postgresql.org> or <pgsql- + ports@postgresql.org>, not to the people listed here. + __________________________________________________________________________________ +|OS________|Processor__|Version|Reported_________________________|Remarks__________| +|AIX |RS6000 |7.3 |2002-11-12, Andreas Zeugswetter |see also doc/ | +|__________|___________|_______|(<ZeugswetterA@spardat.at>)______|FAQ_AIX__________| +|BSD/OS |x86 |7.3 |2002-10-25, Bruce Momjian |4.2 | +|__________|___________|_______|(<pgman@candle.pha.pa.us>)_______|_________________| +|FreeBSD |Alpha |7.3 |2002-11-13, Chris Kings-Lynne | | +|__________|___________|_______|(<chriskl@familyhealth.com.au>)__|_________________| +|FreeBSD |x86 |7.3 |2002-10-29, 3.3, Nigel J. Andrews| | +| | | |(<nandrews@investsystems.co.uk>),| | +| | | |4.7, Larry Rosenman | | +| | | |(<ler@lerctr.org>), 5.0, Sean | | +| | | |Chittenden | | +|__________|___________|_______|(<sean@chittenden.org>)__________|_________________| +|HP-UX |PA-RISC |7.3 |2002-10-28, 10.20 Tom Lane |gcc and cc; see | +| | | |(<tgl@sss.pgh.pa.us>), 11.00, |also doc/FAQ_HPUX| +| | | |11.11, 32 & 64 bit, Giles Lean | | +|__________|___________|_______|(<giles@nemeton.com.au>)_________|_________________| +|IRIX |MIPS |7.3 |2002-10-27, Ian Barwick |Irix64 Komma 6.5 | +|__________|___________|_______|(<barwick@gmx.net>)______________|_________________| +|Linux |Alpha |7.3 |2002-10-28, Magnus Naeslund |2.4.19-pre6 | +|__________|___________|_______|(<mag@fbab.net>)_________________|_________________| +|Linux |PlayStation|7.3 |2002-11-19, Permaine Cheung |#undef | +| |2 | |<pcheung@redhat.com>) |HAS_TEST_AND_SET,| +| | | | |remove slock_t | +|__________|___________|_______|_________________________________|typedef__________| +|Linux |PPC74xx |7.3 |2002-10-26, Tom Lane |bye 2.2.18; Apple| +|__________|___________|_______|(<tgl@sss.pgh.pa.us>)____________|G3_______________| +|Linux |S/390 |7.3 |2002-11-22, Permaine Cheung |both s390 and | +| | | |<pcheung@redhat.com>) |s390x (32 and 64 | +|__________|___________|_______|_________________________________|bit)_____________| +|Linux |Sparc |7.3 |2002-10-26, Doug McNaught |3.0 | +|__________|___________|_______|(<doug@mcnaught.org>)____________|_________________| +|Linux |x86 |7.3 |2002-10-26, Alvaro Herrera |2.4 | +|__________|___________|_______|(<alvherre@dcc.uchile.cl>)_______|_________________| +|MacOS X |PPC |7.3 |2002-10-28, 10.1, Tom Lane | | +| | | |(<tgl@sss.pgh.pa.us>), 10.2.1, | | +| | | |Adam Witney | | +|__________|___________|_______|(<awitney@sghms.ac.uk>)__________|_________________| +|NetBSD |arm32 |7.3 |2002-11-19, Patrick Welche |1.6 | +|__________|___________|_______|(<prlw1@newn.cam.ac.uk>)_________|_________________| +|NetBSD |x86 |7.3 |2002-11-14, Patrick Welche |1.6 | +|__________|___________|_______|(<prlw1@newn.cam.ac.uk>)_________|_________________| +|OpenBSD |Sparc |7.3 |2002-11-17, Christopher Kings- |3.2 | +| | | |Lynne | | +|__________|___________|_______|(<chriskl@familyhealth.com.au>)__|_________________| +|OpenBSD |x86 |7.3 |2002-11-14, 3.1 Magnus Naeslund | | +| | | |(<mag@fbab.net>), 3.2 Christopher| | +| | | |Kings-Lynne | | +|__________|___________|_______|(<chriskl@familyhealth.com.au>)__|_________________| +|SCO |x86 |7.3.1 |2002-12-11, Shibashish Satpathy |5.0.4, gcc; see | +|OpenServer| | |(<shib@postmark.net>) |also doc/FAQ_SCO | +|5_________|___________|_______|_________________________________|_________________| +|Solaris |Sparc |7.3 |2002-10-28, Andrew Sullivan |Solaris 7 & 8; | +| | | |(<andrew@libertyrms.info>) |see also doc/ | +|__________|___________|_______|_________________________________|FAQ_Solaris______| +|Solaris |x86 |7.3 |2002-11-20, Martin Renters |5.8; see also | +|__________|___________|_______|(<martin@datafax.com>)___________|doc/FAQ_Solaris__| +|Tru64 UNIX|Alpha |7.3 |2002-11-05, Alessio Bragadini | | +|__________|___________|_______|(<alessio@albourne.com>)_________|_________________| +|UnixWare |x86 |7.3 |2002-11-01, 7.1.3 Larry Rosenman |see also doc/ | +| | | |(<ler@lerctr.org>), 7.1.1 and |FAQ_SCO | +| | | |7.1.2(8.0.0) Olivier Prenant | | +|__________|___________|_______|(<ohp@pyrenet.fr>)_______________|_________________| +|Windows |x86 |7.3 |2002-10-29, Dave Page |with Cygwin; see | +| | | |(<dpage@vale-housing.co.uk>), |doc/FAQ_MSWIN | +| | | |Jason Tishler | | +|__________|___________|_______|(<jason@tishler.net>)____________|_________________| +|Windows |x86 |7.3 |2002-11-05, Dave Page |native is client-| +| | | |(<dpage@vale-housing.co.uk>) |side only; see | +| | | | |Administrator's | +|__________|___________|_______|_________________________________|Guide____________| + +Unsupported Platforms: The following platforms are either known not to work, or +they used to work in a previous release and we did not receive explicit +confirmation of a successful test with version 7.3 at the time this list was +compiled. We include these here to let you know that these platforms *could* be +supported if given some attention. + ____________________________________________________________________________ +|OS_________|Processor|Version|Reported_______________________|Remarks_______| +|BeOS |x86 |7.2 |2001-11-29, Cyril Velter |needs updates | +| | | |(<cyril.velter@libertysurf.fr>)|to semaphore | +|___________|_________|_______|_______________________________|code__________| +|DG/UX |m88k |6.3 |1998-03-01, Brian E Gallew |no recent | +|5.4R4.11___|_________|_______|(<geek+@cmu.edu>)______________|reports_______| +|Linux |armv4l |7.2 |2001-12-10, Mark Knox |2.2.x | +|___________|_________|_______|(<segfault@hardline.org>)______|______________| +|Linux |MIPS |7.2 |2001-11-15, Hisao Shibuya |2.0.x; Cobalt | +|___________|_________|_______|(<shibuya@alpha.or.jp>)________|Qube2_________| +|MkLinux DR1|PPC750 |7.0 |2001-04-03, Tatsuo Ishii (<t- |7.1 needs OS | +|___________|_________|_______|ishii@sra.co.jp>)______________|update?_______| +|NetBSD |Alpha |7.2 |2001-11-20, Thomas Thai |1.5W | +|___________|_________|_______|(<tom@minnesota.com>)__________|______________| +|NetBSD |m68k |7.0 |2000-04-10, Henry B. Hotz |Mac 8xx | +|___________|_________|_______|(<hotz@jpl.nasa.gov>)__________|______________| +|NetBSD |MIPS |7.2.1 |2002-06-13, Warwick Hunter |1.5.3 | +|___________|_________|_______|(<whunter@agile.tv>)___________|______________| +|NetBSD |PPC |7.2 |2001-11-28, Bill Studenmund |1.5 | +|___________|_________|_______|(<wrstuden@netbsd.org>)________|______________| +|NetBSD |Sparc |7.2 |2001-12-03, Matthew Green |32- and 64-bit| +|___________|_________|_______|(<mrg@eterna.com.au>)__________|builds________| +|NetBSD |VAX |7.1 |2001-03-30, Tom I. Helbekkmo |1.5 | +|___________|_________|_______|(<tih@kpnQwest.no>)____________|______________| +|NeXTSTEP |x86 |6.x |1998-03-01, David Wetzel |bit rot | +|___________|_________|_______|(<dave@turbocat.de>)___________|suspected_____| +|QNX 4 RTOS |x86 |7.2 |2001-12-10, Bernd Tegge |needs updates | +| | | |(<tegge@repas-aeg.de>) |to semaphore | +| | | | |code; see also| +|___________|_________|_______|_______________________________|doc/FAQ_QNX4__| +|QNX RTOS v6|x86 |7.2 |2001-11-20, Igor Kovalenko |patches | +| | | |(<Igor.Kovalenko@motorola.com>)|available in | +| | | | |archives, but | +| | | | |too late for | +|___________|_________|_______|_______________________________|7.2___________| +|SunOS 4 |Sparc |7.2 |2001-12-04, Tatsuo Ishii (<t- | | +|___________|_________|_______|ishii@sra.co.jp>)______________|______________| +|System V R4|m88k |6.2.1 |1998-03-01, Doug Winterburn |needs new TAS | +|___________|_________|_______|(<dlw@seavme.xroads.com>)______|spinlock_code_| +|System V R4|MIPS |6.4 |1998-10-28, Frank Ridderbusch |no recent | +|___________|_________|_______|(<ridderbusch.pad@sni.de>)_____|reports_______| +|Ultrix |MIPS |7.1 |2001-03-26 |TAS spinlock | +| | | | |code not | +|___________|_________|_______|_______________________________|detected______| +|Ultrix_____|VAX______|6.x____|1998-03-01_____________________|______________| + diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 5fab15f4717..8b53b1e854c 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -1,4 +1,4 @@ -<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.103.2.22 2002/12/11 22:27:34 momjian Exp $ --> +<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.103.2.23 2002/12/18 23:38:08 petere Exp $ --> <chapter id="installation"> <title><![%standalone-include[<productname>PostgreSQL</>]]> @@ -1568,22 +1568,6 @@ gunzip -c user.ps.gz \ </row> <row> <entry><systemitem class="osname">Linux</></entry> - <entry><systemitem>armv4l</></entry> - <entry>7.2</entry> - <entry>2001-12-10, - Mark Knox (<email>segfault@hardline.org</email>)</entry> - <entry>2.2.x</entry> - </row> - <row> - <entry><systemitem class="osname">Linux</></entry> - <entry><systemitem>MIPS</></entry> - <entry>7.2</entry> - <entry>2001-11-15, - Hisao Shibuya (<email>shibuya@alpha.or.jp</>)</entry> - <entry>2.0.x; <productname>Cobalt Qube2</></entry> - </row> - <row> - <entry><systemitem class="osname">Linux</></entry> <entry><systemitem>PlayStation 2</></entry> <entry>7.3</entry> <entry>2002-11-19, @@ -1634,14 +1618,6 @@ gunzip -c user.ps.gz \ </row> <row> <entry><systemitem class="osname">NetBSD</></entry> - <entry><systemitem>Alpha</></entry> - <entry>7.2</entry> - <entry>2001-11-20, - Thomas Thai (<email>tom@minnesota.com</email>)</entry> - <entry>1.5W</entry> - </row> - <row> - <entry><systemitem class="osname">NetBSD</></entry> <entry><systemitem>arm32</></entry> <entry>7.3</entry> <entry>2002-11-19, @@ -1650,46 +1626,6 @@ gunzip -c user.ps.gz \ </row> <row> <entry><systemitem class="osname">NetBSD</></entry> - <entry><systemitem>m68k</></entry> - <entry>7.0</entry> - <entry>2000-04-10, - Henry B. Hotz (<email>hotz@jpl.nasa.gov</email>)</entry> - <entry>Mac 8xx</entry> - </row> - <row> - <entry><systemitem class="osname">NetBSD</></entry> - <entry><systemitem>MIPS</></entry> - <entry>7.2.1</entry> - <entry>2002-06-13, - Warwick Hunter (<email>whunter@agile.tv</email>)</entry> - <entry>1.5.3</entry> - </row> - <row> - <entry><systemitem class="osname">NetBSD</></entry> - <entry><systemitem>PPC</></entry> - <entry>7.2</entry> - <entry>2001-11-28, - Bill Studenmund (<email>wrstuden@netbsd.org</email>)</entry> - <entry>1.5</entry> - </row> - <row> - <entry><systemitem class="osname">NetBSD</></entry> - <entry><systemitem>Sparc</></entry> - <entry>7.2</entry> - <entry>2001-12-03, - Matthew Green (<email>mrg@eterna.com.au</email>)</entry> - <entry>32- and 64-bit builds</entry> - </row> - <row> - <entry><systemitem class="osname">NetBSD</></entry> - <entry><systemitem>VAX</></entry> - <entry>7.1</entry> - <entry>2001-03-30, - Tom I. Helbekkmo (<email>tih@kpnQwest.no</email>)</entry> - <entry>1.5</entry> - </row> - <row> - <entry><systemitem class="osname">NetBSD</></entry> <entry><systemitem>x86</></entry> <entry>7.3</entry> <entry>2002-11-14, @@ -1737,13 +1673,6 @@ gunzip -c user.ps.gz \ <entry>5.8; see also <filename>doc/FAQ_Solaris</filename></entry> </row> <row> - <entry><systemitem class="osname">SunOS 4</></entry> - <entry><systemitem>Sparc</></entry> - <entry>7.2</entry> - <entry>2001-12-04, Tatsuo Ishii (<email>t-ishii@sra.co.jp</email>)</entry> - <entry></entry> - </row> - <row> <entry><systemitem class="osname">Tru64 UNIX</></entry> <entry><systemitem>Alpha</></entry> <entry>7.3</entry> @@ -1825,6 +1754,22 @@ gunzip -c user.ps.gz \ <entry>1998-03-01, Brian E Gallew (<email>geek+@cmu.edu</email>)</entry> <entry>no recent reports</entry> </row> + <row> + <entry><systemitem class="osname">Linux</></entry> + <entry><systemitem>armv4l</></entry> + <entry>7.2</entry> + <entry>2001-12-10, + Mark Knox (<email>segfault@hardline.org</email>)</entry> + <entry>2.2.x</entry> + </row> + <row> + <entry><systemitem class="osname">Linux</></entry> + <entry><systemitem>MIPS</></entry> + <entry>7.2</entry> + <entry>2001-11-15, + Hisao Shibuya (<email>shibuya@alpha.or.jp</>)</entry> + <entry>2.0.x; <productname>Cobalt Qube2</></entry> + </row> <row> <entry><systemitem class="osname">MkLinux DR1</></entry> <entry><systemitem>PPC750</></entry> @@ -1832,6 +1777,54 @@ gunzip -c user.ps.gz \ <entry>2001-04-03, Tatsuo Ishii (<email>t-ishii@sra.co.jp</email>)</entry> <entry>7.1 needs OS update?</entry> </row> + <row> + <entry><systemitem class="osname">NetBSD</></entry> + <entry><systemitem>Alpha</></entry> + <entry>7.2</entry> + <entry>2001-11-20, + Thomas Thai (<email>tom@minnesota.com</email>)</entry> + <entry>1.5W</entry> + </row> + <row> + <entry><systemitem class="osname">NetBSD</></entry> + <entry><systemitem>m68k</></entry> + <entry>7.0</entry> + <entry>2000-04-10, + Henry B. Hotz (<email>hotz@jpl.nasa.gov</email>)</entry> + <entry>Mac 8xx</entry> + </row> + <row> + <entry><systemitem class="osname">NetBSD</></entry> + <entry><systemitem>MIPS</></entry> + <entry>7.2.1</entry> + <entry>2002-06-13, + Warwick Hunter (<email>whunter@agile.tv</email>)</entry> + <entry>1.5.3</entry> + </row> + <row> + <entry><systemitem class="osname">NetBSD</></entry> + <entry><systemitem>PPC</></entry> + <entry>7.2</entry> + <entry>2001-11-28, + Bill Studenmund (<email>wrstuden@netbsd.org</email>)</entry> + <entry>1.5</entry> + </row> + <row> + <entry><systemitem class="osname">NetBSD</></entry> + <entry><systemitem>Sparc</></entry> + <entry>7.2</entry> + <entry>2001-12-03, + Matthew Green (<email>mrg@eterna.com.au</email>)</entry> + <entry>32- and 64-bit builds</entry> + </row> + <row> + <entry><systemitem class="osname">NetBSD</></entry> + <entry><systemitem>VAX</></entry> + <entry>7.1</entry> + <entry>2001-03-30, + Tom I. Helbekkmo (<email>tih@kpnQwest.no</email>)</entry> + <entry>1.5</entry> + </row> <row> <entry><systemitem class="osname">NeXTSTEP</></entry> <entry><systemitem>x86</></entry> @@ -1856,6 +1849,13 @@ gunzip -c user.ps.gz \ <entry>2001-11-20, Igor Kovalenko (<email>Igor.Kovalenko@motorola.com</email>)</entry> <entry>patches available in archives, but too late for 7.2</entry> </row> + <row> + <entry><systemitem class="osname">SunOS 4</></entry> + <entry><systemitem>Sparc</></entry> + <entry>7.2</entry> + <entry>2001-12-04, Tatsuo Ishii (<email>t-ishii@sra.co.jp</email>)</entry> + <entry></entry> + </row> <row> <entry><systemitem class="osname">System V R4</></entry> <entry><systemitem>m88k</></entry> diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 6ab499c7f3c..6fc3d2a9289 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.163.2.5 2002/12/18 02:07:24 momjian Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.163.2.6 2002/12/18 23:38:08 petere Exp $ --> <appendix id="release"> @@ -24,9 +24,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.163.2.5 2002/12/18 02:07:2 <para> A dump/restore is <emphasis>not</emphasis> required for those running 7.3. However, it should be noted that the main PostgreSQL - interface library, libpq, has a new major version number for this - release, which may require recompilation of client code in certain - cases. + interface library, <application>libpq</application>, has a new + major version number for this release, which will require that + client code using <application>libpq</application> be relinked. </para> </sect2> @@ -35,22 +35,27 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.163.2.5 2002/12/18 02:07:2 <para> <literallayout> -Fix a core dump of COPY TO when client/server encodings don't match (Tom) +Fix a core dump of COPY TO when client/server encodings don't match + (Tom) Allow pg_dump to work with pre-7.2 servers (Tom) -/contrib/adddepend fixes (Tom) -Fix problem with deletion of per-user/per-database config settings (Tom) -/contrib/vacuumlo fix (Tom) -Allow 'password' encryption even when pg_shadow contains MD5 passwords (Bruce) -/contrib/dbmirror fix (Steven Singer) +contrib/adddepend fixes (Tom) +Fix problem with deletion of per-user/per-database config settings + (Tom) +contrib/vacuumlo fix (Tom) +Allow 'password' encryption even when pg_shadow contains MD5 passwords + (Bruce) +contrib/dbmirror fix (Steven Singer) Optimizer fixes (Tom) -/contrib/tsearch fixes (Teodor Sigaev, Magnus) -Allow locale names to be mixed case (Nicolai Tufar) +contrib/tsearch fixes (Teodor Sigaev, Magnus) +Fix encoding name resolution to work in Turkish locale (Nicolai Tufar) Increment libpq library's major version number (Bruce) pg_hba.conf error reporting fixes (Bruce, Neil) -Add SCO Openserver 5.0.4 as a supported platform (Bruce) +Add SCO OpenServer 5.0.4 as a supported platform (Bruce) Prevent EXPLAIN from crashing server (Tom) SSL fixes (Nathan Mueller) Prevent composite column creation via ALTER TABLE (Tom) +Fix conversion between LATIN9 and UNICODE (Peter) +Translation updates </literallayout> </para> </sect2> |