首页 > 数据库 >CentOS 7.2 源码安装 PostgreSQL 9.0

CentOS 7.2 源码安装 PostgreSQL 9.0

时间:2022-10-25 12:55:23浏览次数:87  
标签:PostgreSQL CentOS data 源码 postgresql root 9.0 localhost

安装PGSQL

PGSQL源码地址:https://ftp.postgresql.org/pub/source/

下载9.0版本源码

[root@localhost soft]# wget https://ftp.postgresql.org/pub/source/v9.0.0/postgresql-9.0.0.tar.gz --no-check-certificate

解压源码并进入解压目录

[root@localhost soft]# tar -zxvf postgresql-9.0.0.tar.gz
[root@localhost soft]# cd postgresql-9.0.0

配置编译安装包含插件

[root@localhost postgresql-9.0.0]# ./configure --prefix /data/programs/PostgreSQL/9.0 CFLAGS="-Wno-aggressive-loop-optimizations"

[root@localhost postgresql-9.0.0]# make world

[root@localhost postgresql-9.0.0]# make install-world

 

进入安装目录

[root@localhost postgresql-9.0.0]# cd /data/programs/PostgreSQL/9.0/

 

添加postgres用户组及用户

[root@localhost 9.0]# groupadd postgres
[root@localhost 9.0]# useradd -g postgres postgres

创建数据存储目录

[root@localhost 9.0]# mkdir /data/programs/PostgreSQL/9.0/data

修改数据存储目录权限

[root@localhost 9.0]# chown postgres:postgres /data/programs/PostgreSQL/9.0/data

中文环境设置

#临时修改(当前终端生效):
export LANG="zh_CN.UTF-8"

#永久修改:
echo "export LANG=zh_CN.UTF-8"  >> /etc/profile
source /etc/profile

切换postgres用户

[root@localhost 9.0]# su postgres
#如果出现 bash: /home/postgres/.bashrc: Permission denied
#使用root用户,设置home目录权限
[root@localhost 9.0]# chmod 77 /home/postgres

初始化data目录

[postgres@localhost 9.0]$ /data/programs/PostgreSQL/9.0/bin/initdb --pgdata /data/programs/PostgreSQL/9.0/data --encoding=UTF8 --lc-collate=zh_CN.utf8 --lc-ctype=zh_CN.utf8 --lc-messages=zh_CN.utf8 --lc-monetary=zh_CN.utf8 --lc-numeric=zh_CN.utf8 --lc-time=zh_CN.utf8

启动pgsql服务

[postgres@localhost 9.0]$ /data/programs/PostgreSQL/9.0/bin/pg_ctl --pgdata /data/programs/PostgreSQL/9.0/data start

停止pgsql服务

[postgres@localhost 9.0]$ /data/programs/PostgreSQL/9.0/bin/pg_ctl --pgdata /data/programs/PostgreSQL/9.0/data stop

使用service启动

拷贝文件

[root@localhost 9.0]# cp /data/soft/postgresql-9.0.0/contrib/start-scripts/linux /etc/init.d/postgresql-9.0

赋予执行权限

[root@localhost 9.0]# chmod +x /etc/init.d/postgresql-9.0

编辑文件

创建log目录

[root@localhost 9.0]# mkdir /data/programs/PostgreSQL/9.0/data/pg_log

启动服务

[root@localhost 9.0]# service postgresql-9.0 start

配置网络访问

[root@localhost 9.0]# vim /data/programs/PostgreSQL/9.0/data/postgresql.conf

配置错误日志

[root@localhost 9.0]# vim /data/programs/PostgreSQL/9.0/data/postgresql.conf

添加密码访问

[root@localhost 9.0]# vim /data/programs/PostgreSQL/9.0/data/pg_hba.conf

修改配置需要重启服务

[root@localhost 9.0]# service postgresql-9.0 restart

修改密码,用户名postgres

[postgres@localhost bin]$ /data/programs/PostgreSQL/9.0/bin/psql

安装过程中的错误处理

错误信息:

