亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL有哪些不能做的foolish操作

發布時間:2021-07-16 09:42:02 來源:億速云 閱讀:172 作者:chen 欄目:大數據

這篇文章主要介紹“PostgreSQL有哪些不能做的foolish操作”,在日常操作中,相信很多人在PostgreSQL有哪些不能做的foolish操作問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PostgreSQL有哪些不能做的foolish操作”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

工作時間長了,可能就會總結出來一些東西,千萬不能做,做了會讓你后悔莫及。

先說一些我們的前提

1 擁有數據庫的所有權限

2 不能通過故意的方式來毀掉一個數據庫 例如 rm -rf

PostgreSQL有哪些不能做的foolish操作

那我們就開始列一列那些操作會讓你追悔莫及

1 刪除pg_class

對系統表不敬,大部分數據庫都有自己的系統表,而這些表中存儲著非常重要的信息,postgresql 中的 pg_catalog 中的pg_class 算是一個核心的表。

我們看看清空他怎么樣

truncate table pg_catalog.pg_class;

PostgreSQL有哪些不能做的foolish操作

即使你擁有初始的最大的權限,PG 的核心表,你也是沒有權利去刪除他的。

但如果你換了一種方法

PostgreSQL有哪些不能做的foolish操作

然后你退出,在psql 連入到postgresql中你會發現,不OK了

PostgreSQL有哪些不能做的foolish操作

pg_class 是PG中最重要的系統表之一,其中存儲著所有的系統的表中的object 的信息,OID信息,將他delete 后,基本上pg 無法在提供正常的服務,甚至是連入到PG中。

2 對系統文件的誤刪除

在很多數據庫中都有關鍵的控制文件,清理了配置控制文件的后果也是可以讓你記憶深刻。下面我們刪除PG中的 pg_control

PostgreSQL有哪些不能做的foolish操作

此時我們建立一個新的數據庫,就失敗了

PostgreSQL有哪些不能做的foolish操作

PostgreSQL有哪些不能做的foolish操作

PostgreSQL有哪些不能做的foolish操作

具體這樣的操作的失敗的原因,是檢查點的位置保存在文件pg_control中。因此,在恢復開始時,服務器首先讀取pg_control,讀取檢查點記錄,通過從檢查點記錄中指定的日志位置向前掃描來執行重做操作。所以在刪除了pg_control后,首先檢查點的checkpoint的工作就無法進行下去了。整體的數據庫系統就無法繼續工作,導致系統崩潰。

那如果刪除了pg_control 后還能讓PG重新啟動嗎?,可以但結果可能并不是你要的,即使你使用pg_resetwal 恢復了pg_control 數據庫可以啟動后,但很可能你得到得的結果是

PostgreSQL有哪些不能做的foolish操作


所以pg_control 是你不能丟失的控制文件。

3  清理你的模板數據庫

PostgreSQL有哪些不能做的foolish操作

PostgreSQL有哪些不能做的foolish操作

模板數據庫,意思即使你創建其他數據庫的基礎,例如里面已經加載的擴展信息,或者你往里面添加的任何數據庫,表,或者存儲過程  ,觸發器等元素,都會在你 create database 后從模板數據庫中帶過來。

當然有人說,你刪不掉 template1 template0 兩個數據庫,因為刪除的時候回報,他們是模板數據庫,不能刪除。

PostgreSQL有哪些不能做的foolish操作

上圖就是刪除了模板數據庫,然后在創建數據庫的時候,就.......  failed.

4  設置權限的時候 pg_hba.conf, 如下圖設置

PostgreSQL有哪些不能做的foolish操作

舉例我們設置一個賬號

PostgreSQL有哪些不能做的foolish操作

則最低的保障是需要系統在非主機登陸時,提供賬號密碼的驗證,由于上面pg_hba的設置,導致任何人在任何時候,不使用任何密碼都可以登陸到數據庫中。

PostgreSQL有哪些不能做的foolish操作

數據庫的安全蕩然無存。

5  寫 CTE 時使用recursive 時進行類似死循環的遞歸活動,造成語句最后失敗,并造成系統資源異常消耗。

PostgreSQL有哪些不能做的foolish操作

PostgreSQL有哪些不能做的foolish操作

PostgreSQL有哪些不能做的foolish操作

PostgreSQL有哪些不能做的foolish操作

這樣的語句會造成 

1系統資源嚴重消耗

2 系統的TEMP 庫瘋狂的使用,很可能會造成你的temp 庫占用大量的磁盤空間

3 造成客戶端連接被 KILL 

到此,關于“PostgreSQL有哪些不能做的foolish操作”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇安县| 巍山| 隆回县| 枝江市| 康定县| 日喀则市| 山东| 北宁市| 周口市| 莱芜市| 涡阳县| 万源市| 邯郸市| 湘西| 武平县| 温泉县| 华容县| 达拉特旗| 和静县| 加查县| 黔南| 华容县| 改则县| 武汉市| 南乐县| 庆城县| 荃湾区| 册亨县| 建始县| 黄平县| 高邮市| 武山县| 蓬安县| 会东县| 澄江县| 新田县| 泗洪县| 博兴县| 台前县| 石台县| 龙川县|