CentOS下PostgreSQL及php-pgsql(pdo_pgsql,pgsql)扩展安装,全程自测并梳理记录

13 篇文章 0 订阅
1 篇文章 0 订阅
下载

官网下载地址:

https://www.postgresql.org/download/linux/redhat/

根据提示进行相应的版本选择(1,2,3):
在这里插入图片描述
执行步骤(4、5、6)的对应命令

至此安装已经完成

现在开始创建用户和数据库

使用postgres用户登录(PostgresSQL安装后会自动创建postgres用户,无密码)

su - postgres

登录postgresql数据库

psql

创建用户和数据库并授权

create user test_user with password 'abc123';            // 创建用户
create database test_db owner test_user;                 // 创建数据库
grant all privileges on database test_db to test_user;   // 授权

退出psql(输入 \q 再按回车键即可)

\q

退出bash

exit
至此用户及数据库已经创建完成

现在开启远程访问

修改/var/lib/pgsql/12/data/postgresql.conf文件,取消 listen_addresses 的注释,将参数值改为“*”

vi /var/lib/pgsql/12/data/postgresql.conf

如下图所示
在这里插入图片描述
修改/var/lib/pgsql/12/data/pg_hba.conf文件,增加下图红框部分内容

vi /var/lib/pgsql/12/data/pg_hba.conf

如下图所示
在这里插入图片描述
重启postgresql服务

systemctl restart postgresql-12.service

配置防火墙(开启5432端口,由于不同的防火墙开启方法不同,此处不再赘述)

至此数据库已经可以远程正常连接

现在开始使用navicat测试连接

在这里插入图片描述
在这里插入图片描述
如果是通过ssh连接的,开防火墙的操作可以免除,但需要填写ssh连接信息然后点击测试连接即可出现上述截图
在这里插入图片描述

至此navicat已经连接成功
关于postgresql的额外补充
修改默认生成的 postgres 用户密码

此postgres非上面的postgres用户,此为数据库的用户,上面的为操作系统的用户

su - postgres
psql -U postgres
alter user postgres with encrypted password '1';

在这里插入图片描述

服务启动、关闭、重启、查看状态命令
systemctl start postgresql-10.service     // 启动服务
systemctl stop postgresql-10.service      // 关闭服务
systemctl restart postgresql-10.service   // 重启服务
systemctl status postgresql-10.service    // 查看状态

安装php-pgsql扩展前的准备工作

由于直接安装php-pgsql会出现找不到libpq-fe.h头文件,因此先装这部分的支持(这里顺便整理列出了其他操作系统的安装方式)

对于Ubuntu系统:

sudo apt-get install libpq-dev

在Red Hat Linux(RHEL)系统上:

yum install postgresql-devel

对于Mac Homebrew:

brew install postgresql

对于Mac MacPorts PostgreSQL:

gem install pg -- --with-pg-config=/opt/local/lib/postgresql[version number]/bin/pg_config

对于OpenSuse:

zypper in postgresql-devel
至此准备工作已经完成
现在安装php-pgsql(pdo_pgsql,pgsql)扩展

这里我们假设一个场景:
环境用的是lnmp.org所提供的lnmp1.6版一键安装包,PHP版本用的是php-7.3.11
lnmp1.6一键安装包所在路径:

/home/lnmp1.6-full.tar.gz

首先进入/home,然后解压一键安装包,再进入src目录,也就是这个安装包的所有资源目录,你可以在/home/lnmp1.6-full/src里面找到php-7.3.11.tar.bz2,这个就是php-7.3.11的安装包,接着我们解压php-7.3.11的安装包,进入/home/lnmp1.6-full/src/php-7.3.11/ext,在里面有常用的扩展,其中就包括了pdo_pgsql,pgsql,考虑到操作的便捷性此处用一句话命令囊括安装的命令:

cd /home &&  tar zxf lnmp1.6-full.tar.gz && cd lnmp1.6-full && cd src && tar -jxvf php-7.3.11.tar.bz2 && cd php-7.3.11 && cd ext && cd pgsql && phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install && cd .. && cd pdo_pgsql && phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
至此扩展已经安装完成

现在开启刚安装的扩展

编辑php.ini文件

vi /usr/local/php/etc/php.ini

在末尾加上

extension=pdo_pgsql.so
extension=pgsql.so

重启php,如果你用的也是lnmp,那就执行

lnmp restart

最后验证扩展是否成功安装并生效,执行以下命令:

php -m

看到如下截图表示已经成功:
在这里插入图片描述

至此所有的操作均已完成
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值