Hi, Postgres was a research project at the University of California, Berkeley. Its aim was to proove, that object oriented and knowledge based concepts can be integrated into an RDBMS (RDBMS = relational database management system). They succeeded. Postgres allows you to define and manipulate your own objects, and you can define rules, which handle side effects. For example, inserting a new booking record could automatically adjust the totals of the affected accounts. Nevertheless, you can also use Postgres as a conventional database. INSTALLATION, Alternative I =========================== Get the file: newbie.tar.gz from this directory. It contains a precompiled version of postgres, the most important documentation to start with, two database ends (spog and pgbrowse) and a preloaded database, which holds the linux software map. Unpack that file from the root dir: cd / ; tar xfvz newbie.tar.gz This will create a new directory tree at /usr/local/postgres. To finish installation, run the script in /install/doinst.sh sh /install/doinst.sh This will create a new user, ID 42, give him the name "postgres", and ask you for a password. If user ID 42 is already used on your system, please create a user named "postgres" by hand. In that case, the access to the provided demo database may not work. The installation can also be done with the pkgtool from Slackware. Please rename newbie.tar.gz to newbie.tgz in that case, and tell pkgtool, that you are installing from the current directory. After that is finished, log in as "postgres", and read the file "WELCOME" in the home directory. INSTALLATION, Alternative II ============================ The complete source, binaries and documentation for postgres 4.2 are contained in a subdirectory named "4.2". It holds the following files: README.src READ it, before you compile postgres. pl1.bin.tar.gz binaries for patch level 1 pl1.src.tar.gz source pl1.demo.tar.gz all available demos pl1.doc.ascii.tar.gz ascii version of the docs pl1.doc.ps.tar.gz postscript docs pl1.doc.src.tar.gz *roff source of the docs pl1.diff.gz the differences between 4.2pl1 and original 4.2 The ascii documentation is only a subset of the ps documentation. However, the most useful file, the reference manual, is included in both packages. Please note, that plain postgres 4.2 does not compile under Linux, the first linux version is 4.2pl1. Hopefully, it will not be the last, so in the future, you may find files like: pl2.diff.gz diff from plain 4.2 to 4.2pl2 pl1-pl2.diff.gz diff from 4.2pl1 to 4.2pl2 Compiling postgres yourself is tricky! It needs its own version of the make utility, as well as special libraries and up-to-date versions of several shell-utilites. Please read the file README.src before you try to recompile postgres. It saves you some severe grin, and me the time to answer your questions. INCOMPATIBILITIES ================= Several people have reported problems with Postgres and linux kernels of the 1.1 series. Especially, all kernels from 1.1.20 to 1.1.26 break Postgres. It has been verified, that 1.0.9, 1.1.29, 1.1.32 work. USABILITY & RELIABILITY ======================= Postgres is *not* a commercial database, it is a research project. Expect it to have lots of advanced features, while some standard things are missing. Whenever you modify a tuple, the updated version is stored to freshly allocated disk space, so the database is ever increasing. The same is true for the system files pg_log and pg_time, and you have little to no means for recovery, if these get corrupted. Parts of the definition of the postgres query language (POSTQUEL) are not fully implemented, so you miss features like aggregates. There is no support for SQL, the Standard Query Language. Network access is only possibly, if server and client use the same binary representation. On the other hand, with postgres you get objects, and you get the rule system. It is a multi-user database. If you can live with the idea, that you have to do regular off-line backups, then go for it! THE FUTURE ========== Postgres 4.2 is the last release from Berkeley. The research project is finished. There are people, though, who do not want to let it die. There are many things, that can be done: - Implement better aggregate support. - Add support for SQL (Standard Query Language). - Add write-ahead logging, so you can take online backups and have recovery after a system crash. - Write easy-to-use front ends. Any help is appreciated. There is a mailing list: linux-postgres@native-ed.bc.ca To join yourself to this list, or remove yourself from it, send mail to: linux-postgres-request@native-ed.bc.ca Requests are handled by a human, but it is sufficient to use a key word like ADD or DEL in the Subject of your message to add respective delete yourself from the list. This assumes, that your mail headers are correct. Well, that's it. I wish you fun with postgres. Kai Petzke wpp@marie.physik.tu-berlin.de