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

发布时间:2021-11-15 16:56:45 作者:小新
来源:亿速云 阅读:184

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

安装PostgreSQL 9.6为例: 

安装

Install the repository RPM
yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm

Install the client packages
yum install postgresql96

Install the server packages
yum install postgresql96-server

Initialize the database and enable automatic start
/usr/pgsql-9.6/bin/postgresql96-setup initdb
systemctl enable 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,修改认证方式:

# "local" is for Unix domain socket connections only
local   all             all                                         trust
# IPv4 local connections:
host    all             all             127.0.0.1/32              ident
host    all             all             0.0.0.0/0                 md5

重启PostgreSQL
systemctl restart postgresql-9.6 

认证方式

认证方式支持"trust", "reject", "md5", "password", "gss", "sspi", "ident", "peer", "pam", "ldap", "radius" , "cert"。

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如何安装配置”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

推荐阅读:
  1. PostgreSQL 登陆工具pgAdmin以及psql使用
  2. 使用python怎么往Postgresql数据库中插入一个Null值

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

postgresql centos rhel

上一篇:怎么解决unzip依赖中的Update failed问题

下一篇:centos中如何安装kubernetes

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》