RedHat Linux上安装PostgreSQL

来源:互联网 发布:从零开始知乎 编辑:程序博客网 时间:2024/06/06 12:36

1. 操作系统信息:Red Hat Enterprise Linux 4

2. 下载PostgreSQL源码:http://www.postgresql.org/ftp/source,现在已经更新到了9.1beta版本了,不过安装过程基本一致,我之前下载的是8.4.2,所以以8.4.2进行描述。

3.上传下载到的postgresql-8.4.2.tar.gz到/opt目录下。

4. 创建postgres用户及dba组,并切换到postgres用户。

#useradd -g dba postgres

 5.将postgresql-8.4.2.tar.gz的属主改为postgres,并解压。

[root@localhost ~]# cd /opt[root@localhost ~]# #chown postgres postgresql-8.4.2
[root@localhost ~]# #su - postgres
[postgres@localhost opt]$$ cd /opt
[postgres@localhost opt]$$tar -zxvf postgresql-8.4.2.tar.gz[postgres@localhost opt]$$ ll总用量 32drwxr-xr-x  2 root     root 4096  3月 28 19:49 gcc_testdrwxr-xr-x  8 postgres root 4096  7月  9 09:44 postgresqldrwxrwxrwx  6 postgres  258 4096  7月  9 09:40 postgresql-8.4.2drwxr-xr-x  2 root     root 4096  4月  2 19:20 testbool

6. 进入postgresql-8.4.2目录,进行配置

[postgres@localhost opt]$ cd postgresql-8.4.2/[postgres@localhost postgresql-8.4.2]$./configure --prefix=/opt/postgresql --enable-profiling --with-blocksize=8 --with-wal-blocksize=8

注,各配置项意义见备后文备注。

7.编译,大约需要5分钟,如过程中有失败,请确认系统上是否有make, gcc等工具,以及目录权限问题。

[postgres@localhost postgresql-8.4.2]$make

8.安装,执行2分钟左右,屏幕打印“PostgreSQL installation complete”表示安装完成。

[postgres@localhost postgresql-8.4.2]$make install

9.初始化数据库。

[postgres@localhost postgresql-8.4.2]$ cd /opt/postgresql/bin/[postgres@localhost bin]$./initdb --encoding=utf8 -D /opt/postgresql/data

 初始化完成后屏幕打印如下信息:

Success. You can now start the database server using:

    ./postgres -D /opt/postgresql/data
or
    ./pg_ctl -D /opt/postgresql/data -l logfile start

10. 启动数据库

[postgres@localhost bin]$./postgres -D /opt/postgresql/data

当然,可以通过日志重写向,将启动信息写入日志,例如:

[postgres@localhost bin]$ ./pg_ctl -D /opt/postgresql/data/ -l /opt/postgresql/log/pg_server.log start

将日志信息记录在文件/opt/postgresql/log/pg_server.log中,当然,在执行前,请先创建这个文件,且属主为postgres。

11.安装完毕。

 

备注:编译配置项各参数说明,可根据实际情况选择使用:

