Ubuntu安装PostgreSQL

Ubuntu安装PostgreSQL

 

注:本次使用9.4

  1. 先执行yum更新。

    apt-get update

  2. 打开官网https://www.postgresql.org/ ,->Download->Linux->Ubuntu

        

  1. 按照官方提示逐步安装。

        

  1. 也可以默认安装9.3。

    apt-get install postgresql    

  2. 验证是否安装成功

    dpkg -l |grep postgresql

        如图所示表示成功

        

        卸载软件命令

        sudo apt-get autoremove --purge 软件名称

  1. 以下和CentOS一样。

    ⑦ 修改postgres用户密码,切换到postgres用户(安装PostgreSQL自动创建postgres用户)

        sudo passwd postgres

su postgres

        ⑧ 然后使用psql工具登录数据库,列出当前的数据库,命令分别是psql和\l

            

        ⑨ 修改访问配置文件pg_hba.conf和配置文件postgresql.conf

            注:默认的PostgreSQL数据目录是/etc/postgresql/版本号/main/xxx。

            用vim修改两者,权限不够就加sudo或在root账户下操作。

            命令:vim /etc/postgresql/版本号/main/xxx.conf

            具体修改:将 #listen_addresses = 'localhost' 前的#号去掉,然后将后面的localhost改为*,然后将 #port = 5432 前的#去掉,最后再将#password_encryption = on 前面的#号去掉,如下图所示,使用wq命令保存退出。

            

            (提示:postgresql.conf中可以修改的参数很多,上图中第2个红框可以修改侦听端口,另外此文件内还可以修改缓存大小等多种参数)。

            再对pg_hba.conf内容进行配置,将上面红框内的ident改为md5,然后再在最下面加入 host all all 0.0.0.0/0 md5 ,如下图所示:

            

            最终修改结果(请仔细对比)

            

        ⑩ 重新启动服务

            service postgresql-9.6 restart

         创建HQ的数据库"HQ"

            A:先切换到postgres用户下。su postgres

            B:进行psqlmingling。psql

            C:创建数据库(注意有分号)CREATE DATABASE HQ;

         把数据库HQ权限给postgres(数据库user)

GRANT ALL ON DATABASE HQ TO postgres;

         退出postgres用户登录

            (修改数据库密码)

            ALTER USER postgres WITH PASSWORD 'postgres';

命令为\q,(就是一个反斜杠和一个q)。

         开启防火墙5432端口,并重新启动服务。

            sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent

sudo firewall-cmd –reload

service postgresql-9.6 restart

         测试postgresql

            Windows下用navicat或PGAdmin4等工具连接测试。

            

            注:连接不成功可能有以下几个原因

                A:没开openssh服务(自行百度)。

                B:没开防火墙5432端口。

                C:pg_hba.conf配置文件修改不正确。

                D:账户名密码错误(查看附)。

    参考文档1:修改postgres密码(注意区分linux账户和数据库账户)。

        http://www.cnblogs.com/kaituorensheng/p/4735191.html

        参考文档2:

            http://www.digitser.cn/thread-244-1-1.html

        参考文档3:

            http://www.cnblogs.com/sparkdev/p/5678874.html