CentOS/RHEL 7上PostgreSQL如何安装配置

技术CentOS/RHEL 7上PostgreSQL如何安装配置这篇文章主要介绍了CentOS/RHEL 7上PostgreSQL如何安装配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获

这篇文章主要介绍了CentOS/RHEL 7上一种数据库系统如何安装配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

安装PostgreSQL 9.6为例:

安装

Install the repository RPM

百胜安装https://下载。PostgreSQL。org/pub/repo/yum/9.6/红帽/rhel-7-x86 _ 64/pgdg-红帽96-9.6-3。没有拱门。每分钟转数

Install the client packages

妙的安装postgresql96

Install the server packages

妙的安装PostgreSQL 96-服务器

Initialize the database and enable automatic start

/usr/pgsql-9.6/bin/Postgresql 96-setup initdb

systemctl启用postgresql-9.6

systemctl start postgresql-9.6

配置

编辑/var/lib/pgsql/9.6/data/Postgresql。conf,修改listen _ addresses,监听所有地址:

listen _ addresses=' * '编辑/var/lib/pgsql/9.6/data/pg _ HBA。conf,修改认证方式:

#“本地”是一个简单的

localallalltrust

#本地连接3360

hostallall 127。0 .0 .1/32缩进

hostallall 0。0 .0 .0/0 D5重启一种数据库系统

systemctl重启postgresql-9.6

认证方式

认证方式支持信任','拒绝,' md5 ','密码、“gss”、“sspi”、“ident”、“peer”、“pam”、“ldap”、“radius”,证书。

ist-paddingleft-2">

  • trust  任何人都可以访问数据库,需要指定数据库用户名。如上,本地可以使用psql -U postgres连接数据库(当未指定数据库用户名时,默认为root)。

  • password  密码认证,发送明文密码

  • md5  密码认证,发送经MD5加密的密码,假如数据库服务器IP是10.188.13.29,则可以这样访问:psql -h 10.188.13.29 -U postgres,回车后会提示输入密码。

  • ident  从ident server获取客户端操作系统的用户名,当与数据库用户名匹配时则可访问。当ident配置在local连接时,将使用peer替代。存在安全隐患,仅适用于封闭网络,不建议使用。

  • peer  从kernel获取客户端操作系统的用户名,当与数据库用户名匹配时则可访问,仅用于local连接。如local配置为peer时,可以这样访问psql -U postgres
    当操作系统用户名与数据库用户名不一致时可以在文件pg_ident.conf中配置map关系,如下:

    # MAPNAME       SYSTEM-USERNAME         PG-USERNAME
    omicron                root                                      postgres

    然后在pg_hba.conf中配置使用map:

    local   all             all                                     peer map=omicron
    host   all             all             127.0.0.1/32            ident map=omicron
  • PSQL

    连接PostgreSQL
    psql -U postgres

    更多参数可以查看帮助psql --help
     
    刷新配置
    修改配置文件后,可执行以下命令刷新配置:
    select pg_reload_conf();
     
    更改密码
    ALTER USER postgres WITH PASSWORD 'postgres';
     
    查看用户
    select * from pg_shadow;
     
    查看data文件夹所在目录
    show data_directory;
     
    创建用户
    CREATE USER test WITH PASSWORD 'test';
    ALTER USER test WITH SUPERUSER;
     
    创建SCHEMA
    CREATE SCHEMA test;
    ALTER SCHEMA test OWNER TO test;
     
    查看SCHEMA
    \dn
     
    设置Search Path
    SET search_path TO test;

    查看Table
    \dt

    查看Sequence
    \ds

    查看View
    \dv

    查看Table Sequence  View
    \d
     
    执行sql脚本
    \i test.sql
     
    Sequence
    查询sequence(currval(), nextval())
    select nextval('test_sequence');

    更新sequence
    alter sequence test_sequence restart with 42;
     
    退出
    \q
     
    帮助
    help
    \?  for help with psql commands
    \h  for help with SQL commands

    备份与恢复

    pg_dump -h host1 -U postgres [-n schema] dbname > outfile
    psql -U postgres dbname < infile
     
    也可直接备份data目录
    tar -cf backup.tar /usr/local/pgsql/data

    存储过程

    清空所有表数据的一个小存储过程(schema名称为test):

    -- FUNCTION: test.truncatealltable()  
      
    -- DROP FUNCTION test.truncatealltable();  
      
    CREATE OR REPLACE FUNCTION test.truncatealltable()  
        RETURNS text  
        LANGUAGE 'plpgsql'  
      
    AS $BODY$  
      
    DECLARE  
        cur_all_tables CURSOR FOR  
          select relname from pg_class  
          where relnamespace = (select oid from pg_namespace where nspname = 'test')  
            and relkind = 'r' order by relname;  
        truncate_sql CHARACTER VARYING(100);  
         
    BEGIN      
        FOR record IN cur_all_tables  
        LOOP             
            truncate_sql := concat('truncate table test.', record.relname, ' cascade');  
            EXECUTE truncate_sql;          
        END LOOP;  
      
        return 'success';  
    END  
      
    $BODY$;

    感谢你能够认真阅读完这篇文章,希望小编分享的“CentOS/RHEL 7上PostgreSQL如何安装配置”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

    内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/94368.html

    (0)

    相关推荐

    • rt-thread怎么修改默认的串口配置(如何打开rt-thread工程)

      技术如何进行RT-Thread中断管理本篇文章给大家分享的是有关如何进行RT-Thread中断管理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。下面是关于R

      攻略 2021年12月17日
    • C语言怎么实现内存对齐

      技术C语言怎么实现内存对齐这篇文章主要讲解了“C语言怎么实现内存对齐”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C语言怎么实现内存对齐”吧!  一、概念      

      攻略 2021年12月8日
    • 如何浅析数据库与缓存的双写一致性问题

      技术如何浅析数据库与缓存的双写一致性问题今天就跟大家聊聊有关如何浅析数据库与缓存的双写一致性问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。缓存由于其高并发和高

      攻略 2021年12月1日
    • RedHat7.2的RemoveIPC设置主yes引起rac宕机该怎么办

      技术RedHat7.2的RemoveIPC设置主yes引起rac宕机该怎么办今天就跟大家聊聊有关RedHat7.2的RemoveIPC设置主yes引起rac宕机该怎么办,可能很多人都不太了解,为了让大家更加了解,小编给大

      攻略 2021年11月12日
    • Windows下怎么安装Frida环境

      技术Windows下怎么安装Frida环境今天就跟大家聊聊有关 Windows下怎么安装Frida环境,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Window

      攻略 2021年10月23日
    • 恩格斯名言,有关资本主义经济制度的名人名言

      技术恩格斯名言,有关资本主义经济制度的名人名言在资本主义生产的基础上恩格斯名言,历时较长范围较广的事业,要求在较长时间内预付较大量的货币资本。所以,这一类领域里的生产取决于单个资本家拥有的货币资本的界限。这个限制被信用制

      生活 2021年10月25日