Definitely about Postgres, which packages, how to install, How to Use the Pgsql etc..
Check for PostgreSQL website for latest releases..
Once you have connected to a PostgreSQL FTP mirror, you will see the stable releases located within a directory beginning with v followed by a version (such as vX.Y.Z/). There should also be a symbolic link to the most recent stable release’s directory called latest/.
Within this sub-directory is a list of package files. The complete PostgreSQL installation package is named postgresql-[version].tar.gz and should be the largest file in the list. The following sub-packages are also made available for download, and may be installed in any combination (though at least base is required):
The base package contains source code to build and run PostgreSQL.
The docs package contains the PostgreSQL documentation in HTML format. man pages also installed if you install this pkg.
The optional package contains several extensions to postgres, such as C++, perl,Tcl, python,JDBC ,ODBC.
The test package contains the regression test suit.
Installation basic steps
i) Create a UNIX account to own and manage PostgreSQL database files
typically its named as "postgres" but you can say "X" (This user will be the PostgreSQL root or super user)
As a root user in any NIX environment( I mean OS)
do the following
# useradd postgres ( if you a normal user $ su - -c "useradd postgres"
Installing the package from tar file..
~/your_database_dir # tar -zxvf postgresql-x.y.z.tar.gz
#chown -R postgres:postgres postgresql-x.y.z
this give the postgres user the ownership of the folder
then as postgres user do the compilation and installation.
(--enable-odbc --enable-multibyte --with-maxbackends=NUMBER(32 default)
--enable-odbc refer ./configure --help for what this all)
STEP4 : Compile the source by make command
#make (some case gmake)
(compilation goes time may vary from 10 to 60 miutes)
All of PostgreSQL is successfully made. Ready to install.
if this message ready for installation , its a successful compilation
STEP5: perform regression test optional ( but good practice)
# make check
STEP 6: Install the compiled libraries, binaries and data files.
# make install
# chown -R postgres:postgres /usr/local/pgsql make sure that postgres user owns the PostgreSQL installation directories.
Note: $ su -c any_command ( Linux command tip)
Using the su -c command lets you save a step by only logging you in as the root user for the duration of the command’s execution.
Installing Perl and Python modules manually
$ su -c "make -C ~/interfaces/python install"
$ su -c "gmake -C ~/interfaces/python install"
$ su -c "gmake -C src/interfaces/perl install"
You may also want to install the header files for PostgreSQL. This is important, because the default installation will only install the header files for client application development. If you are going to be using some of PostgreSQL's advanced functionality, such as user-defined functions or developing applications in C that use the libpq library, you will need this functionality.
$ su -c "gmake install-all-headers"
Set the PATH variable in the /etc/profile file : Its a linux trick to get the env.
export PATH MANPATH
Depending on how your system handles shared libraries, you may need to inform the operating system of where your PostgreSQL shared libraries are located. Systems such as Linux, FreeBSD, NetBSD, OpenBSD, Irix, HP/UX, and Solaris will most likely not need to do this.
In a default installation, shared libraries will be located in /usr/local/pgsql/lib (this may be different, depending on whether you changed it with the --prefix configuration option). One of the most common ways to accomplish this is to set the LD_LIBRARY_PATH environment variable to /usr/local/pgsql/lib.
Setting LD_LIBRARY_PATH in a bash shell
$ export LD_LIBRARY_PATH
$ setenv LD_LIBRARY_PATH /usr/local/pgsql/lib
As postgres user
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
-D option specifies where the data will be stored ... the location here is /usr/local/pgsql/data make sure this location is owned by user postgres....
You may get out put if success
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
This database system will be initialized with username "postgres."
This user will own all the data files and must also own the server process.
Copying template1 to template0.
Success. You can now start the database server using:
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
first comman start the postmaster in thr foreground
we prefer second one , becoz it s in the background.
NOTE: The pg_ctl
application can be used to start and stop the PostgreSQL server. Refer for more on this command.
The SysV script will allow the graceful control of the PostgreSQL database through the use of the SysV runlevel system. The SysV script can be used for starting, stopping, and status-checking of PostgreSQL. It is known to work with most Red Hat based versions of Linux, including Mandrake; however, it should work with other SysV systems (e.g., UnixWare, Solaris, etc.) with little modification. The script is named linux. To use it, you will first need to copy the linux script to your init.d directory. You may require root access to do this.
First, change to the directory where you unpacked the PostgreSQL source. In our case, the path to that directory is /~/postgresql-x.y.z/. Then, issue a cp command to copy the script from contrib/start-scripts into the init.d directory. how to do this on a Linux system.
Copying the linux script
$ cd /usr/local/src/postgresql-7.1.3/
$ su -c "cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql"
Making the linux script executable
$ su -c "chmod a+x /etc/rc.d/init.d/postgresql"
There are no additional requirements to use the SysV script with Red Hat, if you do not intend on using it to start PostgreSQL automatically (i.e., if you wish to use the script manually). However, if you do wish for the script to startup PostgreSQL automatically when the machine boots up (or changes runlevels), you will need to have the chkconfig program installed. If chkconfig is installed, you will also need to add the following two lines, including the hash (#) symbol, at the beginning of the /etc/rc.d/init.d/postgresql file:
# chkconfig: 345 85 15
# description: PostgreSQL RDBMS
These example numbers should work on your system; however, it is good to know what role they perform. The first group of numbers (345) represent which runlevels PostgreSQL should be started at. The example shown would start PostgreSQL at runlevels 3, 4, and 5. The second group of numbers (85) represent the order in which PostgreSQL should be started within that runlevel, relative to other programs. You should probably keep the second number high, to indicate that it should be started later in the runlevel. The third number (15) represents the order in which PostgreSQL should be shutdown. It is a good idea to keep this number low, representing a shutdown order that is inverse from the startup order. As previously mentioned, the script should work on your system with the numbers provided, but you can change them if it is necessary.
Once these two lines have been added to the script, you can use the commands shown in Linux distributions to start the PostgreSQL database. Be sure to execute these as the root user.
$ service postgresql start
Starting PostgreSQL: ok
$ service postgresql stop
Stopping PostgreSQL: ok