• Centos7 安装Postgres11(更改数据目录)


    Centos7 安装Postgres11和PostGIS (更改数据目录)

    0. 关闭防火墙
    看centos7的防火墙的状态
    $ sudo systemctl status firewalld
    关闭防火墙
    $ sudo systemctl stop firewalld
    1. 查看已经安装的postgresql
    $ rpm -qa | grep postgresql
    postgresql11-libs-11.11-1PGDG.rhel7.x86_64
    postgresql11-contrib-11.11-1PGDG.rhel7.x86_64
    postgresql11-11.11-1PGDG.rhel7.x86_64
    postgresql11-server-11.11-1PGDG.rhel7.x86_64
    2. 卸载已经安装的postgresql
    $ sudo yum remove postgresql
    $ sudo yum remove postgresql11-libs-11.11-1PGDG.rhel7.x86_64
    $ sudo yum remove postgresql11-contrib-11.11-1PGDG.rhel7.x86_64
    $ sudo yum remove postgresql11-11.11-1PGDG.rhel7.x86_64
    $ sudo yum remove postgresql11-server-11.11-1PGDG.rhel7.x86_64
    3. 删除残余
    $ sudo rm -rf /var/lib/pgsql
    $ sudo rm -rf /usr/pgsql-11
    4. 查看 CentOS 系统版本
    $ sudo cat /etc/redhat-release
    CentOS Linux release 7.9.2009 (Core)
    5. 安装postgresql11
    安装rpm文件
    $ sudo yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.9-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
    安装客户端 安装服务端
    $ sudo yum install postgresql11 postgresql11-contrib postgresql11-libs postgresql11-server -y
    6. Postgresql安装目录 /usr/pgsql-11, 而Postgresql数据目录 /var/lib/pgsql/11/data
    如果在装系统开始分配var空间足够大则可以继续,如果分配var空间不够,则需要更改数据目录
    把自动创建的postgres用户删除
    $ userdel -r postgres
    把postgres用户的HOME建立在 /home 下
    $ groupadd -g 701 postgres
    $ useradd -g 701 -u 701 -s /bin/bash -m postgres
    为postgres用户指定密码(在root用户下操作) postgres账号登录centos服务器,并修改数据库用户密码(或者直接 su postgres 切换过去)
    $ passwd postgres
    新建/home/postgres/pgdata目录
    $ su postgres
    $ mkdir /home/postgres/pgdata
    配置postgres用户的.bashrc内容
    $ cd /home/postgres
    $ vi .bashrc
    export PATH=/usr/pgsql-11/bin:$PATH
    export LD_LIBRARY_PATH=/usr/pgsql-11/lib:$LD_LIBRARY_PATH
    export PGDATA=/home/postgres/pgdata
    export PGHOST=/tmp
    $ source .bashrc
    登录 postgres用户
    $ su - postgres
    执行 initdb 命令初始化数据库
    $ initdb
    The files belonging to this database system will be owned by user "postgres".
    This user must also own the server process.
    ............................................
    Success. You can now start the database server using:
    pg_ctl -D /home/postgres/pgdata/ -l logfile start

    必须配置:postgresql.conf 新建的postgres用户对 /var/run/postgresql 目录没有写权限
    vim /home/postgres/pgdata/postgresql.conf
    在文件最后加上(否则将无法启动数据库):
    unix_socket_directories = '/tmp'
    必须设定配置文件(参考其他博文)
    $ vim pg_hba.conf
    $ vim postgresql.conf

    启动数据库
    pg_ctl start
    停止数据库
    pg_ctl stop

    进入 postgres 修改数据库 密码
    [postgres@localhost ~]$ psql -U postgres
    psql (11.11)
    Type "help" for help.
    postgres=# password
    Enter new password:
    Enter it again:
    postgres=# select version();
    version
    ----------------------------------------------------------------------------------------------------------
    PostgreSQL 11.11 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
    (1 row)

    postgres=#

    在数据库客户端测试登录

    ==========================================================================================
    启动数据库
    su postgres
    pg_ctl start
    创建角色
    postgres=# create user jiangshan with password 'jiangshan';
    CREATE ROLE
    创建数据库 并指定所属角色
    postgres=# create DATABASE beijing ENCODING='utf-8' TABLESPACE=pg_default owner jiangshan;
    CREATE DATABASE
    为角色授权
    postgres=# grant all privileges on database beijing to jiangshan;
    GRANT
    查看
    postgres=# l
    List of databases
    Name | Owner | Encoding | Collate | Ctype | Access privileges
    -----------+-----------+----------+-------------+-------------+-------------------------
    beijing | jiangshan | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/jiangshan +
    | | | | | jiangshan=CTc/jiangshan
    postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
    template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
    | | | | | postgres=CTc/postgres
    template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
    | | | | | postgres=CTc/postgres

    将角色给予超级权限
    postgres=# ALTER USER jiangshan WITH SUPERUSER;
    ALTER ROLE

    ==========================================================================================

    个人学习记录
  • 相关阅读:
    一起ORA-00028案例的处理过程
    Preferences偏好设置
    Snap Settings对齐设置
    Graphics Emulation图形模拟
    Network Emulation(网格模拟)
    Selection
    Edit编辑
    Build Settings 构建设置
    Player Settings-PC
    Build Settings发布设置
  • 原文地址:https://www.cnblogs.com/jeshy/p/14628678.html
Copyright © 2020-2023  润新知