成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

PG日常運維中的幾個常見問題,你注意到了嗎?

運維
與Oracle泛若煙海的知識相比,PG的運維確實要簡單的多。再加上我們從Oracle將系統遷移到PG的時候會做大量的SQL優化,甚至拆分數據庫,因此大多數PG數據庫的體量也會比Oracle小不少,這也減輕了數據庫運維的難度。

?相對于Oracle來說,PG數據庫的運維還是要簡單不少的。不知道大量數據庫從Oracle遷移到開源或者國產數據庫之后,DBA會不會貶值。不過這個過程剛剛開始的時候,DBA不但不會貶值,反而會升值,如果你既能干Oracle DBA,還能干點PG/MYSQL之類的數據庫,那么企業肯定會更倚重你。

與Oracle泛若煙海的知識相比,PG的運維確實要簡單的多。再加上我們從Oracle將系統遷移到PG的時候會做大量的SQL優化,甚至拆分數據庫,因此大多數PG數據庫的體量也會比Oracle小不少,這也減輕了數據庫運維的難度。最近要給一個客戶做一個PG數據庫日常運維優化中的常見問題的培訓,所以我這兩天也在梳理這方面的問題。今早我們就來聊聊PG運維中常見的問題吧。

首先是PG數據庫起不來了,這個問題可能出現在剛剛部署PG數據庫的時候,也可能某個庫被人瞎搞了一下,就突然起不來了。PG數據庫的核心是$PGDATA目錄下的文件結構,如果數據庫的文件都是正常的,沒有被破壞,那么大概率是因為環境變量設置,pg_ctl啟動參數或者文件目錄的屬性錯誤導致的。如果啟動數據庫的時候遇到"/home/pg/data" has invalid permissions這個錯誤的時候,那么只要糾正這個目錄的訪問權限就可以了。

如果PG數據庫因為某些文件損壞而無法啟動,那么幸運的是大部分情況處理起來并不麻煩,使用reset_wal工具去做修復。有興趣了解詳情的朋友可以去公眾號翻閱我以前寫過的一篇文章《上點硬菜:聊聊PG數據庫的故障修復》,這里就不重復描述了。

其次,數據庫如果能正常啟動,客戶端無法訪問數據庫服務,這種也是很常見的情況。一般情況下遇到此類問題有幾種情景。一種是網絡問題,防火墻等導致客戶端無法訪問數據庫服務的端口,或者客戶端訪問服務的端口或者IP地址錯誤。

如果本地的psql也無法通過SOCKET連接PG服務,而且端口也沒錯誤。那么首先我們要檢查一下unix socket的目錄:

圖片

這個目錄默認是/tmp,查看一下這個目錄下的socket文件是否正常。同時確保PGDATA環境變量設置是與PG數據庫服務的PGDATA一致的。

第三,數據庫用的好好的,突然PG服務就莫名其妙被殺掉了。這時候如果你查看一下messages日志,一般會發現是SWAP滿了或者系統干脆就沒設置SWAP。不知道哪位大俠提出的,既然SWAP會影響性能,而且我們也不知道LINUX啥時候回用SWAP,那么我們既然有那么大的物理內存,那還用啥SWAP,關閉SWAP性能更好。因此現在有不少關閉SWAP的擁躉。實際上,在沒有弄明白LINUX內存管理原理的情況下關閉SWAP,是會引發更大的風險的,我們一般不太建議完全關閉SWAP,因為有些特殊情況下,SWAP是可以救命的。

遇到這種情況,我們還是建議調整VM的overcommit_memory參數,swappiness等參數,以及NUMA的相關配置。同時加大SWAP,以確保此類現象不再發生。有些老司機建議大家調整oom_score_adj參數,讓OOM發生的時候不挑postmaster等核心PG服務進程去下手,這種方式也是有效的,但是還是那句話,你沒弄明白這些機理的時候去盲目用這些偏方,還是有風險的。設置一個足夠大的SWAP可能是更好的方法。

第四,白名單配置不正確導致客戶端無法訪問PG數據庫服務。對于PG數據庫來說,HBA配置是默認的,這是確保數據庫不被外部隨意攻擊的一道十分重要的屏障。作為PG DBA來說,做精細的管理是今后避免扯皮的一個十分重要的工作。因此建議你不要使用0.0.0.0這樣的配置項,最好把能夠訪問PG數據庫的IP地址作為粒度來配置,如果不能做到按照IP地址配置,也要配置到最小的限制單元。想要訪問你的PG數據庫,必須是讓你知道的,做到這一點,你才能更好的把控數據庫。pg_hba.conf文件修改后,pg_ctl reload一下就可以更新了,還是十分方便的。

第五,表元組膨脹或者FREEZE問題,死元組過多導致的表膨脹是ASTORE存儲的數據庫的常見問題。表膨脹會影響全表掃碼類SQL的性能。而FREEZE會引發寫操作被阻塞。這些問題往往是因為PG數據庫的一些配置問題引發的。我以前寫過一篇文章《PG AUTOVACUUM的優化小技巧》,大家有興趣的話可以到公眾號去閱讀,因為里面的參數調整還是挺復雜的,這里就不重復了。

第六,WAL目錄膨脹,WAL目錄膨脹,導致PGDATA目錄滿了,也是常見問題。這種情況一般是由于數據庫復制或者復制槽的設置存在問題導致的。有些備份工具為了確保能夠備份到所有需要的WAL,也會通過設置一個復制槽來做這方面的控制。而備份工具往往不會主動確認復制狀態,因此就容易組織WAL被自動清除了。PG 13后針對復制槽的WAL SIZE有了很好的控制,PG 12后,對WAL SIZE的控制參數也有了更精細化的設置。如果能夠通過參數控制的,那么就把這些參數設置好。

第七,誤刪數據。PG 的DDL都是可以回滾的,因此防誤刪最重要的是關閉AUTOCOMMIT。如果你已經關閉了AUTOCOMMIT,那么誤刪數據后不要驚慌,直接rollback就可以了。如果真的已經COMMIT了,無法回滾了。那么如果你做的是DDL,那么只能期望你有備份了,因為主備庫有可能都無法救你的命了。如果沒有備份,那么只能從操作系統層面去undelete你的數據文件,再去做拯救了。如果你做的是dml操作,那么數據還是有救的。還可以通過reset_wal工具回退到誤操作提交前的點,從而找回數據。

今天時間有限,也只想到了這么多,就寫這七條吧,希望這些文字對PG DBA有所幫助。?

責任編輯:武曉燕 來源: 白鱔的洞穴
相關推薦

2015-05-26 09:35:29

運維運維危機云計算應用

2012-11-19 10:30:08

win8

2022-05-24 16:09:38

前端腳本

2024-03-15 09:50:00

NULLSQL優化

2023-06-27 07:21:51

前端開發坑點

2018-11-15 08:43:11

交換機硬件故障軟件故障

2019-11-08 09:52:55

程序員技能開發者

2020-01-09 08:00:29

微信實用功能移動開發

2022-06-01 00:10:24

惡意軟件欺詐行為設備

2015-09-16 13:19:11

2022-05-16 08:09:45

前端API

2019-05-16 09:50:39

負載均衡高可用數據

2018-09-07 15:34:25

Linux運維故障

2010-01-06 16:23:45

Linux常見問題

2011-10-28 10:56:24

jQTouchjQueryiPhone

2020-07-21 15:53:18

戴爾

2024-07-01 08:23:20

2009-06-29 16:09:20

JSP編程

2013-03-29 09:15:08

IT運維運維人員運維工程師

2020-10-25 08:45:38

IPv6網絡協議網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩免费一区二区 | 欧美老妇交乱视频 | 亚洲精品乱码久久久久久按摩 | 久草精品视频 | 四虎影视1304t | 日韩成人在线网站 | 国产乱码精品一区二区三区中文 | 久久成人免费 | 国产精品久久国产愉拍 | 成人毛片网 | 成人免费看片又大又黄 | 青草青草久热精品视频在线观看 | 成人在线影视 | 国产精品国产精品 | 午夜伦理影院 | 久久国内 | 午夜免费网站 | 欧美一级片在线观看 | 国产精品 欧美精品 | 亚州av | 欧美午夜视频 | 国产成人免费网站 | 毛片一级片 | 奇米超碰 | 少妇精品亚洲一区二区成人 | 欧美一级高清片 | 久久久精品网站 | 九九精品网 | 亚洲精品久久久久久宅男 | 国产成人精品免费视频 | 久久久久久高潮国产精品视 | 网站黄色在线 | 国产一区二区在线免费观看 | 神马久久久久久久久久 | 99热这里 | 亚洲一区在线日韩在线深爱 | 爱爱综合网 | 99久久精品视频免费 | 久久伊人一区二区 | 在线不卡一区 | 成人精品国产免费网站 |