久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

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

158次閱讀
沒有評論

共計 2936 個字符,預計需要花費 8 分鐘才能閱讀完成。

這篇文章主要介紹了 CentOS/RHEL 7 上 PostgreSQL 如何安裝配置,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

安裝 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。

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$;

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“CentOS/RHEL 7 上 PostgreSQL 如何安裝配置”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計2936字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 朝阳市| 呼图壁县| 扶风县| 六盘水市| 土默特右旗| 富蕴县| 广灵县| 磐安县| 吉水县| 西藏| 昭通市| 东乡县| 枣强县| 百色市| 方山县| 大同市| 固始县| 吉林市| 荔浦县| 玉环县| 揭阳市| 富川| 二连浩特市| 壤塘县| 宁晋县| 利辛县| 南康市| 乐平市| 西峡县| 嘉禾县| 崇左市| 杂多县| 仁怀市| 红安县| 翁源县| 睢宁县| 永宁县| 洛扎县| 开平市| 葫芦岛市| 台中县|