Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
P
postgres-lambda-diff
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jakob Huber
postgres-lambda-diff
Commits
b072cd4e
Commit
b072cd4e
authored
27 years ago
by
Thomas G. Lockhart
Browse files
Options
Downloads
Patches
Plain Diff
Add information on regression testing and Linux ports.
Fix typos in TZ setting for regression testing and in gmake redirection.
parent
0c3b6e67
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
INSTALL
+84
-57
84 additions, 57 deletions
INSTALL
with
84 additions
and
57 deletions
INSTALL
+
84
−
57
View file @
b072cd4e
...
...
@@ -16,13 +16,16 @@ list. Version 1 (through 1.01) was developed by Jolly Chen and Andrew
Yu.
The installation notes below assume the following (except where noted):
- Commands were tested on RedHat Linux version 4.0 using the bash
shell. Except where noted, they will probably work on most
systems. USE COMMON SENSE before typing in these commands.
Commands like ps and tar vary wildly on what options you should
use on each platform.
- Defaults are assumed.
- Commands are Unix-compatible. See note below.
- Defaults are used except where noted.
- User postgres is the postgres superuser.
- The source path is /usr/src/pgsql (other paths are possible).
- The runtime path is /usr/local/pgsql (other paths are possible).
Commands were tested on RedHat Linux version 4.0 using the bash shell.
Except where noted, they will probably work on most systems. Commands
like ps and tar vary wildly on what options you should use on each
platform. USE COMMON SENSE before typing in these commands.
Our Makefiles require GNU make (called gmake in this document) and
also assume that "install" accepts BSD options. The INSTALL
...
...
@@ -45,7 +48,7 @@ PostgreSQL has been tested on the following platforms:
hpux HP PA-RISC on HP-UX 9.0
i386_solaris i386 Solaris
irix5 SGI MIPS on IRIX 5.3
linux Intel x86 on Linux
1.2
and Linux ELF
linux Intel x86 on Linux
2.0
and Linux ELF
(For non-ELF Linux, see LINUX_ELF below).
sparc_solaris SUN SPARC on Solaris 2.4
sunos4 SUN SPARC on SunOS 4.1.3
...
...
@@ -160,7 +163,10 @@ To upgrade to PostgreSQL v6.1 do the following:
else) then you will also want to move this directory in the same
manner.
9) Make new source and install directories. Type
9) Make new source and install directories. The actual paths can be
different for your installation; be consistant with your configuration
in step (11).
Type
su
cd /usr/src
mkdir pgsql
...
...
@@ -174,7 +180,9 @@ To upgrade to PostgreSQL v6.1 do the following:
cd /usr/src/pgsql
gunzip -c ~/postgresql-v6.1.tar.gz | tar xvf -
11) Configure the source code for your system. Type
11) Configure the source code for your system. It is this step at which
you can specify your actual source path and installation paths for
the build process (see the --prefix option below). Type
cd /usr/src/pgsql/src
./configure
...
...
@@ -236,8 +244,9 @@ To upgrade to PostgreSQL v6.1 do the following:
12) Compile the program. Type
cd /usr/src/pgsql/src
gmake all
&
> make.log &
gmake all >
&
make.log &
tail -f make.log
The last line displayed will hopefully be "All of PostgreSQL is
successfully made. Ready to install." At this point, or earlier
if you wish, type control-C to get out of tail. (If you have
...
...
@@ -258,8 +267,9 @@ To upgrade to PostgreSQL v6.1 do the following:
13) Install the program. Type
cd /usr/src/pgsql/src
gmake install
&
> make.install.log &
gmake install >
&
make.install.log &
tail -f make.install.log
The last line displayed will be "gmake[1]: Leaving directory
`/usr/src/pgsql/src/man'". At this point, or earlier if you wish,
type control-C to get out of tail.
...
...
@@ -320,12 +330,14 @@ To upgrade to PostgreSQL v6.1 do the following:
However, we think skipping the tests is a BAD idea!
Start the postmaster in preparation for the regression tests. First,
set the timezone for Berkley, California. On some systems you may do
set the timezone for Berk
e
ley, 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.05.03
Now start the postmaster daemon running in the background by typing
cd
nohup postmaster > regress.log 2>&1 &
Run postmaster from your postgres super user account (typically
account postgres). DO NOT RUN POSTMASTER FROM THE ROOT ACCOUNT.
...
...
@@ -340,31 +352,40 @@ To upgrade to PostgreSQL v6.1 do the following:
You should get on the screen (and also written to file ./regress.out)
a series of statements stating which tests passed and which tests
failed. Please note that it
is
normal for some of the tests to
"fail".
For the tests that failed, i.e. if float8 failed, type
something like:
failed. Please note that it
can be
normal for some of the tests to
"fail".
For the failed tests, use diff to compare the files in
directories ./results and ./expected. If float8 failed, type
something like:
cd /usr/src/pgsql/src/test/regress
diff -w expected/float8.out results
Now do some intelligent interpretation of what you see before
deciding if you have detected a bug in PostgreSQL as it compiled on
you platform.
For example. On a SPARC/Linux-elf platform using the 970516 beta
version of PostgreSQL v6.1 the following tests "failed". float8
and geometry "failed" due to minor precision differences in floating
point numbers. timespan and horology had different values from the
expected "14 secs ago". (This may be a real bug. It may simply be
problems with convincing the back end what timezone and time to
use.) datetime, abstime and tinterval failed because it used GMT
where it should have used PST and PDT. (Same comment.) select_views
failed for unknown reasons. Conclusion? There may be some real
bugs exhibited here but will they effect what you intend to use
PostgreSQL for? (Note: Most of these bugs also occur on the
i86/Linux platform. Also note that there will be significant
changes made to the date and time types immediately after the
v6.1 release so if you do need these functions, monitor the HACKERS
and PORTS mailing lists to see what is going on.)
"Failed" tests may have failed due to slightly different error messages,
output formatting, failure to set the timezone correctly for your
platform, etc. "Failures" of this type do not indicate a problem with
PostgreSQL.
Here is an example from a i686/Linux-ELF platform (this is the platform
on which most of the regression tests were generated). float8 failed
on exponentiation and logarithmic operations due to known differences
in error handling for those math functions between this platform
and the original Sun (?) Postgres v4.2 development environment.
Here is an example from a SPARC/Linux-ELF platform (note that this is
for an "unsupported" platform). Using the 970516 beta version of
PostgreSQL v6.1 the following tests "failed". float8 and geometry
"failed" due to minor precision differences in floating point numbers.
timespan and horology had different values from the expected
"14 secs ago". datetime, abstime and tinterval had "GMT" for the time
zone rather than "PST" or "PDT". These differences were due to a
mis-typed string for the TZ environment variable from step (18).
select_views failed for unknown reasons.
Conclusion? If you do see failures, try to understand the nature of
the differences and then decide if those differences will affect your
intended use of PostgreSQL. However, keep in mind that this is likely
to be the most solid release of PostgreSQL to date, incorporating many
bug fixes from v6.0, and that previous versions of PostgreSQL has been
in use successfully for some time now.
After running the tests, type
cd /usr/src/pgsql/src/test/regress
...
...
@@ -508,8 +529,9 @@ Create the database foo:
template1=> CREATE DATABASE FOO;
INSERT 773248
(Don't ever forget those SQL semicolons. Psql won't execute anything until it
sees the semicolon.)
(Get in the habit of including those SQL semicolons. Psql won't execute
anything until it sees the semicolon or a "\g" and the semicolon is required
to delimit multiple statements.)
template1=> \c foo
closing connection to database: template1
...
...
@@ -517,10 +539,10 @@ connecting to new database: foo
(\ commands aren't SQL, so no semicolon. Use \? to see all the \ commands.)
template1
=> CREATE TABLE bar (column1 int4, column2 char16);
foo
=> CREATE TABLE bar (column1 int4, column2 char16);
CREATE
template1
=> \d bar
foo
=> \d bar
...
...
...
@@ -553,25 +575,31 @@ Ultrix4.x:
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.
The linux-elf port installs cleanly. If you are using an
i486 processor or higher, you can edit template/linux-elf
to include "-m486" as a compiler option. configure does not
detect that sigsetjmp() is available, but you can edit
include/config.h after running configure and before running
make to include "#define HAVE_SIGSETJMP 1". Note that I have
not seen any difference in PostgreSQL behavior either way.
(Thomas G. Lockhart
<Thomas.Lockhart@jpl.nasa.gov> 97/05/17)
For non-ELF Linux, 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
To compile with flex, you need a recent version (
v
2.5.2 or
v2.5.4 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.
For BSD/OS 2.0 and 2.01, you will need to get flex version 2.5.2 or
flex version 2.5.4 as well as the GNU dld library.
Flex version 2.5.3 has a known bug on all platforms.
NeXT:
The NeXT port was supplied by Tom R. Hageman <tom@basil.icce.rug.nl>.
...
...
@@ -585,8 +613,8 @@ SPARC Linux-elf:
There was not time to finish adding support for this in the v6.1
release. However, if you are running RedHat Linux v4.0 on a
SPARC platform then install flex v2.5.4 and tell configure you
have a
L
inux-elf platform.
Between
configur
ing
and
compiling
PostgreSQL,
edit
the following
fil
es:
have a
"l
inux-elf
"
platform.
After running "
configur
e"
and
before
compiling
PostgreSQL,
make
the following
chang
es:
1) Edit src/GNUmakefile to comment out the call to lexflex and
the if-then-else test that follows it. (This may not be
necessary by the time v6.1 gets released.)
...
...
@@ -602,8 +630,7 @@ SPARC Linux-elf:
#endif
*/
#define BYTE_ORDER LITTLE_ENDIAN
If you want to know the reasonilng behind the above instructions
then look in ftp://ftp.postgresql.org/pub/majordomo/ports for a
May 16, 1997 mail message called "regression tests on a
For more details, look in ftp://ftp.postgresql.org/pub/majordomo/ports
for a May 16, 1997 mail message called "regression tests on a
SPARC/Linux platform".
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment