zoukankan      html  css  js  c++  java
  • Linux环境安装PostgreSQL-10.1

    转载自:https://www.cnblogs.com/LinBug/p/8082790.html

    Linux环境安装PostgreSQL-10.1

     

    环境及资源

        我下载的是postgresql-10.1.tar.gz

    • 参考文档:推荐看英文文档

        1)英文文档:https://www.postgresql.org/docs/10/static/install-short.html

        2)中文文档:http://www.postgres.cn/docs/9.3/install-short.html

        我下载的是社区版Windows 64 bit (zip archive)  (dbeaver-ce-4.3.0-win32.win32.x86_64.zip)

        我下载的是PostgreSQL JDBC 4.2 Driver, 42.1.4

     

    正文

    安装路径为/usr/local/pgsql/

     

    1、 解压

    gunzip postgresql-10.1.tar.gz

    tar xf postgresql-10.1.tar

     

     

     

    2、 依次执行命令

    * 需要的话,make可以改为gmake

    复制代码
    
    
    1. ./configure
    2.  
    3. make
    4.  
    5. su
    6.  
    7. make install
    8.  
    9. adduser postgres
    10.  
    11. mkdir /usr/local/pgsql/data
    12.  
    13. chown postgres /usr/local/pgsql/data
    14.  
    15. su - postgres
    16.  
    17. /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
    18.  
    19. /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1&
    20.  
    21. /usr/local/pgsql/bin/createdb test
    22.  
    23. /usr/local/pgsql/bin/psql test
    复制代码

    ./configure是检查当前环境能否安装PG,以下是我遇到的报错和解决方案

    报错1:configure: error: no acceptable C compiler found in $PATH:

    解决:yum install gcc

     

    报错2:configure: error: readline library not found

    解决:yum install readline-devel

     

    3、 启动或重启server

    * 先确保是切换到了/pgsql/bin目录下,并且切换Linux用户postgres

    
    
    1. cd /usr/local/pgsql/bin/
    2. su postgres

     

    启动server:

    
    
    1. ./pg_ctl start -D /usr/local/pgsql/data

    如果启动成功,显示信息如下

    至此,PostgreSQL安装成功。

     

    重启server:

    
    
    1. ./pg_ctl restart -D /usr/local/pgsql/data

    如果重启成功,显示信息如下

     

    4、 新建数据库和可以登录数据库的用户密码

    * 确保是在/usr/local/pgsql/bin/目录下

    创建数据库:

    
    
    1. ./createdb mydb

     

    创建用户(如用户名为lin,密码为LinBug)有两种方式,

    1) CREATE USERCREATE ROLECREATE USER是CREATE ROLE的一个别名。 唯一的区别是CREATE USER命令缺省是LOGIN, 而CREATE ROLE命令缺省是NOLOGIN

    先进入默认的postgres数据库:

    
    
    1. ./psql

    然后执行:

    
    
    1. CREATE USER lin WITH PASSWORD 'LinBug';

    创建成功提示如下

     

    2) pg封装的命令方式:

    
    
    1. ./createuser -P lin

    这会提示你输入新建用户的密码,重复输入密码后,创建成功

     

    5、访问数据库

    * 确保在/usr/local/pgsql/bin/目录下,

    以默认用户名访问默认数据库(默认的用户名和数据库名都是postgres):

    
    
    1. ./psql

    于是进入PG的交互终端psql

     

    以名为lin的角色登录名为mydb的数据库:

    
    
    1. ./psql mydb -U lin

    可以看出,当psql终端的提示符为=#时,表示当前登录的是超级用户,而当提示符为=>时则为普通用户

     

     

    6、远程访问数据库设置

    * 远程访问数据库的认证方式主要有很多方式,我只设置基于TCP/IP连接的trust认证方式

    需设置两个配置文件,

    1)修改配置文件postgresql.conf,

    
    
    1. vim /usr/local/pgsql/data/postgresql.conf

    修改监听地址:

    
    
    1. #listen_addresses=’localhost’#将上面这行改成如下listen_addresses=’*’

     

    2)修改配置文件/pgsql/data/pg_hba.conf:

    
    
    1. vim /usr/local/pgsql/data/pg_hba.conf

    添加一条IP授权记录(如192.168.2.23),可以对一个网段授权

    
    
    1. # 这是在/pgsql/data/pg_hba.conf文件里加
    2. # IPv4 myhost connections:
    3. host all all 192.168.2.0/24 trust

    当然,可以设置所有网段IP可以访问:

    
    
    1. # 这是在/pgsql/data/pg_hba.conf文件里加
    2. # IPv4 remote address connections:
    3. host all all 0.0.0.0/0 trust

     

    设置完需要重启数据库才能生效。

     

    7、Windows图形化工具DBeaver客户端访问PG

    * 就像很多公司用PL/SQL Developer、Toad来管理Oracle一样,可以用Dbeaver访问PG

    * Dbeaver需要指定jdbc驱动,可到https://jdbc.postgresql.org/download.html#current下载

    由于前面设置的是基于TCP/IP的trust认证,所以这里也只要设置如下参数就可:

    Host:搭建PG的主机ip地址,这里我把自己的主机IP码掉啦

    Port:默认为5432,如果没有特意去配置里改动,这个端口一般都是5432

    Database:就是我们前面建立的数据库mydb

    User:前面创建的用户名lin

    Password:用户名对应的密码LinBug

     

    点击“测试链接”,如下表示连接成功。然后再一路点击“next”

     

    至此,我们就可以愉快地在本地管理搭建在远程Linux机器上的PostgreSQL数据库啦!

  • 相关阅读:
    手游产品经理初探(十)竞品分析
    Openfire开发配置,Openfire源码配置,OpenFire二次开发配置
    code forces 148D Bag of mice (概率DP)
    Android Studio怎样更改JDK和SDK的路径?
    bbb
    收集了三年的最好的设计站点
    C# foreach 有用方法具体解释
    Java 过滤器的作用
    SVD神秘值分解
    《C语言编写 学生成绩管理系统》
  • 原文地址:https://www.cnblogs.com/yangcx666/p/8723705.html
Copyright © 2011-2022 走看看