1.安装必要的基本软件

yum install -y gcc.x86_64 glibc.x86_64 glibc-devel.x86_64 vim-enhanced.x86_64 gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64 docbook-dtds docbook-style-xsl fop libxslt perl-Module-Install.noarch zlib-devel.x86_64 readline-devel.x86_64

2.下载postgresql9.5的sourcecode

curl -O https://ftp.postgresql.org/pub/source/v9.5.1/postgresql-9.5.1.tar.gz

3.创建postgres用户(一定要创建,不然root用户不能启动数据库)

adduser postgres

4.解压编译安装

#解压
tar -zxvf postgresql-9.5.1.tar.gz
#进入解压目录
cd postgresql-9.5.1
#配置prefix是程序放哪里
./configure --prefix=/home/pgdb --enable-thread-safety
#编译&安装
make
make install

5.设置权限

#把程序目录全部赋权给postgres用户
chown -R postgres.postgres /home/pgdb/

注意********以下就切换到postgres用户了*********(上面都是root用户操作)

6.设置环境变量(可以不设,设定的话,就不用打data目录了)

编辑用户目录下.bash_profile文件,主要是设置PGDATA变量

#给个参考
PGHOME=/home/pgdb
export PGHOME
PGDATA=$PGHOME/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH

7.使用initdb初始化数据库(在$PGHOME/bin下,设了环境变量就能直接运行了)

initdb -D /home/pgdb/data

8.启动数据库

#注意这个logfile是日志文件,需要指定
pg_ctl start -l <logfile>

 9.设置用户postgres的密码

#使用postgres账户进入控制台(现在密码应该是空)
psql -U postgres postgres=# \password
Enter new password: <123456>
Enter it again: <123456> 把密码设置成123456 可以使用\q命令退出控制台

 10.设定监听

PostgreSQ数据库为了安全,它不会监听除本地以外的所有连接请求,所以如果要远程访问,那么一定要....

有2个文件需要修改,都在PGDATA目录下

#1.postgresql.conf
#找到其中listen_addresses配置那一行,注释掉localhost,然后增加以下行
listen_addresses = '*'
#最大连接数(可以不调)
max_connections = 500
#2.pg_hba.conf
#找到host all all 127.0.0.1/32 trust这一行
#在下面添加你需要访问数据库的网段
host all all 172.16.0.0/16 md5

===

大功告成,可以用连接工具去连接了!

CentOS7源码编译安装Postgresql9.5的更多相关文章

  1. Centos7源码编译安装PHP7.2(生产环境)

    安装PHP依赖包,否则在编译的过程中可能会出现各种报错 # Centos 安装epel-release源并将系统包更新到最新版本 $ yum install epel-release-y $ yum ...

  2. centos7源码编译安装lamp/lnmp

    centos7源码编译安装lamp/lnmp 进程:是包工头(相当于是个门,只管开门关门,不管门内的事儿) 线程:是各种工种(cpu调度的是线程) 进程 是一件事情, 线程 是 同一个时间范围内 同时 ...

  3. centos7 源码编译安装TensorFlow CPU 版本

    一.前言 我们都知道,普通使用pip安装的TensorFlow是万金油版本,当你运行的时候,会提示你不是当前电脑中最优的版本,特别是CPU版本,没有使用指令集优化会让TensorFlow用起来更慢. ...

  4. Centos7源码编译安装mysql8

    前面介绍了很多关于mysql的文章,下面主要介绍一下mysql8的源码编译安装 一 基本环境 [root@CentOS-7-x86-64-Minimal-1810 ~]# cd /usr/local/ ...

  5. CentOS7 源码编译安装Nginx

    源码编译安装nginx     1.下载nginx源码包(这里以nginx-1.18.0为例) wget http://nginx.org/download/nginx-1.18.0.tar.gz 2 ...

  6. centos7源码编译安装Subversion 1.9.5

    svn是Subversion的简称,是一个开放源代码的版本控制系统.svn有两种运行方式:1.独立服务器(svn://xxx.xxx/xxx) 2.借助apache(http://svn.xxx.xx ...

  7. centos7 源码编译安装 php

    准备工作 下载 PHP 源码包并解压 $ wget https://www.php.net/distributions/php-7.2.19.tar.bz2 $ yum -y install bzip ...

  8. centos7 源码编译安装 nginx

    安装步骤 下载 nginx 源码包 官网 $ wget http://nginx.org/download/nginx-1.16.0.tar.gz 解压 nginx 压缩包 $ tar -zxvf n ...

  9. CentOS7 源码编译安装Tengine

    简介 Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.它的目的是打造一个高效.安全的Web平台. 发展 Tengine的性能和 ...

随机推荐

  1. InnoDB全文索引:N-gram Parser【转】

    本文来自:http://mysqlserverteam.com/innodb%E5%85%A8%E6%96%87%E7%B4%A2%E5%BC%95%EF%BC%9An-gram-parser/ In ...

  2. 开发微信App支付

    1.首先到官方下载Demo,地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1 下载后的目录结构如下:

  3. Android笔记:调试android程序

    1.Debug 第一步: 添加断点 第二步: 右击项目→Debug As→Android Application  //之后一个对话框出现,一会自动消失 第三步: 执行手机端操作,Eclipse 就会 ...

  4. 深入研究java.lang.Runtime类

    一.概述      Runtime类封装了运行时的环境.每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接.      一般不能实例化一个Runtime对象, ...

  5. python备忘--函数

    1.zip函数 zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表. x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip( ...

  6. 关于EF的一个简单Demo

       今天使用EF的时候很奇怪的问题,添加属性后,使用程序包管理器控制台的NuGet命令更新无效,于是做了这个测试,一次性写好,自动更新,看看效果 1.首先建立一个MVC项目 2.我们选择Intern ...

  7. jquery 事件冒泡的介绍以及如何阻止事件冒泡

    在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级 ...

  8. Intent传递list<bean>集合

    首先你定义的bean需要继承Serializable接口 //传递list<bean>集合Intent intent = new Intent(ViolationOfTheQueryAct ...

  9. iOS--关于同步下载

    { NSMutableArray *_dataList; } [self loadDataWithPage:]; [self loadDataWithURLConnection]; //记得初始化数组 ...

  10. java实现a+b的多重输入

    import java.util.Scanner; public class hello { public static void main(String[] args) { Scanner cin ...