下载
官网下载地址:
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
看到如下截图表示已经成功: