偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

PostgreSQL 12源碼包部署及用戶管理

運(yùn)維 數(shù)據(jù)庫運(yùn)維 PostgreSQL
時間序列數(shù)據(jù)庫(Time Series Database)是用于存儲和管理時間序列數(shù)據(jù)的專業(yè)化數(shù)據(jù)庫,具備寫多讀少、冷熱分明、高并發(fā)寫入、無事務(wù)要求、海量數(shù)據(jù)持續(xù)寫入等特點(diǎn),可以基于時間區(qū)間聚合分析和高效檢索,廣泛應(yīng)用在物聯(lián)網(wǎng)、經(jīng)濟(jì)金融、環(huán)境監(jiān)控、工業(yè)制造、農(nóng)業(yè)生產(chǎn)、硬件和軟件系統(tǒng)監(jiān)控等場景。

大家好,我是小姜。一名落魄的低層運(yùn)維工程師。

前言

時間序列數(shù)據(jù)庫(Time Series Database)是用于存儲和管理時間序列數(shù)據(jù)的專業(yè)化數(shù)據(jù)庫,具備寫多讀少、冷熱分明、高并發(fā)寫入、無事務(wù)要求、海量數(shù)據(jù)持續(xù)寫入等特點(diǎn),可以基于時間區(qū)間聚合分析和高效檢索,廣泛應(yīng)用在物聯(lián)網(wǎng)、經(jīng)濟(jì)金融、環(huán)境監(jiān)控、工業(yè)制造、農(nóng)業(yè)生產(chǎn)、硬件和軟件系統(tǒng)監(jiān)控等場景。

最近公司需要使用時序數(shù)據(jù)庫,經(jīng)過調(diào)研發(fā)現(xiàn),TimeScaleDB 就是一款非常好用,功能強(qiáng)大的時序數(shù)據(jù)庫,并且基于強(qiáng)大的PostgreSQL。

而TimeScaleDB官網(wǎng)原話是:TimescaleDB 是 PostgreSQL 的擴(kuò)展,可讓您更輕松、更快速地處理時間序列數(shù)據(jù)。

因為目前生產(chǎn)用的是pgsql的12版本,因此下面就來部署一下PostgreSQL 12.

一、環(huán)境介紹

CentOS 7.5,內(nèi)核版本5.7。服務(wù)器:8C32G

PostgresSQL 源碼包下載地址:https://www.postgresql.org/download

注意內(nèi)核版本很重要,一定要注意。因為在內(nèi)核版本2.4的時候需要配置Huge page size,而我這里是5.7版本,就不進(jìn)行配置了。但是需要配置以下幾個參數(shù):

二、內(nèi)核參數(shù)修改

  1. vi /etc/sysctl.conf 
  2. kernel.shmmax = 30923764531 
  3. kernel.shmall = 7340032 
  4. fs.file-max = 1000000 
  5.  
  6. sysctl --system 
  7.  
  8.  
  9. vi /etc/security/limits.conf 
  10. * soft nofile 1000000 
  11. * hard nofile 1000000 
  12. * soft noproc 1000000 
  13. * hard noproc 1000000 
  14.  
  15. ulimit -n 1000000 

三、確保安裝了gcc和make

  1. gcc --version 
  2. make --version 

四、PostgresSQL 服務(wù)部署

  1. yum -y install readline readline-devel zlib zlib-devel bison 
  2.  
  3. groupadd postgres 
  4. useradd -g postgres postgres 
  5. passwd postgres 
  6.  
  7. # 創(chuàng)建相關(guān)目錄 
  8. mkdir -p /usr/local/postgresql-12 
  9. mkdir -p /data/postgresql-12/{data,log,archive} 
  10. chown -R postgres.postgres /data/postgresql-12/ 
  11. chmod -R 0700 /data/postgresql-12/data 
  12.  
  13. tar xf postgresql-12.6.tar.gz 
  14. cd postgresql-12.6 
  15.  
  16. # prefix指定的是pgsql的安裝目錄 
  17. ./configure  --prefix=/usr/local/postgresql-12 --with-pgport=5432 
  18.  
  19. make world 
  20. make install-world 
  21.  
  22. # 添加環(huán)境變量 
  23. vi /etc/profile 
  24. # postgres-12 
  25. LANG=en_US.utf8 
  26. PGDATA=/data/postgresql-12/data 
  27. PGHOME=/usr/local/postgresql-12 
  28. LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH 
  29. PATH=$PATH:/usr/local/postgresql-12/bin 
  30. export LANG PGDATA PGDATA LD_LIBRARY_PATH PATH  

五、PostgresSQL初始化

  1. su - posrgres 
  2. initdb -D /data/postgresql-12/data 

解釋:

-D 指定pgsql數(shù)據(jù)目錄

六、啟動和關(guān)閉pgsql

  1. # 啟動pgsql 
  2. pg_ctl -D /data/postgres-12/data -l postgresql.log start 
  3.  
  4. # 關(guān)閉pgsql 
  5. pg_ctl stop -D /data/postgres-12/data -mf 

解釋:

  • -D 指定路徑可以不加
  • -l 表示將日志寫入到文件
  • -mf:指定模式為fast
  • -m 指定模式。一共三種模式:smart、fast、immediate
  • smart:停止數(shù)據(jù)庫的時候需要等待所有的客戶端都斷開連接,最安全。因此停止的速度非常慢
  • fast:自動殺掉客戶端連接,生產(chǎn)中建議用這個方式。
  • immediate:類似kill -9,不是很安全,一般不用

七、設(shè)置pgsql密碼以及配置遠(yuǎn)程登錄

  1. su - postgres 
  2. ALTER USER postgres WITH PASSWORD '設(shè)置的密碼'
  3.  
  4. # 重啟pgsql 
  5. pg_ctl restart -mf 
  6.  
  7. # 配置遠(yuǎn)程登錄pgsql 
  8.  
  9. cd /data/postgresql-12/data 
  10. vi pg_hba.conf 
  11. # 添加允許遠(yuǎn)程的網(wǎng)段,也可以是單個ip 
  12. host    all             all             10.10.0.0/16            trust 
  13.  
  14.  
  15. vi postgresql.conf 
  16. # 配置postgresql.conf 
  17. 將listen_addresses = 'localhost'改成listen_addresses = '0.0.0.0' 
  18.  
  19. # 重啟pgsql服務(wù) 
  20. pg_ctl restart -D /data/postgres-12/data 
  21.  
  22. # 測試遠(yuǎn)程連接,如下表示遠(yuǎn)程連接完成 
  23. # example:psql -U pgsql用戶名 -h pgsql的ip -p 端口 -d 數(shù)據(jù)庫名 
  24.  
  25. $ psql -U postgres -h 10.10.22.151 -p 5432 -d postgres 
  26. psql (12.6) 
  27. Type "help" for help. 
  28.  
  29. postgres=# \q 

八、PostgreSQL用戶角色管理

pgsql中不區(qū)分用戶和角色的概念,create user其實就是create role 的別名。這兩個命令幾乎相同。唯一的區(qū)別就是create user創(chuàng)建的用戶默認(rèn)帶有l(wèi)ogin的屬性,而create role創(chuàng)建的用戶默認(rèn)不帶login屬性(\du查看的時候會看到cannot login)

  1. # 查看角色 
  2. select * from pg_roles; 
  3.  
  4. # 查看用戶 
  5. select * from pg_user; 

8.1、角色屬性

  1. 屬性            說明 
  2. login          只有具有l(wèi)ogin屬性的角色,可以用作數(shù)據(jù)庫連接的起始角色名 
  3. superuser      數(shù)據(jù)庫超級用戶 
  4. createdb        創(chuàng)建數(shù)據(jù)庫權(quán)限 
  5. createrole     允許其創(chuàng)建或者刪除其他普通用戶的角色(超級權(quán)限除外) 
  6. replication    做流復(fù)制的時候用到的一個用戶屬性,一般單獨(dú)設(shè)置 
  7. password      在登錄時要求制定密碼時才會起作用,比如md5或者password模式,和客戶端連接方式有關(guān) 
  8. inherit        用戶組對組員的一個繼承標(biāo)志,成員可以繼承用戶的權(quán)限特性 

8.2、角色授權(quán)

  1. # 給已存在的用戶賦予各種權(quán)限 
  2. # 1) 賦予登錄權(quán)限 
  3. alter role allen with logiin; 
  4.  
  5. # 2) 賦予創(chuàng)建角色權(quán)限 
  6. alter role jol with createrole; 
  7.  
  8. \du; 
  9.  
  10. # 色時并賦予權(quán)限 
  11. # 1) 創(chuàng)建角色allen 并賦予創(chuàng)建db的權(quán)限 
  12. create role allen createdb; 
  13.  
  14. # 2) 創(chuàng)建角色allen并賦予創(chuàng)建db的權(quán)限且設(shè)置密碼為allen123,并能夠登錄 
  15. create role allen createdb password 'allen123' login; 
  16.  
  17. # 使用剛才創(chuàng)建的用戶登錄pgsql 
  18. psql -U allen  -d mydb -h 10.10.22.151 -p 5432 
  19.  
  20.  
  21. # 將數(shù)據(jù)庫mydb授權(quán)給allen用戶 
  22. grant all privileges on database mydb to allen; 
  23.  
  24. # 這里授權(quán)后用戶還是沒有讀寫權(quán)限的,需要切換到mydb庫到再授權(quán) 
  25. \c mydb; 
  26. # 注意這條sql語句需要在所要操作的數(shù)據(jù)庫里執(zhí)行.即上面\c mydb; 切換到mydb庫后再操作 
  27. grant all privileges on all tables in schema public to allen; 
  28.  
  29. psql -U allen -d mydb; 
  30. CREATE TABLE student ( 
  31.     name        varchar(80), 
  32.     age         int 
  33. ); 
  34. insert into student values ('allenjol', 22); 
  35. select * from student; 

本次的部署和用戶基本介紹就到這里,后面會將PostgresSQL 的主從流復(fù)制。

 

責(zé)任編輯:武曉燕 來源: 運(yùn)維開發(fā)故事
相關(guān)推薦

2023-03-17 23:08:36

PostgreSQL數(shù)據(jù)庫

2022-01-10 07:59:14

PostgreSQl 主從流復(fù)制歸檔配置

2017-03-20 19:01:20

Linux管理員系統(tǒng)用戶

2009-12-25 16:37:11

Linux源碼包

2009-10-27 18:01:46

2023-12-20 10:14:24

2021-07-14 23:38:02

PostgreSQLOracle模式

2018-03-05 10:54:58

2021-08-13 14:16:05

Linux操作系統(tǒng)管理

2021-04-25 18:42:02

Serverless 文件上傳用戶管理

2009-01-27 17:32:00

虛擬化部署案例

2022-05-30 15:08:33

包管理子系統(tǒng)包安裝模塊

2011-08-24 14:07:13

PostgreSQLStreaming R

2011-09-14 13:28:36

PostgreSQL

2018-08-21 09:45:07

數(shù)據(jù)庫PostgreSQLSQL特性

2023-10-06 00:04:02

2011-01-11 14:06:39

2021-11-29 08:48:00

K8S KubernetesAirflow

2011-11-29 10:18:13

Windows操作系統(tǒng)

2010-11-19 10:26:19

Oracle創(chuàng)建用戶
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號