本文将介绍在centos中使用源码安装PostgreSQL数据库。我这里选择的版本是PostgreSQL9.5.19。
一、下载并解压源码包
直接去PostgreSQL官网 PostgreSQL: File Browser 下载源码包就好,我这里下载的是postgresql-9.5.19.tar.gz。
然后将源码包拷贝到Linux系统中,建议将源码包放在/usr/local/src文件夹下,因为这个文件夹通常是系统管理员放置源码包的地方,约定俗成,便于管理。同时也建议使用root用户来安装软件,否则安装过程可能会提示权限不够。
现在解压源码包:
![a8752cd2bdb9b35186f5fc8575df0c0d.png](https://i-blog.csdnimg.cn/blog_migrate/8c825fdf89deeed0d1143d32b922caa4.png)
![3ff591459caabc2d87008da744abd21b.png](https://i-blog.csdnimg.cn/blog_migrate/db58883803c09cf9e40f30d7250d7b2f.jpeg)
解压成功!
二、查看INSTALL与README等相关文件
INSTALL和README是软件厂商放置在源码包中的说明文件,阅读它们有助于我们安装软件。
进入postgresql-9.5.19目录,查看文件列表:
![db014d1150ffe763520afe1139766166.png](https://i-blog.csdnimg.cn/blog_migrate/a0e6b0425fad73746ffe3ca2c5ab8fde.jpeg)
由于我们是在安装PostgreSQL,所以查看INSTALL文件就好,使用vim查看INSTALL文件:
![5c183984a60a77ba403d62ac84da320e.png](https://i-blog.csdnimg.cn/blog_migrate/99b8c1d8eb0c76dc07555374d0a8d90f.png)
可以发现,INSTALL文件中说明了安装的步骤:
![285da63e223ed01e935894a37690413c.png](https://i-blog.csdnimg.cn/blog_migrate/b7e092037ee951e6c1b7550d54834596.jpeg)
三、检测环境,并建立makefile
刚才解压出的postgresql-9.5.19目录下的configure可执行文件,可以用于检测系统环境(比如检测是否有合适的编译器,是否存在本软件所需要的函数库等等)。
检测完后,configure程序还会帮助我们创建GNUmakefile或makefile文件,这是一个用于宏编译的文件,简单来说就是能够帮我们自动操作许多编译步骤的脚本文件。
那现在就来运行configure程序,并且加上参数--prefix,这个参数用于指定软件安装的位置:
![606975186a95be2110430863f1e1bccb.png](https://i-blog.csdnimg.cn/blog_migrate/14ae85b4262aab7b8c2c14c30637d274.png)
我这里指定PostgreSQL安装在/usr/local/pgsql中。
查看postgresql-9.5.19目录的文件列表:
![ae25978679f3b5a51c9ff5edcdcb0ce5.png](https://i-blog.csdnimg.cn/blog_migrate/565b1b510ea29b2d28d95927da16fbcf.jpeg)
果然生成了GNUmakefile文件!
四、编译
有了GNUmakefile文件,现在就可以使用make命令来编译了:
![409ca3731a3e52e83e06ce2cedce3dba.png](https://i-blog.csdnimg.cn/blog_migrate/3e94f007b65e1f89874c5d6105649927.png)
编译过程可能需要几分钟时间。
编译完成后,命令行显示编译完成,等待安装:
![1fd684e99cb3504638163b896d94bf74.png](https://i-blog.csdnimg.cn/blog_migrate/df48757065836181903a1534513d385e.jpeg)
五、安装
接下来,直接安装,安装的位置就是刚才前面执行configure程序时设置的位置:
![7807f58173656c7fadfda1a112ce8ccf.png](https://i-blog.csdnimg.cn/blog_migrate/68af6e36e2e1219a5c9dc80037d1d087.png)
命令行显示安装成功:
![319f75606102ac30b4b8789dd51b2745.png](https://i-blog.csdnimg.cn/blog_migrate/cbfe6279c25e1ad1d064c22c330ff5ac.png)
查看/usr/local目录的文件列表,可以发现PostgreSQL成功安装在该目录:
![0504becbc0e8d8cf30e26c489aea2594.png](https://i-blog.csdnimg.cn/blog_migrate/b11d324da87ba44ecbc28f00058c45f8.jpeg)
六、创建postgres用户和创建data文件夹
创建一个postgres用户来操作数据库:
![ce7c4ca3bab895708cc2dce855d8cdd9.png](https://i-blog.csdnimg.cn/blog_migrate/fb6328b31fd6a1136ae3173f9bb91f4b.png)
在/usr/local/pgsql目录下创建data文件夹:
![c62c011094f3ce4aa7f9dd83ea8b776a.png](https://i-blog.csdnimg.cn/blog_migrate/71ff25690fcf54c98410383e207e9c52.jpeg)
改变data文件夹的所有者为postgres:
![9747f0aea32bd290ad35cc69dba732ad.png](https://i-blog.csdnimg.cn/blog_migrate/2b1c221949d276d01424c0a5da0b57cc.png)
七、配置环境变量
切换到postgres用户:
![f1ca323c60fde1257421b6d759fabb15.png](https://i-blog.csdnimg.cn/blog_migrate/17afa35c439d6a5330a16027048b9517.png)
编辑postgres家目录下的.bashrc文件
![947a1a03c57b9dcbda7df74ca3cb4494.png](https://i-blog.csdnimg.cn/blog_migrate/199d81d34d4a23bacfe4bc93f20bc3fd.jpeg)
编辑完成后,按esc,输入wq保存退出,重新启用一下配置文件:
![738fe7386a0a8ee8db9dc1e1107e3231.png](https://i-blog.csdnimg.cn/blog_migrate/65d6fe2553549de516a9f1f86f33e584.png)
八、初始化数据库并设置postgres用户的密码
初始化数据库:
![377162d63a57d9e511eaab96be1f8d20.png](https://i-blog.csdnimg.cn/blog_migrate/0503c59c3fe4db1015d30802e74ae938.png)
启动数据库:
![c8af2679d49aa2b2d4e409fa6c6a60ad.png](https://i-blog.csdnimg.cn/blog_migrate/168730ff8dd70d9609e5e121e9a700e2.png)
设置postgres这个用户的密码:
![f140df3e1263b14890c696f3590f46ae.png](https://i-blog.csdnimg.cn/blog_migrate/60f6f68e0434ac3a95f52ab547f737f3.jpeg)
九、设置监听
修改/usr/local/pgsql/data下的pg_hba.conf配置文件,将IPv4 local connections下面的一行改为如下所示:
![e18744555a91f68848e2ab9117be6fc7.png](https://i-blog.csdnimg.cn/blog_migrate/dd2f771941a9679353a2390f03a2a9b6.png)
![fa4b6957574808380e093d42b208f9b9.png](https://i-blog.csdnimg.cn/blog_migrate/d604a210ea1088055de9573fc1de53e9.jpeg)
修改/usr/local/pgsql/data下的postgresql.conf配置文件,修改为如下所示:
![2d916fbe0a6d11ac832fc04af13cdf0c.png](https://i-blog.csdnimg.cn/blog_migrate/4eb840f2649bcf76dbb3c446fd582863.jpeg)
重启PostgreSQL服务:
![e34fbaaa11983a2e2789cbfa03ecdd78.png](https://i-blog.csdnimg.cn/blog_migrate/9127027ea386eb41ba2f44e8a929272c.png)
十、远程连接PostgreSQL
现在在Windows操作系统中使用pgAdmin4连接刚才在Linux中安装的PostgreSQL:
![1b9c7b25b8a14d493965075c2b25c776.png](https://i-blog.csdnimg.cn/blog_migrate/43bce3a22e8b356237b297a6e98db48f.jpeg)
![26946e0e0290dc12909f0419546fcf30.png](https://i-blog.csdnimg.cn/blog_migrate/d5219ab26e8f323cb1b91fc1b4da517a.jpeg)
![88f7456d0a4b37e56f0a10dc18fea7b3.png](https://i-blog.csdnimg.cn/blog_migrate/95530750f787bb43a2153721e23e5a24.jpeg)
![557d583315071388323cedb39d45ff87.png](https://i-blog.csdnimg.cn/blog_migrate/74f6b3645284c098efc1f6a78173c7df.jpeg)
连接成功!