+
80
-

centos如何安装PostgresSQL和php扩展并连接?

centos如何安装PostgresSQL和php扩展并连接?

网友回复

+
0
-

安装postgresql

1、安装rpm文件

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2、安装客户端

yum install postgresql10

3、安装服务端

yum install postgresql10-server

4、初始化

/usr/pgsql-10/bin/postgresql-10-setup initdb

5、设置自动启动并且启动postgresql服务

systemctl enable postgresql-10

systemctl start postgresql-10

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

2、登录postgresql数据库

psql 7、创建用户和数据库并授权 create user test_user with password 'abc123'; // 创建用户 create database test_db owner test_user; // 创建数据库 grant all privileges on database test_db to test_user; // 授权 8、退出psql(输入 \q 再按回车键即可) \q

开启远程访问 1、修改/var/lib/pgsql/10/data/postgresql.conf文件,取消 listen_addresses 的注释,将参数值改为“*”

2、修改/var/lib/pgsql/10/data/pg_hba.conf文件,增加下图红框部分内容

3、切换到root用户,重启postgresql服务 systemctl restart postgresql-10.service 修改默认用户postgres的密码 1、修改默认生成的 postgres 用户密码(此postgres非上面的postgres用户,此为数据库的用户,上面的为操作系统的用户) su - postgres

psql -U postgres

alter user postgres with encrypted password '1';

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

systemctl stop postgresql-10.service // 关闭服务

systemctl restart postgresql-10.service // 重启服务

systemctl status postgresql-10.service // 查看状态

+
0
-

首先安装

yum -y install postgresql-devel

然后我们到php源代码的的目录ext下,我们以php7.2.33为例,进入pdo_pgsql目录

cd pdo_pgsql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pgsql=/usr/pgsql-10
make && make install

我们打开php的配置文件

vim /usr/local/php/etc/php.ini

最后一行增加

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/pdo_pgsql.so

重启php就好了

service php-fpm reload

附上php连接postgresql增删改查代码:

<?php
  $host    = "host=127.0.0.1";
  $port    = "port=5432";
  $dbname   = "dbname=testdb";
  $credentials = "user=postgres password=pass123";
  $db = pg_connect( "$host $port $dbname $credentials" );
  if(!$db){
   echo "Error : Unable to open database\n";
  } else {
   echo "Opened database successfully\n";
  }
?>

我知道答案,我要回答