configure: error: readline library not found
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

[root@localhost postgresql-9.0.0]# yum install readline readline-devel -y

错误信息:

configure: error: zlib library not found
If you have zlib already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.

安装zlib

[root@localhost postgresql-9.0.0]# yum install zlib zlib-devel -y

错误信息:

initializing pg_authid ... FATAL:  wrong number of index expressions
STATEMENT:  REVOKE ALL on pg_authid FROM public;
    
child process exited with exit code 1

gcc版本过高。高版本的gcc采用了更激进的循环上界分析推导算法。但这会导致一些旧的程序运行出错。在数据库编译安装进行configure操作时,添加参数"-Wno-aggressive-loop-optimizations"或"-fno-aggressive-loop-optimizations"。

参考原文:https://blog.csdn.net/pg_hgdb/article/details/95345650 

[root@localhost postgresql-9.0.0]# cd /data/soft/postgresql-9.0.0
[root@localhost postgresql-9.0.0]# make clean
[root@localhost postgresql-9.0.0]# ./configure --prefix /data/programs/PostgreSQL/9.0 CFLAGS="-Wno-aggressive-loop-optimizations"
#重新编译安装

 

标签:PostgreSQL,CentOS,data,源码,postgresql,root,9.0,localhost
From: https://www.cnblogs.com/gzhq/p/16820402.html

相关文章

  • vue源码中的nextTick是怎样实现的
    一、Vue.nextTick内部逻辑在执行initGlobalAPI(Vue)初始化Vue全局API中,这么定义Vue.nextTick。functioninitGlobalAPI(Vue){//...Vue.nextTick=ne......
  • 硬核剖析ThreadLocal源码,面试官看了直呼内行
    工作面试中经常遇到ThreadLocal,但是很多同学并不了解ThreadLocal实现原理,到底为什么会发生内存泄漏也是一知半解?今天一灯带你深入剖析ThreadLocal源码,总结ThreadLocal使用......
  • VM安装Centos 经典安装
    1VM安装配置1.1新建虚拟机 1.2选择典型   1.3选择CentOS镜像 1.4存储位置  1.5虚拟机磁盘配置 1.6自定义其他配置在自定义硬件中,我......
  • 虚拟机VMware上CentOS 6
    虚拟机VMware上CentOS6.8配置网络1.NAT模式1.1配置虚拟网络配置器1.2编辑DHCP1.3编辑ifcfg-eth0文件1.4检查IP1.5检查网络连通性2.桥接模式2.1配置......
  • centos虚拟机修复网络
    vi/etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO="static"IPADDR=192.168.96.11(此处的IP就是你虚拟机的IP)GATEWAY=192.168.96.2(这是网关,此网关不是真实的交......
  • 6.HashMap源码解析
    1.数据结构如上图所示,HashMap底层的数据结构主要是数组+链表+红黑树。其中当链表的长度大于等于8时,链表会转化成红黑树,当红黑树的大小小于等于6时,红黑树会转化成链表。......
  • 7.TreeMap源码解析
    1.数据结构TreeMap的底层数据结构是红黑树,和HashMap的红黑树结构一样。不同的是,TreeMap利用红黑树左节点小,右节点大的性质,根据key进行排序,使每个元素能够插入到红黑树的适......
  • 5.List源码面试题集锦
    1.新建一个ArrayList,现在add一个值,此时数组的大小是多少?下一次扩容前最大可用大小是多少?答:此处数组的大小是1,下一次扩容前最大可用大小是10。因为ArrayList无参构造器初始......
  • 4.LinkedList源码解析
    1.数据结构LinkedList底层数据结构是一个双向链表,整体结构如上图所示,链表中的每个节点都可以向前或者向后追溯。源码privatestaticclassNode<E>{//节点值Eite......
  • 3.ArrayList源码解析
    1.数据结构ArrayList的数据结构是一个数组,如上图所示,图中展示的是一个长度为10的数组,从1开始计数,index表示数组的下标,从0开始计数,elementData表示数组元素。除此之外,源码中......