CentOS6.9编译安装postgresql和php的pdo_pgsql,pgsql扩展

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 这篇笔记记录了在CentOS6.9中源码编译安装postgresql的过程,也记录了源码编译安装php的pdo_pgsql,pgsql扩展的过程,由于mysql存在闭源风险,现在postgresql真是越来越火啊

1.安装依赖

yum install gcc gcc-c++ make readline-devel flex zlib-devel

2.下载源码,解压

创建源码存放目录

mkdir -p /usr/local/src
cd /usr/local/src

下载解压

wget -c https://ftp.postgresql.org/pub/source/v10.0/postgresql-10.0.tar.gz
tar -zxvf postgresql-10.0.tar.gz
cd postgresql-10.0

3.配置,编译,安装

./configure --prefix=/usr/local/pgsql
make -j4
make install

4.创建用户

useradd postgres

5.创建数据目录

mkdir -p /usr/local/pgsql/data

6.设置权限

chown -R postgres:postgres /usr/local/pgsql

7.初始化数据库

切换用户

su postgres

进入bin目录

cd /usr/local/pgsql/bin

初始化数据库

./initdb -D /usr/local/pgsql/data

退出postgres用户

exit
8.复制启动脚本

cp /usr/local/src/postgresql-10.0/contrib/start-scripts/linux /etc/init.d/pgsqld

9.设置权限

chmod 755 /etc/init.d/pgsqld

10.设置开机启动

chkconfig pgsqld on

11.启动

service pgsqld start

12.查看版本信息

切换用户

su postgres

查看版本

[postgres@jmsite pgsql]$ /usr/local/pgsql/bin/psql
psql (10.0)
Type "help" for help.

postgres=# select version();
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 10.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23), 64-bit
(1 row)

postgres=# \q
[postgres@jmsite pgsql]$

13.安装pdo_pgsql,pgsql扩展

进入php源码自带的pgsql源码目录

cd /usr/local/src/php-7.2.13/ext/pgsql/

找到phpize位置

whereis phpize

生成configure文件

/usr/local/php72/bin/phpize

配置,php-config一般和phpize在同级目录

./configure --with-php-config=/usr/local/php72/bin/php-config

编译,安装

make
make install
Installing shared extensions:     /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/

提示扩展已经安装到了相应目录

ls /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/
pgsql.so

进入pdo_pgsql源码目录

cd /usr/local/src/php-7.2.13/ext/pdo_pgsql/

生成configure

/usr/local/php72/bin/phpize

配置

./configure --with-php-config=/usr/local/php72/bin/php-config

编译,安装

make
make install
Installing shared extensions:     /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/

提示扩展已经安装到了相应目录

ls /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/
pdo_pgsql.so  pgsql.so

将扩展加入php.ini

echo "extension=pgsql.so" >> /usr/local/php72/etc/php.ini
echo "extension=pdo_pgsql.so" >> /usr/local/php72/etc/php.ini

重启php,查看phpinfo();


原文地址:https://www.jmsite.cn/blog-278.html

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
掌阅科技采用云原生数据库PolarDB,大幅降低使用成本,提升业务稳定性和扩展性
掌阅科技将数据库迁移到PolarDB后,数据压缩到之前的30%,整体成本节省50%。
92 0
|
1月前
|
Linux 开发工具 C语言
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
Centos8下编译安装最新版ffmpeg解决方案(含Centos8换源阿里云)
143 3
|
2月前
|
关系型数据库 Linux Shell
Centos系统上安装PostgreSQL和常用PostgreSQL功能
Centos系统上安装PostgreSQL和常用PostgreSQL功能
|
3月前
|
Linux C语言
centos 7 下使用高版本gcc编译安装
centos 7 下使用高版本gcc编译安装
113 0
|
4月前
|
SQL 关系型数据库 C语言
PostgreSQL【应用 03】Docker部署的PostgreSQL扩展SQL之C语言函数(编写、编译、载入)计算向量余弦距离实例分享
PostgreSQL【应用 03】Docker部署的PostgreSQL扩展SQL之C语言函数(编写、编译、载入)计算向量余弦距离实例分享
43 0
|
4月前
|
SQL 关系型数据库 数据库
PostgreSQL【应用 02】扩展SQL之C语言函数(编写、编译、载入)实例分享
PostgreSQL【应用 02】扩展SQL之C语言函数(编写、编译、载入)实例分享
47 0
|
4月前
|
SQL 关系型数据库 编译器
PostgreSQL SQL扩展 ---- C语言函数(二)
可以用C(或者与C兼容,比如C++)语言编写用户自定义函数(User-defined functions)。这些函数被编译到动态可加载目标文件(也称为共享库)中并被守护进程加载到服务中。“C语言函数”与“内部函数”的区别就在于动态加载这个特性,二者的实际编码约定本质上是相同的(因此,标准的内部函数库为用户自定义C语言函数提供了丰富的示例代码)
65 0
|
4月前
|
SQL 存储 关系型数据库
PostgreSQL SQL扩展 ---- C语言函数(一)
可以用C(或者与C兼容,比如C++)语言编写用户自定义函数(User-defined functions)。这些函数被编译到动态可加载目标文件(也称为共享库)中并被守护进程加载到服务中。“C语言函数”与“内部函数”的区别就在于动态加载这个特性,二者的实际编码约定本质上是相同的(因此,标准的内部函数库为用户自定义C语言函数提供了丰富的示例代码)
43 0
|
4月前
|
应用服务中间件 Linux PHP
百度搜索:蓝易云【在centos中配置nginx+php的环境教程。】
请注意,上述步骤是基本的配置指南,实际操作中可能会有特定的需求和配置。建议参考Nginx和PHP官方文档或其他详细教程以获得更全面和准确的信息。
43 0
|
4月前
|
Linux Python
百度搜索:蓝易云【CentOS 7.8编译安装python 3.7教程。】
请注意,编译安装Python可能需要一些时间,并需要较高的系统性能和网络连接。在安装过程中,请确保按照提示和错误信息进行相应的操作和解决方案。
84 1