Commit e56f1d60 authored by Marc G. Fournier's avatar Marc G. Fournier

From: David Friend <dfriend@atlsci.atlsci.com>

Subject: [PATCHES] Patch for INSTALL

The following patch makes a number of modifications to file INSTALL.
Among other things, it restores some platform specific notes I deleted.
It also no longer requires a separate compile for the regression tests.

Please note that this patch already incorporates the patch Hal Snyder
submitted on Monday.  Do not apply Hal's patch.
parent 63cdcd23
...@@ -69,9 +69,10 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -69,9 +69,10 @@ To upgrade to PostgreSQL v6.1 do the following:
1) Read any last minute information and platform specific porting 1) Read any last minute information and platform specific porting
notes. There are some platform specific notes at the end of this notes. There are some platform specific notes at the end of this
file for Ultrix4.x, Linux, BSD/OS and NeXT. There are other file for Ultrix4.x, Linux, BSD/OS and NeXT. There are other
files in directory /usr/src/pgsql/doc, including platform specific files in directory /usr/src/pgsql/doc, including files FAQ-Irix
notes for Irix and Linux. Also look in directory and FAQ-Linux. Also look in directory ftp://ftp.postgresql.org/pub.
ftp://ftp.postgresql.org/pub. If there is a file called INSTALL in this directory then this
file will contain the latest installation information.
2) Create account postgres if it does not already exist. 2) Create account postgres if it does not already exist.
...@@ -80,10 +81,11 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -80,10 +81,11 @@ To upgrade to PostgreSQL v6.1 do the following:
4) Ftp file ftp://ftp.postgresql.org/pub/postgresql-v6.1.tar.gz from the 4) Ftp file ftp://ftp.postgresql.org/pub/postgresql-v6.1.tar.gz from the
internet. internet.
5) Some platforms, like Linux and BSD/OS use flex. If your system uses 5) Some platforms use flex. If your system uses flex then make sure
flex then make sure you have a good version. Type you have a good version. Type
flex -- version flex -- version
If the flex command is not found then you probably do not need it.
If the version is 2.5.2 or 2.5.4 or greater then you are okay. If it If the version is 2.5.2 or 2.5.4 or greater then you are okay. If it
is 2.5.3 or before 2.5.2 then you will have to upgrade flex. You may is 2.5.3 or before 2.5.2 then you will have to upgrade flex. You may
get it at ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz. get it at ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz.
...@@ -108,7 +110,8 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -108,7 +110,8 @@ To upgrade to PostgreSQL v6.1 do the following:
internet, you can apply the patch in /usr/src/pgsql/doc/README.flex internet, you can apply the patch in /usr/src/pgsql/doc/README.flex
instead. instead.
6) If you are upgrading an existing system then back up the current 6) If you are upgrading an existing system from any version before
version 6.1 beta release 970512 then back up the current
database. Type database. Type
cd cd
pg_dumpall > db.out pg_dumpall > db.out
...@@ -121,6 +124,12 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -121,6 +124,12 @@ To upgrade to PostgreSQL v6.1 do the following:
Please note that if you are upgrading from a version prior to Please note that if you are upgrading from a version prior to
Postgres95 v1.09 then you must back up your database, install Postgres95 v1.09 then you must back up your database, install
Postgres95 v1.09, restore your database, then back it up again. Postgres95 v1.09, restore your database, then back it up again.
You should also read files /usr/src/pgsql/migration/*.
You must make sure that your database is not updated in the middle of
your 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.
7) If you are upgrading an existing system then kill the postmaster. Type 7) If you are upgrading an existing system then kill the postmaster. Type
ps -ax | grep postmaster ps -ax | grep postmaster
...@@ -130,11 +139,6 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -130,11 +139,6 @@ To upgrade to PostgreSQL v6.1 do the following:
kill ??? kill ???
with "???" modified as indicated. with "???" modified as indicated.
You must make sure that your database is not updated in the middle of
your 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.
8) If you are upgrading an existing system then move the old directories 8) If you are upgrading an existing system then move the old directories
out of the way. If you are short of disk space then you may have to out of the way. If you are short of disk space then you may have to
back up and delete the directories instead. If you do this, save the back up and delete the directories instead. If you do this, save the
...@@ -200,10 +204,14 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -200,10 +204,14 @@ To upgrade to PostgreSQL v6.1 do the following:
--disable-locale Disables USE_LOCALE --disable-locale Disables USE_LOCALE
--enable-cassert Enables ASSERT_CHECKING (default) --enable-cassert Enables ASSERT_CHECKING
--disable-cassert Disables ASSERT_CHECKING --disable-cassert Disables ASSERT_CHECKING
The default for ASSERT_CHECKING is normally
enabled for development versions and
disabled for release versions of PostgreSQL.
--with-template=TEMPLATE --with-template=TEMPLATE
Use template file TEMPLATE - the template Use template file TEMPLATE - the template
files are assumed to be in the directory files are assumed to be in the directory
...@@ -226,12 +234,7 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -226,12 +234,7 @@ To upgrade to PostgreSQL v6.1 do the following:
Of course, in a real shell, you would type these three lines all Of course, in a real shell, you would type these three lines all
on the same line. on the same line.
12) If you plan to run the regression tests, then turn off the genetic 12) Compile the program. Type
(GEQ) optimizer. Edit file /usr/src/pgsql/src/include/config.h
to comment out the line containing "#define GEQ" near the end of
the file.
13) Compile the program. Type
cd /usr/src/pgsql/src cd /usr/src/pgsql/src
gmake all &> make.log & gmake all &> make.log &
tail -f make.log tail -f make.log
...@@ -248,7 +251,12 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -248,7 +251,12 @@ To upgrade to PostgreSQL v6.1 do the following:
messages in make.log. Unless you have problems later on, these messages in make.log. Unless you have problems later on, these
messages may be safely ignored. messages may be safely ignored.
14) Install the program. Type If the compiler fails with an error stating that the flex command
cannot be found then install flex as described earlier. Next,
change directory back to this directory, type "make clean", then
recompile again.
13) Install the program. Type
cd /usr/src/pgsql/src cd /usr/src/pgsql/src
gmake install &> make.install.log & gmake install &> make.install.log &
tail -f make.install.log tail -f make.install.log
...@@ -256,7 +264,7 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -256,7 +264,7 @@ To upgrade to PostgreSQL v6.1 do the following:
`/usr/src/pgsql/src/man'". At this point, or earlier if you wish, `/usr/src/pgsql/src/man'". At this point, or earlier if you wish,
type control-C to get out of tail. type control-C to get out of tail.
15) If necessary, tell UNIX how to find your shared libraries. If you 14) If necessary, tell UNIX how to find your shared libraries. If you
are using Linux-ELF do ONE of the following, preferably the first: are using Linux-ELF do ONE of the following, preferably the first:
a) As root, edit file /etc/ld.so.conf. Add line a) As root, edit file /etc/ld.so.conf. Add line
...@@ -277,7 +285,7 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -277,7 +285,7 @@ To upgrade to PostgreSQL v6.1 do the following:
load library 'libpq.so'" then the above step was necessary. Simply load library 'libpq.so'" then the above step was necessary. Simply
do this step, then try to create the database again. do this step, then try to create the database again.
16) If it has not already been done, then prepare account postgres 15) If it has not already been done, then prepare account postgres
for using PostgreSQL. Any account that will use PostgreSQL must for using PostgreSQL. Any account that will use PostgreSQL must
be similarily prepared. (The following instructions are for a be similarily prepared. (The following instructions are for a
bash shell. Adapt accordingly for other shells.) bash shell. Adapt accordingly for other shells.)
...@@ -293,11 +301,11 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -293,11 +301,11 @@ To upgrade to PostgreSQL v6.1 do the following:
with the remaining steps. The easiest way to do this is to type: with the remaining steps. The easiest way to do this is to type:
source ~/.bash_profile source ~/.bash_profile
17) Create the database. DO NOT DO THE FOLLOWING AS ROOT! This would 16) Create the database. DO NOT DO THE FOLLOWING AS ROOT! This would
be a major security hole. Type be a major security hole. Type
initdb initdb
18) Set up permissions to access the database system. Do this by editing 17) Set up permissions to access the database system. Do this by editing
file /usr/local/pgsql/data/pg_hba.conf. The instructions are file /usr/local/pgsql/data/pg_hba.conf. The instructions are
included in the file. (If your database is not located in the included in the file. (If your database is not located in the
default location, i.e. if PGDATA is set to point elsewhere, then the default location, i.e. if PGDATA is set to point elsewhere, then the
...@@ -308,24 +316,17 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -308,24 +316,17 @@ To upgrade to PostgreSQL v6.1 do the following:
your old database on top of the one in your new database, rather than your old database on top of the one in your new database, rather than
redoing this from scratch. redoing this from scratch.
19) If you are going to skip the regression tests then skip to step number 18) Start the postmaster in preparation for the regression tests. First,
24. It is highly recommended that you do these tests in order to set the timezone for Berkley, California. On some systems you may do
make sure that PostgreSQL is working on your system. However, running this by setting environment variable TZ. I.e., using bash, type
them will probably increase your installation time by an hour or so.
If you did not turn off the genetic optimizer (GEQ) before compiling
then you should skip the regression tests.
20) Log into a second shell as user postgres. Set the timezone for Berkley,
California. On some systems you may do this by setting environment
variable TZ. I.e., using bash, type
export TZ=PST8PDT7,M04.01.0,M10.0503 export TZ=PST8PDT7,M04.01.0,M10.0503
Now run postmaster by typing Now start the postmaster daemon running in the background by typing
postmaster cd
Leave this program running until after you finish running the regression nohup postmaster > regress.log 2>&1 &
tests in the other shell. DO NOT RUN POSTMASTER FROM THE ROOT ACCOUNT. Run postmaster from your postgres super user account (typically
account postgres). DO NOT RUN POSTMASTER FROM THE ROOT ACCOUNT.
21) Run the regression tests. From the first shell type 19) Run the regression tests. Type
cd /usr/src/pgsql/src/test/regress cd /usr/src/pgsql/src/test/regress
gmake clean gmake clean
...@@ -336,54 +337,29 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -336,54 +337,29 @@ To upgrade to PostgreSQL v6.1 do the following:
You should get on the screen (and also written to file ./regress.out) You should get on the screen (and also written to file ./regress.out)
a series of statements stating which tests passed and which tests a series of statements stating which tests passed and which tests
failed. Currently, tests sanity_check, float8, select and misc fail. failed. Please note that it is normal for some of the tests to
(This may change between the time this note was written and the final "fail". For the failed tests, use diff to compare the files in
release of v6.1.) See the notes in file README for more detailed directories ./results and ./expected. "Failed" tests may have
explanations. failed due to slightly different error messages, output formatting,
failure to set the timezone correctly for your platform, etc.
If you wish to know why some of the tests failed, you may use diff "Failures" of this type do not indicate a problem with PostgreSQL.
to compare the files in directories ./results and ./expected.
If you did not set the timezone as indicated above or if you did not
disable the genetic optimizer (GEQ) as described in step 8 then you
will get a lot of failures.
After running the tests, type After running the tests, type
cd /usr/src/pgsql/src/test/regress cd /usr/src/pgsql/src/test/regress
gmake clean gmake clean
22) In the other window that is running postmaster, press control-C to 20) Stop the postmaster as described in step 7. Then restore the
stop the process. Restore the timezone to normal. (If you simply timezone to it's normal setting. If you changed the timezone by
set TZ for this one shell, this is as simple of logging out of the modifying environment variable TZ then one way to do this is to
shell.) log out of, then back into, account postgres.
23) Recompile the back end with the genetic optimizer (GEQ) turned on. 21) Start the postmaster daemon running. Type
This is not necessary but is highly recommended if you plan to use
large databases.
Go and restore file /usr/src/pgsql/src/include/config.h to the
original state where "#define GEQ" is not commented out.
Type the following:
cd /usr/src/pgsql/src
gmake all &> make2.log &
tail -f make2.log
# Once compiling is done, control-C out of tail.
cd /usr/src/pgsql/src
gmake install &> make.install2.log &
tail -f make.install2.log
# Once compiling is done, control-C out of tail.
24) If you were skipping the regression tests then you skipped steps 20
to 23 and continued here.
25) Start the postmaster daemon running. Type
cd cd
nohup postmaster > server.log 2>&1 & nohup postmaster > server.log 2>&1 &
Run postmaster from your postgres super user account. DO NOT RUN Run postmaster from your postgres super user account (typically
POSTMASTER FROM THE ROOT ACCOUNT. account postgres). DO NOT RUN POSTMASTER FROM THE ROOT ACCOUNT.
26) If you haven't already done so, this would be a good time to modify 22) If you haven't already done so, this would be a good time to modify
your computer so that it will automatically start postmaster whenever your computer so that it will automatically start postmaster whenever
you boot your computer. you boot your computer.
...@@ -411,38 +387,45 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -411,38 +387,45 @@ To upgrade to PostgreSQL v6.1 do the following:
postmaster if it dies, but he doesn't know if there are other side postmaster if it dies, but he doesn't know if there are other side
effects.) effects.)
c) In FreeBSD edit an unspecified file that will, on boot up, run c) In FreeBSD edit /usr/local/etc/rc.d/pgsql.sh to contain the
a file containing the short line followed by the following single following two lines, and make it 755 root:bin :
line:
#!/bin/sh #!/bin/sh
[ -x /usr/local/pgsql/bin/postmaster ] && su -l pgsql -c [ -x /usr/local/pgsql/bin/postmaster ] &&
'/usr/local/pgsql/bin/postmaster -D/usr/local/pgsql/data su -l pgsql -c '/usr/local/pgsql/bin/postmaster
-o -F > /usr/local/pgsql/errlog &' && echo -n ' pgsql' -D/usr/local/pgsql/data -o -F > /usr/local/pgsql/errlog
&' && echo -n ' pgsql'
d) In RedHat v4.0 Linux edit an unspecified file to contain the d) In RedHat v4.0 Linux create file /etc/rc.d/init.d/postgres.init to
following single line: contain the following single line:
su -c "cd ~postgres; nohup /usr/local/pgsql/bin/postmaster su -c "cd ~postgres; nohup /usr/local/pgsql/bin/postmaster
-D /usr/local/pgsql/data > server.log 2>&1 &" postgres -D /usr/local/pgsql/data > server.log 2>&1 &" postgres
Next, type the following:
cd /etc/rc3.d
ln -s ../init.d/postgres.init S1000postgres
Change "1000" to a number of your choice to indicate the
loading order of the various programs pointed to in directory
/etc/rc3.d. (Note that this example has not been tested yet.)
You might also want to modify your computer so that cron will run You might also want to modify your computer so that cron will run
the vacuum command nightly. the vacuum command nightly and do regular backups. Look at the
man page for crontab for a starting point on how to do this.
27) If you are upgrading an existing system then install your old database. 23) If you are upgrading an existing system then install your old database.
Type Type
cd cd
psql -e template1 < db.out psql -e template1 < db.out
28) If you are a new user, you may wish to play with postgres as described 24) If you are a new user, you may wish to play with postgres as described
below. below.
29) Clean up after yourself. Type 25) Clean up after yourself. Type
rm -rf /usr/src/pgsql_6_0 rm -rf /usr/src/pgsql_6_0
rm -rf /usr/local/pgsql_6_0 rm -rf /usr/local/pgsql_6_0
# Also delete old database directory tree if it is not in # Also delete old database directory tree if it is not in
# /usr/local/pgsql_6_0/data # /usr/local/pgsql_6_0/data
rm ~/postgresql-v6.1.tar.gz rm ~/postgresql-v6.1.tar.gz
30) You will probably want to print out the documentation. Here is how 26) You will probably want to print out the documentation. Here is how
you might do it if you have Ghostscript on your system and are you might do it if you have Ghostscript on your system and are
writing to a laserjet printer. writing to a laserjet printer.
alias gshp='gs -sDEVICE=laserjet -r300 -dNOPAUSE' alias gshp='gs -sDEVICE=laserjet -r300 -dNOPAUSE'
...@@ -463,7 +446,7 @@ To upgrade to PostgreSQL v6.1 do the following: ...@@ -463,7 +446,7 @@ To upgrade to PostgreSQL v6.1 do the following:
This is a WWW document located at This is a WWW document located at
http://www.postgresql.org/docs/impguide. http://www.postgresql.org/docs/impguide.
31) Now create, access and manipulate databases as desired. Write client 27) Now create, access and manipulate databases as desired. Write client
programs to access the database server. In other words, ENJOY! programs to access the database server. In other words, ENJOY!
...@@ -517,15 +500,54 @@ You get the idea. ...@@ -517,15 +500,54 @@ You get the idea.
QUESTIONS? BUGS? FEEDBACK? QUESTIONS? BUGS? FEEDBACK?
---------------------------- ----------------------------
First, read files doc/FAQ in directory /usr/src/pgsql. The latest version First, read the files in directory /usr/src/pgsql/doc. The FAQ in
of the FAQ may be found at http://www.postgresql.org/ under documentation. this directory may be particularly useful.
If PostgreSQL failed to compile on your computer then fill out the form If PostgreSQL failed to compile on your computer then fill out the form
in file /usr/src/pgsql/doc/bug.template and mail it to in file /usr/src/pgsql/doc/bug.template and mail it to the location
pgsql-ports@postgresql.org. indicated at the top of the form.
Mail questions to pgsql-questions@postgresql.org. For more information Mail questions to pgsql-questions@postgresql.org. For more information
on the various mailing lists, see http://www.postgresql.org under mailing on the various mailing lists, see http://www.postgresql.org under mailing
lists. lists.
----------------------------------------------------------------------
Porting Notes (these notes may be out of date):
-------------
Ultrix4.x:
You need to install the libdl-1.1 package since Ultrix 4.x doesn't
have a dynamic loader. It's available in
s2k-ftp.CS.Berkeley.EDU:pub/personal/andrew/libdl-1.1.tar.Z
Linux:
The linux port defaults to the ELF binary format. (Note that if you're
using ELF, you don't need dld because you'll be using the dl library
that comes with Linux ELF instead.)
To compile on non-ELF Linux, comment out the LINUX_ELF line in
src/mk/port/postgres.mk.linux. Also, the dld library MUST be obtained
and installed on the system. It enables dynamic link loading capability
to the postgres port. The dld library can be obtained from the sunsite
linux distributions. The current name is dld-3.2.5.
(Jalon Q. Zimmerman
<sneaker@powergrid.electriciti.com> 5/11/95)
To compile with flex, you need a recent version (2.5.2 or
later). Otherwise, you will get a 'yy_flush_buffer' undefined error.
Note, however, that flex v2.5.3 has a bug. See the FAQs.
BSD/OS:
For BSD/OS 2.0 and 2.01, you will need to get flex version 2.5.2
as well as the GNU dld library. Flex version 2.5.3 has a known bug.
NeXT:
The NeXT port was supplied by Tom R. Hageman <tom@basil.icce.rug.nl>.
It requires a SysV IPC emulation library and header files for
shared libary and semaphore stuff. Tom just happens to sell such
a product so contact him for information. He has also indicated that
binary releases of PostgreSQL for NEXTSTEP will be made available to
the general public. Contact Info@RnA.nl for information.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment