咨询热线:4006-75-4006
售前:9:00-23:30 备案:9:00-18:00 技术:7*24h
一、下载并解压源码包
官网 https://www.landui.com/download/ 下载源码包就好,我这里下载的是postgresql-15.4.tar.gz。
然后将源码包拷贝到Linux系统中或者直接使用wget下载到系统中
wget http://www.landui.com/pub/source/v15.4/postgresql-15.4.tar.gz
建议将源码包放在/usr/local/src文件夹下,因为这个文件夹通常是系统管理员放置源码包的地方,约定俗成,便于管理。同时也建议使用root用户来安装软件,否则安装过程可能会提示权限不够。
解压源码包:
解压成功!
二、查看INSTALL与README等相关文件
INSTALL和README是软件厂商放置在源码包中的说明文件,阅读它们有助于我们安装软件。
进入postgresql-15.4目录,查看文件列表:
由于我们是在安装PostgreSQL,所以查看INSTALL文件就好,使用vi查看INSTALL文件:
可以发现,INSTALL文件中说明了安装的步骤:
三、检测环境,并建立makefile
刚才解压出的postgresql-15.4目录下的configure可执行文件,可以用于检测系统环境(比如检测是否有合适的编译器,是否存在本软件所需要的函数库等等)。
检测完后,configure程序还会帮助我们创建GNUmakefile或makefile文件,这是一个用于宏编译的文件,简单来说就是能够帮我们自动操作许多编译步骤的脚本文件。
那现在就来运行configure程序,并且加上参数--prefix,这个参数用于指定软件安装的位置:
./configure --prefix=/usr/local/pgsql
我这里指定PostgreSQL安装在/usr/local/pgsql中。
报错:configure: error: readline library not found
解决方案:
安装失败时会提示执行 ./configure 加上 --without-readline 选项,不编译 readline:
If you have readline already installed, see config.log for details on the
failure. It is possible the compiler isn't looking in the proper directory.
Use --without-readline to disable readline support.
但是不建议这样做,readline 的作用是能够在 pg 控制台读取历史命令,就像在 linux shell 中按上下键读取历史命令,不需要再手动输入重复的命令
可安装如下依赖解决该问题:
yum install -y readline-devel
重新执行./configure --prefix=/usr/local/pgsql
查看postgresql-15.4目录的文件列表:
果然生成了GNUmakefile文件!
四、编译
有了GNUmakefile文件,现在就可以使用make命令来编译了:
make clean; make
编译过程可能需要几分钟时间。
编译完成后,等待安装。
五、安装
接下来,直接安装,安装的位置就是刚才前面执行configure程序时设置的位置:
make install
安装成功查看/usr/local目录的文件列表,可以发现PostgreSQL成功安装在该目录:
六、创建postgres用户和创建data文件夹
创建一个postgres用户来操作数据库:
adduser postgres
在/usr/local/pgsql目录下创建data文件夹:
改变data文件夹的所有者为postgres:
chown postgres /usr/local/pgsql/data
七、配置环境变量
切换到postgres用户:
编辑postgres家目录下的.bashrc文件
vi .bashrc
编辑完成后,按esc,输入wq保存退出,重新启用一下配置文件:
source .bashrc
八、初始化数据库并设置postgres用户的密码
初始化数据库:
Initdb
启动数据库:
pg_ctl start
设置postgres这个用户的密码:
pgsql -U postgres
九、设置监听
修改/usr/local/pgsql/data下的pg_hba.conf配置文件,将IPv4 local connections下面的一行改为如下所示:
vi /usr/local/pgsql/data/pg_hba.conf
修改/usr/local/pgsql/data下的postgresql.conf配置文件,修改为如下所示:
vi /usr/local/pgsql/data/postgresql.conf
重启PostgreSQL服务:
pg_ctl restart
十、远程连接PostgreSQL
现在在Windows操作系统中便可以使用远程连接工具连接刚才在Linux中安装的PostgreSQL。