• CentOS7安装PostgreSQL


    本篇介绍如何在CentOS Linux 中安装PostgreSQL 资料库伺服器。

    安装PostgreSQL 资料库

    在CentOS 中若要安装PostgreSQL,可以从CentOS 官方套件库来安装(建议选项),若是有特殊需要,一定要安装较新的版本,则可由PostgreSQL 所提供的套件库来安装。

    CentOS 官方套件库

    在CentOS Linux的官方套件库中已经有收录PostgreSQL的套件,所以只要使用yum即可直接安装:

    #安装PostgreSQL伺服器 
    sudo yum install postgresql-server postgresql-contrib

    安装好之后,第一次使用前要进行PostgreSQL 资料库初始化设定:

    #初始化PostgreSQL资料库 
    sudo postgresql-setup initdb

    立即启动PostgreSQL 伺服器:

    #启动PostgreSQL伺服器 
    sudo systemctl start postgresql

    设定让PostgreSQL 伺服器在开机时可以自动启动:

    #设定开机自动启动PostgreSQL伺服器 
    sudo systemctl enable postgresql

    这样就完成安装PostgreSQL 资料库的伺服器了。

    PostgreSQL 套件库

    若需要比较新版的PostgreSQL,则可从PostgreSQL官方提供的套件库来安装。首先从PostgreSQL的网页中寻找对应的套件库,下载并安装。

    # 下载PostgreSQL 套件库资讯
    wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
    #安装PostgreSQL套件库资讯与EPEL 
    sudo yum install pgdg-redhat-repo-latest.noarch.rpm epel-release

    接着即可安装指定版本的PostgreSQL 了:

    # 安装11 版PostgreSQL
    sudo yum install postgresql11-server postgresql11-contrib
    
    # 安装10 版PostgreSQL
    sudo yum install postgresql10-server postgresql10-contrib
    
    # 安装9.6 版PostgreSQL
    sudo yum install postgresql96-server postgresql96-contrib
    
    # 安装9.5 版PostgreSQL
    sudo yum install postgresql95-server postgresql95-contrib
    
    #安装9.4版PostgreSQL 
    sudo yum install postgresql94-server postgresql94-contrib

    接着按照自己安装的版本,初始化PostgreSQL 资料库:

    #初始化PostgreSQL资料库 
    sudo /usr/pgsql-11/bin/postgresql-11-setup initdb

    立即启动PostgreSQL 伺服器:

    #启动PostgreSQL伺服器 
    sudo systemctl start postgresql-11

    设定让PostgreSQL 伺服器在开机时可以自动启动:

    #设定开机自动启动PostgreSQL伺服器 
    sudo systemctl enable postgresql-11
     
     
    注意!!!!
      在启动自己选择安装的PostgreSQL 伺服器时可能会出现下面的错误:
      

    原因:在安装自己选择的postgresql之前已经启动了一个官方套件的postgresql,需要将之前的服务停掉   

    解决:

      1、lsof -i:5432     如果提示lsof找不到命令 -------> yum install lsof

      

       2、关掉占用5432端口的进程(PID即进程号)

      

       3、启动自己选择安装的postgresql版本

    连线与防火墙

    PostgreSQL 预设只会开放本机(localhost)的连线进入,若想要让外部的使用者亦可透过网路连线进来存取资料,就要修改其设定。

    编辑/var/lib/pgsql/11/data/postgresql.conf设定档,依据自己的需求修改listen_addresses属性,指定要倾听(listen)的网路介面:

    # listen_addresses = 'localhost' 
    # listen_addresses = '192.168.56.4' 
    listen_addresses = '*'

    编辑/var/lib/pgsql/11/data/pg_hba.conf设定档,加入允许存取PostgreSQL资料库的网段:

    #允许192.168.56.0/24的所有连线 
    host all all 192.168.56.0/24 trust

    更改PostgreSQL 的设定之后,要重新启动让设定生效:

    #重新启动PostgreSQL服务 
    sudo systemctl restart postgresql-11

    接着要开启CentOS Linux 系统的防火墙:

    #将postgresql服务新增至public区域中 
    sudo firewall-cmd --zone=public  --add-service=postgresql
    
    #永久将postgresql服务新增至public区域中 
    sudo firewall-cmd --zone=public  --permanent  --add-service=postgresql

    这样就可以让外部的使用者存取PostgreSQL 资料库了。

    管理PostgreSQL 资料库

    在安装PostgreSQL资料库时,预设会建立一个专门用于管理资料库用的postgresLinux系统使用者帐号与PostgreSQL使用者帐号,在管理PostgreSQL资料库时就要使用这个帐号来进行。

    #切换成postgres使用者 
    sudo -i  -u postgres
    
    #进入PostgreSQL指令介面 
    psql

    在进入PostgreSQL指令介面之后,就可以进行各项PostgreSQL的管理,关于psql的操作方式,可参考官方的手册

    若要以一般使用者的权限来使用PostgreSQL资料库,要先建立帐号以及对应的资料库,然后再以对应的帐号执行psql,即可进入PostgreSQL资料库:

    #新增PostgreSQL使用者 
    sudo -u postgres createuser gtwang
    
    #新增PostgreSQL资料库 
    sudo -u postgres createdb gtwang
    
    #进入PostgreSQL资料库 
    psql

    关于更详细的PostgreSQL操作,可以参考另外一篇Ubuntu Linux 18.04安装与使用PostgreSQL资料库教学,或是官方的文件。

    参考资料:LinodeJOVE PATER LAB

  • 相关阅读:
    使用repeater tableb绑定数据库
    运用js脚本实现table自动添加、删除行
    asp.net ListBox单选、全选、清除等功能
    .net 使用webservice 技术的测试案例
    使用.Net三层架构实现Gridview增、删、改功能
    使用用户控件AspNetPager+Gridview实现分页功能
    silverlight+wcf+linq to sql访问数据
    javascript实现乘法表(本人是菜鸟)
    oracle创建主键自增字段
    C#作Windows服务获取运行目录的方法
  • 原文地址:https://www.cnblogs.com/Soy-technology/p/12706312.html
Copyright © 2020-2023  润新知