diff --git a/INSTALL b/INSTALL index ad0a2d4d915309d6e25c753e7ce7f6940f1a0e01..26ad49fa9928c579eabd062e4c4af1f445204e2b 100644 --- a/INSTALL +++ b/INSTALL @@ -1,18 +1,11 @@ Installation instructions for PostgreSQL 7.0. -Commands were tested on RedHat Linux version 5.2 using the bash shell. -Except where noted, they will probably work on most systems. Commands like -ps and tar may vary wildly between platforms on what options you should use. -Use common sense before typing in these commands. - If you haven't gotten the PostgreSQL distribution, get it from ftp.postgresql.org, then unpack it: -$ gunzip postgresql-7.0.tar.gz -$ tar -xf postgresql-7.0.tar -$ mv postgresql-7.0 /usr/src - -Again, these commands might differ on your system. +gunzip postgresql-7.0.tar.gz +tar -xf postgresql-7.0.tar +mv postgresql-7.0 /usr/src Before you start @@ -22,7 +15,7 @@ systems you may find that GNU make is installed under the name "gmake". We will use that name from now on to indicate GNU make, no matter what name it has on your system. To test for GNU make enter -$ gmake --version +gmake --version If you need to get GNU make, you can find it at ftp://ftp.gnu.org. @@ -46,7 +39,7 @@ extra 20MB. To check for disk space, use -$ df -k +df -k Considering today's prices for hard disks, getting a large and fast hard disk should probably be in your plans before putting a database into @@ -77,7 +70,7 @@ For a fresh install or upgrading from previous releases of PostgreSQL: You now need to back up your existing database. To dump your fairly recent post-6.0 database installation, type - $ pg_dumpall > db.out + pg_dumpall > db.out If you wish to preserve object id's (oids), then use the -o option when running pg_dumpall. However, unless you have a special reason for doing @@ -96,14 +89,18 @@ For a fresh install or upgrading from previous releases of PostgreSQL: backup. If necessary, bring down postmaster, edit the permissions in file /usr/local/pgsql/data/pg_hba.conf to allow only you on, then bring postmaster back up. - 3. If you are upgrading an existing system then kill the database server now. Type - $ ps ax | grep postmaster + ps ax | grep postmaster + + or - This should list the process numbers for a number of processes, similar - to this: + ps -e | grep postmaster + + (It depends on your system which one of these two works. No harm can be + done by typing the wrong one.) This should list the process numbers for + a number of processes, similar to this: 263 ? SW 0:00 (postmaster) 777 p1 S 0:00 grep postmaster @@ -112,20 +109,20 @@ For a fresh install or upgrading from previous releases of PostgreSQL: process postmaster (263 in the above case). (Do not use the id for the process "grep postmaster".) - $ kill pid + kill pid Tip: On systems which have PostgreSQL started at boot time, there is probably a startup file which will accomplish the same thing. For example, on a Redhat Linux system one might find that - $ /etc/rc.d/init.d/postgres.init stop + /etc/rc.d/init.d/postgres.init stop works. Also move the old directories out of the way. Type the following: - $ mv /usr/local/pgsql /usr/local/pgsql.old + mv /usr/local/pgsql /usr/local/pgsql.old or replace your particular paths. @@ -134,7 +131,7 @@ For a fresh install or upgrading from previous releases of PostgreSQL: make choices about what gets installed. Change into the src subdirectory and type: - $ ./configure + ./configure followed by any options you might want to give it. For a first installation you should be able to do fine without any. For a complete @@ -176,30 +173,32 @@ For a fresh install or upgrading from previous releases of PostgreSQL: 5. Compile the program. Type - $ gmake + gmake The compilation process can take anywhere from 10 minutes to an hour. - Your milage will most certainly vary. + Your milage will most certainly vary. Remember to use GNU make. The last line displayed will hopefully be All of PostgreSQL is successfully made. Ready to install. - Remember, "gmake" may be called "make" on your system. - 6. Install the program. Type - $ gmake install + gmake install 7. Tell your system how to find the new shared libraries. How to do this varies between platforms. What tends to work everywhere is to set the environment variable LD_LIBRARY_PATH: - $ LD_LIBRARY_PATH=/usr/local/pgsql/lib - $ export LD_LIBRARY_PATH + LD_LIBRARY_PATH=/usr/local/pgsql/lib + export LD_LIBRARY_PATH + + on sh, ksh, bash, zsh or - You might want to put this into a shell startup file such as - ~/.bash_profile. + setenv LD_LIBRARY_PATH /usr/local/pgsql/lib + + on csh or tcsh. You might want to put this into a shell startup file + such as /etc/profile. On some systems the following is the preferred method, but you must have root access. Edit file /etc/ld.so.conf to add a line @@ -211,7 +210,7 @@ For a fresh install or upgrading from previous releases of PostgreSQL: If in doubt, refer to the manual pages of your system. If you later on get a message like - ./psql: error in loading shared libraries + psql: error in loading shared libraries libpq.so.2.1: cannot open shared object file: No such file or directory then the above was necessary. Simply do this step then. @@ -219,10 +218,10 @@ For a fresh install or upgrading from previous releases of PostgreSQL: 8. Create the database installation. To do this you must log in to your PostgreSQL superuser account. It will not work as root. - $ mkdir /usr/local/pgsql/data - $ chown postgres /usr/local/pgsql/data - $ su - postgres - $ /usr/local/pgsql/initdb -D /usr/local/pgsql/data + mkdir /usr/local/pgsql/data + chown postgres /usr/local/pgsql/data + su - postgres + /usr/local/pgsql/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 @@ -235,7 +234,7 @@ For a fresh install or upgrading from previous releases of PostgreSQL: 9. The previous step should have told you how to start up the database server. Do so now. - $ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data + /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data This will start the server in the foreground. To make it detach to the background, use the -S. @@ -243,7 +242,7 @@ For a fresh install or upgrading from previous releases of PostgreSQL: 10. If you are upgrading from an existing installation, dump your data back in: - $ /usr/local/pgsql/bin/psql < db.out + /usr/local/pgsql/bin/psql -d template1 -f db.out You also might want to copy over the old pg_hba.conf file and any other files you might have had set up for authentication, such as password @@ -266,8 +265,8 @@ suggestions. * You probably want to install the man and HTML documentation. Type - $ cd /usr/src/pgsql/postgresql-7.0/doc - $ gmake install + cd /usr/src/pgsql/postgresql-7.0/doc + gmake install This will install files under /usr/local/pgsql/doc and /usr/local/pgsql/man. To enable your system to find the man @@ -281,20 +280,16 @@ suggestions. Postscript files using a print filter, then to print the User's Guide simply type - $ cd /usr/local/pgsql/doc - $ gunzip -c user.ps.tz | lpr + cd /usr/local/pgsql/doc + gunzip -c user.ps.tz | lpr Here is how you might do it if you have Ghostscript on your system and are writing to a laserjet printer. - $ alias gshp='gs -sDEVICE=laserjet -r300 -dNOPAUSE' - $ export GS_LIB=/usr/share/ghostscript:/usr/share/ghostscript/fonts - $ gunzip user.ps.gz - $ gshp -sOUTPUTFILE=user.hp user.ps - $ gzip user.ps - $ lpr -l -s -r manpage.hp + gunzip -c user.ps.gz | gs -sDEVICE=laserjet -r300 -q -dNOPAUSE -sOutputFile=- | lpr - If in doubt, confer your manuals or your local expert. + Printer setups can vary wildly from system to system. If in doubt, + consult your manuals or your local expert. The Adminstrator's Guide should probably be your first reading if you are completely new to PostgreSQL, as it contains information about how @@ -352,3 +347,15 @@ suggestions. into production use. The file /usr/src/pgsql/postgresql-7.0/src/test/regress/README has detailed instructions for running and interpreting the regression tests. + +To start "playing around", set up the paths as explained above and start the +server. To create a database, type + +createdb testdb + +Then enter + +psql testdb + +to connect to that database. At the prompt you can enter SQL and start +experimenting. diff --git a/doc/src/sgml/install.sgml b/doc/src/sgml/install.sgml index 50ea48ba8a6e6c481a465ce73577f101cc60fb5d..98147f425b79490eb7c2d93d2e2272bac2c9839a 100644 --- a/doc/src/sgml/install.sgml +++ b/doc/src/sgml/install.sgml @@ -8,24 +8,15 @@ </Para> </Abstract> - <Para> - Commands were tested on RedHat Linux version 5.2 using the bash shell. - Except where noted, they will probably work on most systems. Commands - like <command>ps</command> and <command>tar</command> may vary wildly - between platforms on what options you should use. - <Emphasis>Use common sense</Emphasis> before typing in these commands. - </Para> - <Para> If you haven't gotten the <ProductName>PostgreSQL</ProductName> distribution, get it from <ULink url="ftp://ftp.postgresql.org">ftp.postgresql.org</ULink>, then unpack it: <ProgramListing> -$ gunzip postgresql-7.0.tar.gz -$ tar -xf postgresql-7.0.tar -$ mv postgresql-7.0 /usr/src +gunzip postgresql-7.0.tar.gz +tar -xf postgresql-7.0.tar +mv postgresql-7.0 /usr/src </ProgramListing> - Again, these commands might differ on your system. </Para> <Sect1> @@ -41,7 +32,7 @@ $ mv postgresql-7.0 /usr/src <Application>make</Application>, no matter what name it has on your system. To test for <acronym>GNU</acronym> <Application>make</Application> enter <programlisting> -$ <userinput>gmake --version</userinput> +<userinput>gmake --version</userinput> </programlisting> If you need to get <acronym>GNU</acronym> <Application>make</Application>, you can find it at <ULink url="ftp://ftp.gnu.org">ftp://ftp.gnu.org</ULink>. @@ -74,7 +65,7 @@ $ <userinput>gmake --version</userinput> <Para> To check for disk space, use <programlisting> -$ df -k +df -k </programlisting> </para> @@ -125,12 +116,12 @@ If you are not upgrading an existing system then skip to You now need to back up your existing database. To dump your fairly recent post-6.0 database installation, type <programlisting> -$ pg_dumpall > db.out +pg_dumpall > db.out </programlisting> - If you wish to preserve object id's (oids), then use the -o - option when running <application>pg_dumpall</application>. +If you wish to preserve object id's (oids), then use the -o +option when running <application>pg_dumpall</application>. However, unless you have a - special reason for doing this (such as using OIDs as keys +special reason for doing this (such as using OIDs as keys in tables), don't do it. </Para> @@ -164,8 +155,14 @@ then back it up again. <Para> If you are upgrading an existing system then kill the database server now. Type <ProgramListing> -$ ps ax | grep postmaster +ps ax | grep postmaster +</ProgramListing> +or +<ProgramListing> +ps -e | grep postmaster </ProgramListing> +(It depends on your system which one of these two works. No harm can be done +by typing the wrong one.) This should list the process numbers for a number of processes, similar to this: <ProgramListing> @@ -176,7 +173,7 @@ Type the following line, with <replaceable>pid</replaceable> replaced by the process id for process <literal>postmaster</literal> (263 in the above case). (Do not use the id for the process "grep postmaster".) <programlisting> -$ kill <replaceable>pid</replaceable> +kill <replaceable>pid</replaceable> </programlisting> </Para> @@ -186,7 +183,7 @@ On systems which have <productname>PostgreSQL</productname> started at boot time is probably a startup file which will accomplish the same thing. For example, on a Redhat Linux system one might find that <programlisting> -$ /etc/rc.d/init.d/postgres.init stop +/etc/rc.d/init.d/postgres.init stop </programlisting> works. </para> @@ -195,7 +192,7 @@ works. <Para> Also move the old directories out of the way. Type the following: <programlisting> -$ mv /usr/local/pgsql /usr/local/pgsql.old +mv /usr/local/pgsql /usr/local/pgsql.old </programlisting> or replace your particular paths. </Para> @@ -209,7 +206,7 @@ you can specify your actual installation path for the build process and make choices about what gets installed. Change into the <filename>src</filename> subdirectory and type: <ProgramListing> -$ ./configure +./configure </ProgramListing> followed by any options you might want to give it. For a first installation you should be able to do fine without any. @@ -287,10 +284,10 @@ For a complete list of options, type: <Para> Compile the program. Type <ProgramListing> -$ gmake +gmake </ProgramListing> The compilation process can take anywhere from 10 minutes to an hour. -Your milage will most certainly vary. +Your milage will most certainly vary. Remember to use GNU make. </Para> <Para> @@ -298,8 +295,6 @@ The last line displayed will hopefully be <programlisting> All of PostgreSQL is successfully made. Ready to install. </programlisting> -Remember, <Quote>gmake</Quote> may be called <Quote>make</Quote> on -your system. </Para> </Step> @@ -307,7 +302,7 @@ your system. <Para> Install the program. Type <ProgramListing> -$ gmake install +gmake install </ProgramListing> </Para> </Step> @@ -318,11 +313,16 @@ Tell your system how to find the new shared libraries. How to do this varies bet platforms. What tends to work everywhere is to set the environment variable <envar>LD_LIBRARY_PATH</envar>: <programlisting> -$ LD_LIBRARY_PATH=/usr/local/pgsql/lib -$ export LD_LIBRARY_PATH +LD_LIBRARY_PATH=/usr/local/pgsql/lib +export LD_LIBRARY_PATH +</programlisting> +on sh, ksh, bash, zsh or +<programlisting> +setenv LD_LIBRARY_PATH /usr/local/pgsql/lib </programlisting> +on csh or tcsh. You might want to put this into a shell startup file such as -<filename>~/.bash_profile</filename>. +<filename>/etc/profile</filename>. </Para> <Para> @@ -338,7 +338,7 @@ Then run command <Command>/sbin/ldconfig</Command>. If in doubt, refer to the manual pages of your system. If you later on get a message like <programlisting> -./psql: error in loading shared libraries +psql: error in loading shared libraries libpq.so.2.1: cannot open shared object file: No such file or directory </programlisting> then the above was necessary. Simply do this step then. @@ -351,10 +351,10 @@ Create the database installation. To do this you must log in to your <ProductName>PostgreSQL</ProductName> superuser account. It will not work as root. <ProgramListing> -$ mkdir /usr/local/pgsql/data -$ chown postgres /usr/local/pgsql/data -$ su - postgres -$ /usr/local/pgsql/initdb -D /usr/local/pgsql/data +mkdir /usr/local/pgsql/data +chown postgres /usr/local/pgsql/data +su - postgres +/usr/local/pgsql/initdb -D /usr/local/pgsql/data </ProgramListing> </Para> <Para> @@ -372,7 +372,7 @@ superuser, you may have to log in as root temporarily to create the data directo The previous step should have told you how to start up the database server. Do so now. <programlisting> -$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data +/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data </programlisting> This will start the server in the foreground. To make it detach to the background, use the <option>-S</option>. @@ -383,7 +383,7 @@ the background, use the <option>-S</option>. <para> If you are upgrading from an existing installation, dump your data back in: <programlisting> -$ /usr/local/pgsql/bin/psql < db.out +/usr/local/pgsql/bin/psql -d template1 -f db.out </programlisting> You also might want to copy over the old <filename>pg_hba.conf</filename> file and any other files you might have had set up for authentication, such @@ -421,8 +421,8 @@ and <filename>initdb</filename>. You probably want to install the <application>man</application> and <acronym>HTML</acronym> documentation. Type <ProgramListing> -$ cd /usr/src/pgsql/postgresql-7.0/doc -$ gmake install +cd /usr/src/pgsql/postgresql-7.0/doc +gmake install </ProgramListing> This will install files under <filename>/usr/local/pgsql/doc</filename> and <filename>/usr/local/pgsql/man</filename>. To enable your system @@ -439,20 +439,16 @@ a Postscript printer, or have your machine already set up to accept Postscript files using a print filter, then to print the User's Guide simply type <programlisting> -$ cd /usr/local/pgsql/doc -$ gunzip -c user.ps.tz | lpr +cd /usr/local/pgsql/doc +gunzip -c user.ps.tz | lpr </programlisting> Here is how you might do it if you have Ghostscript on your system and are writing to a laserjet printer. <programlisting> -$ alias gshp='gs -sDEVICE=laserjet -r300 -dNOPAUSE' -$ export GS_LIB=/usr/share/ghostscript:/usr/share/ghostscript/fonts -$ gunzip user.ps.gz -$ gshp -sOUTPUTFILE=user.hp user.ps -$ gzip user.ps -$ lpr -l -s -r manpage.hp +gunzip -c user.ps.gz | gs -sDEVICE=laserjet -r300 -q -dNOPAUSE -sOutputFile=- | lpr </programlisting> -If in doubt, confer your manuals or your local expert. +Printer setups can vary wildly from system to system. +If in doubt, consult your manuals or your local expert. </para> <para> @@ -551,6 +547,21 @@ instructions for running and interpreting the regression tests. </listitem> </itemizedlist> + +<Para> +To start <quote>playing around</quote>, set up the paths as explained above +and start the server. To create a database, type +<ProgramListing> +createdb testdb +</ProgramListing> +Then enter +<ProgramListing> +psql testdb +</ProgramListing> +to connect to that database. At the prompt you can enter SQL and start +experimenting. +</Para> + </Sect1> </Chapter> diff --git a/doc/src/sgml/intro.sgml b/doc/src/sgml/intro.sgml index 3a3ba59187719b075a469ba00bb5b3e28799532a..d5eea403dcb7ea6fb97eddb1e858c0132299a9c0 100644 --- a/doc/src/sgml/intro.sgml +++ b/doc/src/sgml/intro.sgml @@ -73,6 +73,7 @@ &about; &info; ¬ation; + &bug-reporting; &y2k; &legal; diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index 2546ef0d79db4ec90930e3ac8480d82fe3642b6e..d8ab08600a28893bf517b75a78d137df2917d2c6 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -1,6 +1,7 @@ <!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [ <!entity about SYSTEM "about.sgml"> +<!entity bug-reporting SYSTEM "bug-reporting.sgml"> <!entity history SYSTEM "history.sgml"> <!entity info SYSTEM "info.sgml"> <!entity legal SYSTEM "legal.sgml"> diff --git a/doc/src/sgml/user.sgml b/doc/src/sgml/user.sgml index 21dce96b9b1674036e81b898147d8fbb0a87e5b2..4d75ecbe51087aea535d8fcb0c59b0208d8b003c 100644 --- a/doc/src/sgml/user.sgml +++ b/doc/src/sgml/user.sgml @@ -1,6 +1,7 @@ <!doctype book PUBLIC "-//Davenport//DTD DocBook V3.0//EN" [ <!entity about SYSTEM "about.sgml"> +<!entity bug-reporting SYSTEM "bug-reporting.sgml"> <!entity history SYSTEM "history.sgml"> <!entity info SYSTEM "info.sgml"> <!entity legal SYSTEM "legal.sgml">