RedHat Linux上安装PostgreSQL详解数据库

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,并解压。

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

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

[[email protected] opt]$ cd postgresql-8.4.2/ 
[[email protected] postgresql-8.4.2]$./configure --prefix=/opt/postgresql --enable-profiling --with-blocksize=8 --with-wal-blocksize=8 

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

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

[[email protected] postgresql-8.4.2]$make

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

[[email protected] postgresql-8.4.2]$make install

9.初始化数据库。

[[email protected] postgresql-8.4.2]$ cd /opt/postgresql/bin/ 
[[email protected] 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. 启动数据库

[[email protected] bin]$./postgres -D /opt/postgresql/data 

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

[[email protected] bin]$ ./pg_ctl -D /opt/postgresql/data/ -l /opt/postgresql/log/pg_server.log start 

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

11.安装完毕。

 

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

[[email protected] 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 as 
VAR=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 specify 
an 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 files 
Optional 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 stylesheets 
Use these variables to override the choices made by `configure' or to help 
it to find libraries and programs with nonstandard names/locations. 
Report bugs to <[email protected]>. 
[[email protected] postgresql-8.4.2]$ 

 

 

 

 

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/4481.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论