From 06e8d17f1d18ae71142d7342ec781ea5d433fc8b Mon Sep 17 00:00:00 2001 From: cvsdist Date: Thu, 9 Sep 2004 10:41:55 +0000 Subject: auto-import postgresql-7.3.2-3 from postgresql-7.3.2-3.src.rpm --- README.rpm-dist | 257 ++++++++++++++++++-------------------------------------- 1 file changed, 82 insertions(+), 175 deletions(-) (limited to 'README.rpm-dist') diff --git a/README.rpm-dist b/README.rpm-dist index ecf543f..ce775d3 100644 --- a/README.rpm-dist +++ b/README.rpm-dist @@ -1,18 +1,14 @@ README.rpm-dist ----------------------------------------------------------------------------- -Version 4.1, for the PostgreSQL 7.2.1-2PGDG RPMset. +Version 5.0, for the PostgreSQL 7.3-1PGDG RPMset. Lamar Owen - -DISCLAIMER: the following information is provided in the hope that it helps -people install and use PostgreSQL. It is being provided without warranty of -any kind, so, use at your own risk. ----------------------------------------------------------------------------- Contents: 0.) Quick -i note. 1.) Introduction, QuickStart, and credits 2.) PostgreSQL RPM packages and rationale - 3.) Upgrading. (Deprecated. Will be removed in a future README) + 3.) Starting multiple postmasters 4.) Regression Testing 5.) Starting postmaster automatically on startup 6.) Grand Unified Configuration(GUC) File. @@ -31,35 +27,47 @@ recommended way to get '-i' functionality back. INTRODUCTION ----------------------------------------------------------------------------- -This document exists to explain the layout of the RPM's for PostgreSQL, to -explain how to migrate from an older version, and to explain WHY it can be -so difficult to upgrade PostgreSQL. +This document exists to explain the layout of the RPM's for PostgreSQL,to +describe various RPM specifics, and to document special features found +in the RPMset. -This document is written to be applicable to version 7.2.1 of PostgreSQL, -which is the current version of the RPM's as of this writing. +This document is written to be applicable to version 7.3 of PostgreSQL, +which is the current version of the RPM's as of this writing. More to the +point, versions prior to 7.3 are not documented here. -Official PostgreSQL Global Development Group RPM's carry a 'PGDG' after the -release number. Other RPMset's as distributed with Linux distributions may -have a different release number and initials. +Official PostgreSQL Global Development Group RPM's have from version 7.1.2 +on carried a 'PGDG' after the release number. Other RPMset's as distributed +with Linux distributions may have a different release number and initials. It is preferable for the distribution-specific set to be the one used, as the PGDG set is intentionally generic. So, if your distro has a set of RPMs, use them in preference. If you want to stay up-to-date on the PostgreSQL core itself, use the PGDG generic set -- but understand that it is a -GENERIC set. In particular, SuSE and RedHat users that use late-model -distributions should definitely use their RPMs. Trond and Reinhard do a -good job keeping them up to date. The Polish(ed) Linux Distribution also -does an excellent job with the PLD RPM version. +GENERIC set. These RPMs are designed to be LSB-compliant -- if you find this not to be the case, please let me know by way of the pgsql-ports@postgresql.org mailing list. +These RPMs no longer support any sort of upgrading process other than that +documented in the regular documentation. That is, you must dump, upgrade, +initdb, and restore your data. The 7.2 to 7.3 migration can be quite +difficult, even to the point of requiring hand-editing of the dumpfile. + +Thus, the 7.3 postgresql-server RPM specifically conflicts with prior +versions. The old server subpackage must be removed first, the new package +installed, and the data restored from dump. + +A new section on running multiple postmasters has replaced the old upgrade +instructions. + QUICKSTART ----------------------------------------------------------------------------- -If this is an upgrade, please go to section 3, UPGRADING. -If this is a fresh installation, simply start the postmaster using: - /etc/rc.d/init.d/postgresql start (on RedHat and TurboLinux) +For a fresh installation on a recent Red Hat or similar system, a simple +service postgresql start +as root will prepare a new database (initdb), and start a postmaster that +will listen on Unix socket 5432 only. Edit /var/lib/pgsql/data/postgresql.conf +to enable TCP/IP -- see the section on '-i.' The file /var/lib/pgsql/.bash_profile is now packaged to help with the setting of environment variables. You may edit this file, and it won't be @@ -77,7 +85,7 @@ CREDITS Thomas Lockhart Uncle George Ryan Kirkpatrick -Trond Eivind Glomsrød +Trond Eivind Glomsrd Mark Knox Mike Mascari Nicolas Huillard @@ -86,42 +94,38 @@ Roger Luethi Jeff Johnson Reinhard Max Peter Eisentraut - -A big THANK YOU to Trond, particularly. He has poured an amazing amount of -work into this package, particularly in cleaning up my errors, as well as -getting the contrib package to actually be useful. +Joe Conway POSTGRESQL RPM PACKAGES AND RATIONALE. ----------------------------------------------------------------------------- -[This section has been edited. See prior versions for older history] - -PostgreSQL is a large, multifaceted program, with many clients and options -that all users will not need. So, several subpackages are built. Here is -the list of the current (7.2.1) packages: +The RPMset is packaged in the following subpackages: postgresql: Some clients and libraries, and documentation postgresql-server: Server executables and data files postgresql-devel: Client-side development libraries -postgresql-perl: PERL client module +postgresql-tcl: TCL/TK client libraries and docs postgresql-python: The PygreSQL client library -postgresql-odbc: Linux ODBC client (not required to use ODBC from Win95) postgresql-jdbc: JAR of the JDBC client postgresql-test: The regression tests and associated files. -postgresql-tk: Tk client and pgaccess. postgresql-tcl: Tcl client and PL ONLY. postgresql-libs: client shared libraries. postgresql-docs: extra documentation,such as the SGML doc sources. postgresql-contrib: The contrib source tree, as well as selected binaries. +postgresql-pl: PL/Perl (if possible on this dist), PL/Python, and PL/Tcl + +Note that there is no postgresql-perl, postgresql-odbc, postgresql-tk, or +postgresql-plperl package any longer. This is due to these portions being +removed from the PostgreSQL source tarball. The TK client package 'pgaccess' +was the core of the -tk subpackage -- so the pgtksh client was rolled back +into the -tcl package. -The postgresql-libs package is required for all installations. Otherwise, a -mix and match installation may be made. The devel package is required to -do any compilation of a program that uses either the client libs or the -server (SPI) interface. +PostgreSQL is split up into multiple packages so that users can 'pick and +choose' what pieces are needed, and what dependencies are required. RPM FILE LOCATIONS. ----------------------------------------------------------------------------- -In compliance with the LSB, the PostgreSQL RPM's install files in a manner -not consistent with much of the PostgreSQL documentation. According to the +In compliance with the Linux FHS, the PostgreSQL RPM's install files in a manner +not consistent with most of the PostgreSQL documentation. According to the standard PostgreSQL documentation, PostgreSQL is installed under the directory /usr/local/pgsql, with executables, source, and data existing in various subdirectories. @@ -142,7 +146,6 @@ Data: /var/lib/pgsql/data Backup area: /var/lib/pgsql/backup Templates: /usr/share/pgsql Procedural Languages: /usr/lib/pgsql -TK client docs: /usr/share/doc/postgresql-tk-x.y.z Development Headers: /usr/include/pgsql Other shared data: /usr/share/pgsql Regression tests: /usr/lib/pgsql/test/regress (in the -test package) @@ -161,123 +164,31 @@ for you. These RPM's are meant to be LSB-compliant. If you find errors in them that cause thembe be non-compliant, please let me know. -UPGRADING. ------------------------------------------------------------------------------ -WARNING: This information is deprecated. Make sure to fully back up -your database files BEFORE upgrading the RPM. Unfortunately, even then -you may have problems -- so be ready to hand-edit dump files. - -A pg_upgrade utility is found in the contrib tree -- but it is not really -production quality code. If this lack of easy upgrades bothers you, please -let the developer list (pgsql-hackers@postgresql.org) know about it -- maybe -seamless upgrades can be made a higher prioriy if enough users complain. - -Use the following information at your own risk. - -CAUTION: While a semi-automatic upgrade process has been implemented, it is -STRONGLY recommended that a full dump of your database (using pg_dumpall) is -performed BEFORE upgrading the RPMs! If you have already done the upgrade -with the RPM, and want to return to your previous version to do the dump, -find the old RPM's and use 'rpm -U --oldpackage' to downgrade. - -I cannot overemphasize this precaution. - -NOTE: moving your existing data from /var/lib/pgsql to /var/lib/pgsql/data is -not currently automatic -- you will need to do this yourself at this release! -This change occurred between 6.5.3 and 7.0, so upgrading from prior to 7.0 to -7.0 or later might be difficult. The rh-dump script is provided to ease this, -see below. - -The single biggest problem with upgrading PostgreSQL RPM's has been the lack -of a reasonably automated upgrade process. PostgreSQL has the property of -the binary on-disk database format changing between major versions (like -between 6.3 and 6.4). However, a change from 6.5 to 6.5.3 does not change -the on-disk format. - -This property (feature, misfeature, bug, whatever) has been a known property of -PostgreSQL since before it was called PostgreSQL -- it has always been this -way. However, the means by which an upgrade is performed is not readily -performed in a fully automated fashion, as a "dump-initdb-restore" cycle has -to be performed. This doesn't appear to be too difficult -- however, dumping -the old database requires the old executables -- and, if you've already done -an rpm -U postgresql* (or upgraded from an older version of RedHat and didn't -specifically exclude the postgresql rpms), you no longer have the older -executables to dump your data. And your data is useless (until you reinstall -the old version, that is). All RPM's prior to late releases of version 6.5. -1 have this upgrade issue. - -The newest RPM's for PostgreSQL attempt to make your job in upgrading a little -easier. First, during the installation of the new RPM's, a copy is made of -all the executable files and libraries necessary to make a backup of your data. -Second, the initialization script in the new postgresql-server package detects -the version of any database found -- if the version is old, then the startup -of the new version is aborted. However, if no database is found, a new one -is made. - -One thing must be remembered -- due to the restructuring of the PostgreSQL -RPM's, you will have to manually select the postgresql-server package if you -want the server -- it is not installed by default in an upgrade. You can either -select it during the upgrade/install, or you can mount your RedHat CD and -install manually with rpm -i. - -To facilitate upgrading, the postgresql-dump utility has been provided. Look -at the man page for postgresql-dump to see its usage. All executables to -restore the immediately prior version of the PostgreSQL database are placed in -the directory /usr/lib/pgsql/backup, and are accessed by the postgresql-dump -script. The directory /usr/lib/pgsql/backup is owned by the postgres user -- -you can use this directory to hold dump files and preserve directories. - -The basic sequence is: -(as user postgres): -postgresql-dump -t /var/lib/pgsql/backup/db.bak -p /var/lib/pgsql/backup/old -d -(you can abort the ASCII dump with 'Q', as it uses more) Then, (as user root): - -***** NOTE ***** ***** NOTE ***** - -The above script is broken. Use "rh-pgdump.sh targetfile" instead, remove the -old databases (/var/lib/pgsql/base) (or safer - move them somewhere else first), -start the database and follow the insert procedure described below. - -***** NOTE ***** ***** NOTE ***** - -service postgresql start - -(which will automatically create a new database structure) And finally, - -(as user postgres): -psql -e template1