PostgreSQL 生产环境一般使用编译安装方式,今天刚好有个测试库需要重新安装,重新梳理了安装过程中遇到的常见问题,觉得有必要整理一下,首先看下安装步骤,以下摘自手册,以 9.1版本 CentOS 5.5 平台安装为例,其它版本安装过程类似。
这篇 BLOG 不详细介绍安装过程,关于安装步骤,参考:RedHat Enterprise 5上安装 Postgresql
安装简版
1 | 1) ./configure |
备注:上面 12 步包括了 PostgreSQL 软件的安装,PG 服务初始化以及建库操作。其中 1-4 是软件安装过程,在第一步 configure 过程中遇到的问题较多。
安装需求
2.1 必须的系统组件
- 需要 3.8 版本或更新的 GNU make version
- 需要一个ISO/ANSIC编译器(至少兼容C89),推荐使用最近版本的GCC
- 需要tar来解压,也需要 gzip 或者 bzip2
- GNU Readline 库: 这可以记住 psql 历史命令
- PG默认安装时会使用 zlib压缩库 ,这个工具支持 pg_dump 和 pg_restore 的压缩选项。
2.2 可选的系统组件
以下的包是可选的,在默认安装时并不需要,当某些特定的选项打开时才可能需要。
- PL/Perl
- PL/Python
- PL/Tcl
- Native Language Support (NLS)
- 如果要支持认证或加密,可能需要 Kerberos, OpenSSL, OpenLDAP, 或者 PAM,
备注:可选组件根据需求选择安装。
编译常见问题
下载介质并解压后,进行文件目录执行 configure 操作,这步操作遇到的问题较多,例如:
问题1:gcc 没安装
1 | [root@host postgresql-9.1.9]# ./configure --prefix=/opt/pgsql9.1.9 --with-pgport=1921 --with-wal-blocksize=16 |
解决方法
安装gcc包,如下:1
2
3
4
5
6
7[root@host172-16-3-215 ~]# yum install gcc
[root@host172-16-3-215 ~]# gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
问题2:readline 没安装
1 | [root@host postgresql-9.1.9]# ./configure --prefix=/opt/pgsql9.1.9 --with-pgport=1921 --with-wal-blocksize=16 |
解决方法
安装 readline 包,如下:1
root@host ~]# yum install readline-devel.x86_64
备注:安装 readline 组件开发包。
问题3:zlib 没安装
1 | [root@host postgresql-9.1.9]# ./configure --prefix=/opt/pgsql9.1.9 --with-pgport=1921 --with-wal-blocksize=16 |
解决方法
安装 zlib 开发包,如下:1
[root@host ~]
备注:安装 zlib 组件开发包,暂时先总结这些,之后遇到新问题再补充。