[postgres@localhost postgresql-8.4.2]$ ./configure -help`configure' configures PostgreSQL 8.4.2 to adapt to many kinds of systems.Usage: ./configure [OPTION]... [VAR=VALUE]...To assign environment variables (e.g., CC, CFLAGS...), specify them asVAR=VALUE.  See below for descriptions of some of the useful variables.Defaults for the options are specified in brackets.Configuration:  -h, --help              display this help and exit      --help=short        display options specific to this package      --help=recursive    display the short help of all the included packages  -V, --version           display version information and exit  -q, --quiet, --silent   do not print `checking...' messages      --cache-file=FILE   cache test results in FILE [disabled]  -C, --config-cache      alias for `--cache-file=config.cache'  -n, --no-create         do not create output files      --srcdir=DIR        find the sources in DIR [configure dir or `..']Installation directories:  --prefix=PREFIX         install architecture-independent files in PREFIX                          [/usr/local/pgsql]  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX                          [PREFIX]By default, `make install' will install all the files in`/usr/local/pgsql/bin', `/usr/local/pgsql/lib' etc.  You can specifyan installation prefix other than `/usr/local/pgsql' using `--prefix',for instance `--prefix=$HOME'.For better control, use the options below.Fine tuning of the installation directories:  --bindir=DIR           user executables [EPREFIX/bin]  --sbindir=DIR          system admin executables [EPREFIX/sbin]  --libexecdir=DIR       program executables [EPREFIX/libexec]  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]  --libdir=DIR           object code libraries [EPREFIX/lib]  --includedir=DIR       C header files [PREFIX/include]  --oldincludedir=DIR    C header files for non-gcc [/usr/include]  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]  --infodir=DIR          info documentation [DATAROOTDIR/info]  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]  --mandir=DIR           man documentation [DATAROOTDIR/man]  --docdir=DIR           documentation root [DATAROOTDIR/doc/postgresql]  --htmldir=DIR          html documentation [DOCDIR]  --dvidir=DIR           dvi documentation [DOCDIR]  --pdfdir=DIR           pdf documentation [DOCDIR]  --psdir=DIR            ps documentation [DOCDIR]System types:  --build=BUILD     configure for building on BUILD [guessed]  --host=HOST       cross-compile to build programs to run on HOST [BUILD]Optional Features:  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]  --disable-integer-datetimes                          disable 64-bit integer date/time support  --enable-nls[=LANGUAGES]                          enable Native Language Support  --disable-shared        do not build shared libraries  --disable-rpath         do not embed shared library search path in                          executables  --disable-spinlocks     do not use spinlocks  --enable-debug          build with debugging symbols (-g)  --enable-profiling      build with profiling enabled  --enable-coverage       build with coverage testing instrumentation  --enable-dtrace         build with DTrace support  --enable-depend         turn on automatic dependency tracking  --enable-cassert        enable assertion checks (for debugging)  --enable-thread-safety  make client libraries thread-safe  --enable-thread-safety-force                          force thread-safety despite thread test failure  --disable-float4-byval  disable float4 passed by value  --disable-float8-byval  disable float8 passed by value  --disable-largefile     omit support for large filesOptional Packages:  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)  --with-template=NAME    override operating system template  --with-includes=DIRS    look for additional header files in DIRS  --with-libraries=DIRS   look for additional libraries in DIRS  --with-libs=DIRS        alternative spelling of --with-libraries  --with-pgport=PORTNUM   set default port number [5432]  --with-blocksize=BLOCKSIZE                          set table block size in kB [8]  --with-segsize=SEGSIZE  set table segment size in GB [1]  --with-wal-blocksize=BLOCKSIZE                          set WAL block size in kB [8]  --with-wal-segsize=SEGSIZE                          set WAL segment size in MB [16]  --with-CC=CMD           set compiler (deprecated)  --with-tcl              build Tcl modules (PL/Tcl)  --with-tclconfig=DIR    tclConfig.sh is in DIR  --with-perl             build Perl modules (PL/Perl)  --with-python           build Python modules (PL/Python)  --with-gssapi           build with GSSAPI support  --with-krb5             build with Kerberos 5 support  --with-krb-srvnam=NAME  default service principal name in Kerberos                          [postgres]  --with-pam              build with PAM support  --with-ldap             build with LDAP support  --with-bonjour          build with Bonjour support  --with-openssl          build with OpenSSL support  --without-readline      do not use GNU Readline nor BSD Libedit for editing  --with-libedit-preferred                          prefer BSD Libedit over GNU Readline  --with-ossp-uuid        use OSSP UUID library when building                          contrib/uuid-ossp  --with-libxml           build with XML support  --with-libxslt          use XSLT support when building contrib/xml2  --with-system-tzdata=DIR                          use system time zone data in DIR  --without-zlib          do not use Zlib  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]Some influential environment variables:  CC          C compiler command  CFLAGS      C compiler flags  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a              nonstandard directory <lib dir>  LIBS        libraries to pass to the linker, e.g. -l<library>  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if              you have headers in a nonstandard directory <include dir>  CPP         C preprocessor  LDFLAGS_SL  linker flags for shared library linking  DOCBOOKSTYLE              location of DocBook stylesheetsUse these variables to override the choices made by `configure' or to helpit to find libraries and programs with nonstandard names/locations.Report bugs to <pgsql-bugs@postgresql.org>.[postgres@localhost postgresql-8.4.2]$



 

 



 

 
原创粉丝点击