1.环境说明

CentOS7.2
postgresql10.4

2.下载

postgresql的官方地址
 https://www.postgresql.org/ftp/source/
在下载列表中根据需求选择版本10.4,如下图:

进入子目录后,可以看到文件列表:

选择postgresql-10.4.tar.gz,下载完成后上传至RedHat服务器的指定目录即可。

3.配置编译安装

tar -zxvf postgresql-10.4.tar.gz

cd postgresql-10.4

./configure --prefix=/usr/local/postgresql

编译postgres,发现提示缺少readline库,如下图:

yum search readline

发现一个readline-devel包

yum install readline-devel
重新配置
./configure --prefix=/usr/local/postgresq
没报错 编译安装
make && make install

4.配置用户权限与环境变量

useradd postgres

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

su - postgres

vi ~/.bash_profile

PGHOME=/usr/local/postgresql
export PGHOME PGDATA=/usr/local/postgresql/data
export PGDATA PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
修改完成后可以通过source ./.bash_profile使其立即生效
source ~/.bash_profile

5.初始化数据库

###在使用initdb进行初始化的同时我们可以指定参数来同时进行一些初始化工作,例如指定pgdata(postgresql数据目录)、
指定encoding(编码)、指定数据库超级用户的用户名和密码等等,在最后面我标记出的这段话指出了如果data目录没有指定,
则会默认使用环境变量中的PGDATA,由于之前我们刚刚设置了PGDATA环境变量,所以此处我们也就无需再额外指定,最后执行
初始化命令即可: initdb

初始化完成后,在postgresql的目录可以看到生成的数据目录data以及该目录的相关数据和配置文件:

#base目录是表空间目录
#global目录是相关全局变量的目录
#pg_hba.conf:访问控制配置(127.0.0.1改为信任的客户端ip网段使其可以远程访问)
#postgresql.conf:postgresql主配置文件(listen_address=localhost改为星号使其监听整个网络)

6.修改配置文件

将pg_hba.conf的ip地址修改为0.0.0.0/0,而加密方式改为md5,表示需要密码访问:

修改 postgresql.conf 中的listen_address使其监听整个网络:

7.关闭防火墙

8.启动连接数据库

pg_ctl start -l /usr/local/postgresql/log/pg_server.log

psql

ps -ef|grep postgres

Redhat 7.2 编译安装PostgreSQL 10的更多相关文章

  1. Ubuntu下编译安装postgreSQL 10.5

    Ubuntu下编译安装postgreSQL 10.5 ubuntu 16.04 LTS系统postgreSQL 10.5 安装包准备 1.从PostgreSQL官网下载PostgreSQL的安装包 安 ...

  2. Redhat环境下编译安装Google Bazel

    Redhat环境下编译安装bazel 作者:Jack47 目前Google Bazel没有提供各个操作系统下的二进制安装包,只提供源代码,需要我们自己编译安装,详情可以见我翻译的中文版Google B ...

  3. CentOS 7.3.1611编译安装Nginx1.10.3+MySQL5.7.16+PHP7.1.2

    前传: 1.CentOS 7.3.1611系统安装配置图解教程 http://www.jb51.net/os/RedHat/597874.html 2.CentOS服务器初始化设置 http://ww ...

  4. 在CentOS 7 / RHEL 7安装PostgreSQL 10

    CentOS 到了7.x版本, PostgreSQL也来到了10.x版本. 前些天MySQL都直接跨到了8.0版本. 本文是一篇在CentOS 7.4上安装安装PostgreSQL 10.3 的教程. ...

  5. CentOS7 编译安装 nginx-1.10.0

    对于NGINX 支持epoll模型 epoll模型的优点 定义: epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的 ...

  6. CentOS 7.2.1511编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

  7. CentOS 7.2.1511编译安装Nginx1.10.1+MySQL5.6.33+PHP5.6.26

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

  8. CentOS 7.x编译安装Nginx1.10.3+MySQL5.7.16+PHP5.2 5.3 5.4 5.5 5.6 7.0 7.1多版本全能环境

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.se ...

  9. linux下编译安装MariaDB 10.4.7,解决错误:cannot access ‘/auth_pam_tool_dir’: No such file or directory

    编译安装MariaDB 10.4.7,前面的步骤我就不复述了,一切正常没什么问题. 当执行到:scripts/mysql_install_db --basedir=/usr/local/mysql - ...

随机推荐

  1. gdb调试libtool封装的可执行文件

    http://www.gnu.org/software/libtool/manual/html_node/Debugging-executables.html 3.4 Debugging execut ...

  2. css中的f弹性盒子模型的应用案例

    案例1: <!doctype html> <html> <head> <meta charset="utf-8"> <meta ...

  3. STL标准库-容器-vector

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性. 向量容器vector是一个动态数组,内存连续,它是动态分配内存,且每次扩张的原来的二倍. 他的结构如下 一 定义 vector ...

  4. 网络编程I/O函数介绍

    read和write #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); ssize_t write(in ...

  5. 最终还是迁移到github

    作为全球最大的程序员同性交友社区,github pages 吸引了我 为了有一个更好的博客的写作环境 将会把内容逐渐迁移到 github.io 地址 zongxiao.github.io 新的文章也会 ...

  6. 关键词提取算法-TextRank

    今天要介绍的TextRank是一种用来做关键词提取的算法,也可以用于提取短语和自动摘要.因为TextRank是基于PageRank的,所以首先简要介绍下PageRank算法. 1.PageRank算法 ...

  7. ieee80211 phy1: Failed to select rate control algorithm

    /************************************************************************ * ieee80211 phy1: Failed t ...

  8. 20155313 2016-2017-2 《Java程序设计》第六周学习总结

    20155313 2016-2017-2 <Java程序设计>第六周学习总结 教材内容学习 第十章 输入/输出 10.1 InputStream与OutputStream 1.串流设计的概 ...

  9. ssh的时候提示No user exists for uid 501

    原来是oh my zash升级导致的.关闭iterm2然后重新打开iterm2就可以了

  10. flask第二十五篇——控制语句

    有兴趣的请加船长公众号:自动化测试实战 先和大家强调一个发邮件的问题 # coding: utf-8 import smtplib from email.mime.text import MIMETe ...