• Linux下安装PostgreSQL


    什么是PostgreSQL

    PostgreSQL,有时候也会被叫做Postgres。他的的Slogan是“世界上最先进的开源关系型数据库”。作为一种企业级数据库,PostgreSQL以它所具有的各种高级功能而自豪,像多版本并发控制(MVCC)、按时间点恢复(PITR)、表空间、异步复制、嵌套事务、在线热备、复杂查询的规划和优化以及为容错而进行的预写日志等。它支持国际字符集、多字节编码并支持使用当地语言进行排序、大小写处理和格式化等操作。它也在所能管理的大数据量和所允许的大用户量并发访问时间具有完全的高伸缩性。目前已有很多PostgreSQL的系统在实际生产环境下管理着超过4TB的数据。

    为什么用PostgreSQL

    开源、免费、易于二次开发。越来越多的开源软件选择PostgreSQL。比如本次的导火索就是sonarQube已放弃支持MySQL。
    数据库不适合使用docker。

    与官方文档的修改处

    对远程连接、新增角色、新增数据库增加了一些必要的选项,强制新增角色和数据库时使用密码访问,约定utf-8编码。
    原文连接附上PostgreSQL-12

    CentOS安装PostgreSQL

    # 下载RPM仓库:
    yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
    # 安装 PostgreSQL:
    yum install -y postgresql12-server
    
    # 删除用户postgres的密码
    sudo passwd -d postgres
    
    # 设置用户postgres的密码
    sudo -u postgres passwd
    
    # 创建pgsql文件夹存放数据,并赋权
    mkdir -p /usr/local/pgsql
    chown postgres:postgres /usr/local/pgsql
    
    # 切换postgres用户获得权限
    su - postgres 
    
    # 初始化数据库位置 http://postgres.cn/docs/11/app-initdb.html
    /usr/pgsql-12/bin/initdb -D /usr/local/pgsql/data; 
    
    # 开启日志
    /usr/pgsql-12/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
    

    配置远程访问

    vi /usr/local/pgsql/data/pg_hba.conf
    修改如下:
    # IPv4 local connections:
    host  all    all    127.0.0.1/32     trust
    host  all    all    0.0.0.0/0        md5
    
    vi /usr/local/pgsql/data/postgresql.conf
    修改如下:
    listen_addresses='localhost'修改为listen_addresses='*'
    
    # 重启服务
    sudo systemctl restart postgresql-12
    
    # 注册开机自启
    sudo systemctl enable postgresql-12
    

    配置系统设置

    # 切换用户获取权限
    su - postgres 
    
    # 创建登录的超级管理员用户 http://postgres.cn/docs/12/database-roles.html
    createuser rolename -d -l -P -r -s -W
    
    # 从模版创建数据库 http://postgres.cn/docs/12/manage-ag-createdb.html
    createdb -O rolename -E UTF8 -W dbname
    
    # 进入数据库命令行
    psql postgres
    
    # 修改登录PostgreSQL密码
    ALTER USER postgres WITH PASSWORD 'postgres';
    
    # 查看指令
    ?
    l  #查看数据库
    du #查看用户
    q  #退出
    

    使用rolename和输入的密码即可登录PostgreSQL。

    踩坑经验

    1. 初始设置时未成功,修改/usr/local/pgsql/data内配置不生效
    vi /usr/lib/systemd/system/postgresql-12.service
    修改处如下:
    Environment=PGDATA=/usr/local/pgsql/data/
    # 保存退出后执行
    systemctl daemon-reload
    
  • 相关阅读:
    .Net Core Swagger配置
    MySQL如何使用索引
    一个HTTP Basic Authentication引发的异常
    跑步花钱吗?
    跑步花钱吗?
    OpenShift中的持续交付
    在AWS中部署OpenShift平台
    壮美大山包-2017中国大山包国际超百公里ITRA积分赛赛记
    膝盖中了一箭之康复篇-两周年纪念
    HashiCorp Vault介绍
  • 原文地址:https://www.cnblogs.com/hyry/p/13644575.html
Copyright © 2020-2023  润新知