美文网首页
Postgresql笔记(一)安装/配置/启动/运行多个实例

Postgresql笔记(一)安装/配置/启动/运行多个实例

作者: 夏_至 | 来源:发表于2018-04-28 17:35 被阅读484次

    系统版本:Ubuntu 16.04

    一. 安装:

    • sudo apt-get install postgresql
    • 安装9.4或者其他低版本:
    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
    
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    
    sudo apt-get update
    
    sudo apt-get install postgresql-9.4
    
    

    二. 启动

    三. 配置

    1. 输入 ps -ef | grep postgres看一下进程信息可以发现postgres的service启动命令是这样的: postgres-service
      也就是说当前postgres的数据库文件是/var/lib/postgresql/9.5/main,配置文件是/etc/postgresql/9.5/main/postgresql.conf
    2. 看一下config文件,还是很友好,比较容易理解
      postgresql.conf
      这里指定了一个hba_file也就是pg_hba.conf(host-based authentication)就是配置数据库的访问权限,默认只能localhost访问
    3. 看一下hba.conf
      pg_hba.conf
      第一行local all postgres peer解释为:连接本地postgres数据库的时候只要系统切换到postgres用户即可登陆,并且可以访问任何数据库;如果给peer改成trust(改完重启服务),则可以实现linux所有本地用户都可以用 psql -U postgres来连接数据库;md5就是需要密码访问psql -U xxx -WPGPASSWORD=... psql -U ... -d ...
    4. 开放远程访问:
      修改postgresql.conf,取消注释或者加一行 listen_addresses = '*'
      修改pg_hba.conf,增加一行
      # TYPE  DATABASE  USER  CIDR-ADDRESS  METHOD
        host  all        all   0.0.0.0/0     md5
      

    四. 运行多个实例

    切换至postgres用户并创建数据库文件,就在默认库隔壁来一个吧

    sudo -su postgres
    /usr/lib/postgresql/9.5/bin/pg_ctl init -D /var/lib/postgresql/9.5/main_2
    

    这里有一些提示信息,先不管

    pg_ctl init
    在main_2目录里默认给我们生成了pg_hba.conf和postgres.conf,查看一下postgres.conf发现没指定端口和hba_path,可以copy之前的conf文件/etc/postgresql/9.5/main/postgresql.conf到main_2目录,修改:
    data_directory = '/var/lib/postgresql/9.5/main_2'
    hba_file = '/var/lib/postgresql/9.5/main_2/pg_hba.conf'
    ident_file = '/var/lib/postgresql/9.5/main_2/pg_ident.conf'
    external_pid_file = '/var/run/postgresql/9.5-main-2.pid'
    #不能跟之前一个一样
    port = 5433
    

    再启动服务

    /usr/lib/postgresql/9.5/bin/pg_ctl -D /var/lib/postgresql/9.5/main_2 -l /var/log/postgresql/pg_5433.log start
    
    成功启动两个实例
    登陆另一个实例

    同理如果是从生产环境下直接下载下来的数据库文件,解压后也是同样方式运行,修改pg_hba.conf和postgres.conf文件即可

    相关文章

      网友评论

          本文标题:Postgresql笔记(一)安装/配置/启动/运行多个实例

          本文链接:https://www.haomeiwen.com/subject/phowlftx.html