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日

相关推荐

发表回复

登录后才能评论