准备工作
postgresql官网:http://www.postgresql.org/
下载软件:https://ftp.postgresql.org/pub/source/v9.5.3/postgresql-9.5.3.tar.bz2
安装、环境变量配置
1 | [root@localhost ~]# ./configure --prefix=/usr/local/postgresql-9.5.3 --with-python --with-perl |
常见问题FAQ
源码安装一般会出现一些依赖包的问题,因为每个系统的已有环境都不太一样,下面我列出了我碰到的几种依赖的问题,可以参考解决:1
2
3
4
5
6[root@localhost ~]# yum install -y redline
[root@localhost ~]# yum install -y readline-devel
[root@localhost ~]# yum install -y zlib-devel
[root@localhost ~]# yum install -y perl-devel
[root@localhost ~]# yum install -y perl-ExtUtils-*
[root@localhost ~]# yum install -y python-devel
其实思路一般都是这样:
- 根据报错信息得到缺少的”软件包名“
- 检查下系统是否已经安装了这个“软件包名”
rpm -qa|grep "软件包名"
- 上一步的结果如果是没有,则执行
yum install 软件包名
安装,如果有则一般代表需要安装他的开发包版本,则执行yum install 软件包名-devel
当如在未安装前,你可以根据需要安装软件的文档先检查一遍系统的依赖。
数据库配置、初始
创建数据库簇
1 | [root@localhost ~]# export PGDATA=/mnt/db/pgsql |
安装contrib下的工具
contrib 下面的工具比较实用,一般都会安装上。1
2
3
4[postgres@localhost ~]# exit ##退出postgresql 用户,使用root用户来编译安装
[root@localhost ~]# cd /usr/local/src/postgresql-9.2.4/contrib/
[root@localhost ~]# make
[root@localhost ~]# make install
启动和停止数据库
1 | [root@localhost ~]# su - postgres## 编译安装完了后,到了日常的系统维护,就养成切换回专门的用户来操作吧 |
修改监听IP和端口
在数据目录下编辑 postgresql.conf
文件,找到如下内容:1
2#listen_address = 'localhost'
#port = 5432
其中listen_address
表示监听的IP地址,默认是在“localhost”处监听,这会让远程主机无法登录这台数据库,可以修改成具体的内网地址,或者直接改成*
,表示本地所有地址上监听。
参数port
表示监听的数据库端口号,默认为5432
。如果一台机器需要安装几个数据库实例,可以调整这里的端口。
修改这两个参数,需要重启数据库生效。
与数据库log相关的参数
1 | # 日志的收集一般是打开的 |
内存参数设置
PostgreSQL可以修改以下两个主要参数:
- shared_buffers: 共享内存的大小,主要用于共享数据块
- work_mem: 单个SQL执行时,排序、hash join 所使用的内存,SQL运行完后,内存就释放了。