ubuntu安装postgresql

Ubuntu 16.04 LTS 安装 Postgresql 9.5.1

  1. 解压源码包
    tar zxvf postgresql-9.5.1.tar.gz
    cd postgresql-9.5.1
  2. 检查环境配置
    mkdir /usr/local/pgsql
    ./configure --prefix=/usr/local/pgsql
    –prefix 是指定安装路径
    这里写图片描述
  3. 安装缺乏的依赖
    这里写图片描述
    apt-get install -y libreadline-gplv2-dev
    这里写图片描述
    apt-get install zlib1g-dev
  4. 从新检查环境
    ./configure --prefix=/usr/local/pgsql
  5. 安装编译
    make && make install
    成功后会显示以下:
    这里写图片描述

    这里写图片描述
  6. 添加用户
    root 用户不能启动postgresql 因此建立一个普通用户来启动
    若是直接用useradd添加用户的话,可能出现没有home下的文件夹
    adduser postgres
    passwd postgres
    而后输入两次密码
    7.赋给postgres相关文件的操做权限
    建postgres数据库的目录
    mkdir -p /var/postgresql/data
    chown postgres:postgres /var/postgresql/*
    chown postgres:postgres /usr/local/pgsql/*
    chmod -R 775 /var/postgresql/*
    8.修改环境变量
    进入postgres用户
    su postgres
    修改配置文件
    vim ~/.profile
    添加以下内容
    PGHOME=/usr/local/pgsql
    export PGHOME
    PGDATA=/var/local/pgsql/data
    export PGDATA
    PGHOST=/tmp
    export PGHOST
    PATH后追加 :$PGHOME/bin
    这里写图片描述
    保存退出
    9.启动数据库
    切换用户 su - postgres
    初始化数据库initdb -D /var/postgresql/data
    启动服务pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile start
    链接数据库psql
    建立数据库 create database test;
    建立表create table user (id integer, name text);
    10.修改监听本机或者全部网络
    vim /var/postgresql/data/postgresql.conf
    本机为listen_addresses = ‘localhost’
    全部网络为listen_addresses = ‘*’
    这里写图片描述
    11.修改远程访问
    vim /var/postgresql/data/pg_hba.conf
    这里写图片描述
    容许任何网络访问,修改以下
    host all all 0.0.0.0/0 trust
    12.打开5432端口
    这里写图片描述
    13.ufw 使用
    安装
    sudo apt-get install ufw
    开启了防火墙,并在系统启动时自动开启
    sudo ufw enable
    关闭全部外部对本机的访问,但本机访问外部正常
    sudo ufw default deny
    开启/关闭防火墙 (默认设置是’disable’)
    ufw enable|disable
    打开或关闭某个端口,例如:
    sudo ufw allow|deny [service]
    ufw allow 5432
    查看防火墙状态
    sudo ufw status