zoukankan      html  css  js  c++  java
  • centos7 安装postgresql

    在mysql被收购之后,大家发现了另一款开源的数据库,postgresql,虽然centos自带版本9.2也可以用,但是最近的几次升级支持了更多更新的内容,比如,PostgreSQL有一个MySQL无法比拟的优势,那就是PostGIS,PostGIS可以完美支持空间数据存储和空间分析;从PostgreSQL9.3起就内置了JSON数据类型,而9.4又开始支持JSONB,这标志着PostgreSQL实际上已经是一个关系型数据库和NoSQL数据库的结合体了、虽然postgresql是一个关系型数据库,但是近几次更新PostgreSQL的NoSQL性能有益到甚至超过了MongoDB。

    系统自带版本9.2略低,近几次升级功能较多,本次安装最新版本。

    一、更新源

    地址:https://yum.postgresql.org/repopackages.php

    这里我选择centos7-x86 64 右键 复制链接。

    在centos系统中执行

    yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm -y 
    二、安装postgresql

    先查看postgresql源

    yum list | grep postgresql


    我们需要安装的是这两个。postgresql10-contrib postgresql10-server

    yum install postgresql10-contrib postgresql10-server -y
    三、初始化数据库

    Postgresql安装目录是/usr/pgsql-10,而Postgresql的数据目录是/var/lib/pgsql/版本号/data目录

    在这里,如果在装系统开始分配var空间足够大则可以继续,如果分配var空间不够,我们需要更改数据目录,在这里,我们假设var空间足够大。直接开始初始化。

    /usr/pgsql-10/bin/postgresql-10-setup initdb

    显示这个代表初始化成功

    四、启动数据库并设置开机启动

    sudo systemctl start postgresql-10
    sudo systemctl enable postgresql-10.service
    五、登录postgresql并设置密码

    postgresql在安装时默认添加用户postgres

    输入

    su - postgres
    psql
    进入数据库

    样子长这样

    我们来设置密码:

    ALTER USER postgres WITH PASSWORD '密码';

    退出:q

    备注其他:列出所有库l  列出所有用户du 列出库下所有表d

    六、默认情况下postgresql是不用密码不支持远程登录的。我们需要修改配置文件

    vi /var/lib/pgsql/10/data/pg_hba.conf
    原本长成这样

    我们需要改成

    保存退出

    我们改远程访问

    vi /var/lib/pgsql/10/data/postgresql.conf
    往下拉我们会看到

    需要改成

    重启postgresql

    systemctl restart postgresql-10
    七、登录postgresql

    postgresql在安装时默认添加用户postgres

    输入

    su - postgres
    psql
    进入数据库


    此时已经可以进行验证密码

    八、远程连接数据库

    我们用pgadmin进行验证连接

    输入相关信息

    此时我们可以看到相关数据了

    九、我们测试创建数据库及创建用户

    因为postgres属于superuser,我们需要创建部分低权限用户

    创建数据库

    CREATE DATABASE testdb;
    创建用户

    CREATE USER testuser CREATEDB LOGIN PASSWORD 'testpassword';
    将testdb所有权限赋给用户testuser

    GRANT ALL ON DATABASE testdb TO testuser;
    样子:

    查看现有数据库及用户

    十、删除数据库及测试用户

    删除数据库

    drop database testdb;


    删除用户

    drop role testuser;

  • 相关阅读:
    PAT (Advanced Level) 1010. Radix (25)
    PAT (Advanced Level) 1009. Product of Polynomials (25)
    PAT (Advanced Level) 1008. Elevator (20)
    PAT (Advanced Level) 1007. Maximum Subsequence Sum (25)
    PAT (Advanced Level) 1006. Sign In and Sign Out (25)
    PAT (Advanced Level) 1005. Spell It Right (20)
    PAT (Advanced Level) 1004. Counting Leaves (30)
    PAT (Advanced Level) 1001. A+B Format (20)
    PAT (Advanced Level) 1002. A+B for Polynomials (25)
    PAT (Advanced Level) 1003. Emergency (25)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317436.html
Copyright © 2011-2022 走看看