使用python登錄pgsql,實現監控PostgreSQL

PostgreSQL

如果打算爲項目選擇一款免費、開源的數據庫,那麼你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免費、開源、強大、且功能豐富的數據庫。

MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自於Oracle和第三方廠商的培訓與支持。基於最初的MySQL代碼還有更多的數據庫可供選擇,因爲幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一 Michael “Monty” Widenius貌似後悔將MySQL賣給了Sun公司,於是又開發了他自己的MySQL分支MariaDB,它是免費的,基於GPL許可。知名的 MySQL開發者Brian Aker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、雲、網絡應用與高併發進行了優化。

PostgreSQL標榜自己是世界上最先進的開源數據庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那麼昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作爲Ingres數據庫的後繼。

利用python登入PostgreSQL數據庫,可以用來實現zabbix監控PostgreSQL數據庫的各項性能指標。

使用python的psycopg2庫可以登錄PostgreSQL數據庫並進行相關操作。

pip install psycopg2 #安裝psycopg2模塊

1、 psycopg2.connect(database="testdb", user="postgres", password="cohondob", host="127.0.0.1", port="5432")

#這個API打開一個連接到PostgreSQL數據庫。如果成功打開數據庫時,它返回一個連接對象。

2、 connection.cursor()

#該程序創建一個光標將用於整個數據庫使用Python編程。

3、 cursor.execute(sql [, optional parameters])

#此例程執行SQL語句。可被參數化的SQL語句(即佔位符,而不是SQL文字)。

4、 curosr.executemany(sql, seq_of_parameters)

#該程序執行SQL命令對所有參數序列或序列中的sql映射。

5、 curosr.callproc(procname[, parameters])

#這個程序執行的存儲數據庫程序給定的名稱。該程序預計爲每一個參數,參數的順序必須包含一個條目。

6、 cursor.rowcount

#這個只讀屬性,它返回數據庫中的行的總數已修改,插入或刪除最後 execute*().

7、 connection.commit()

#此方法提交當前事務。如果不調用這個方法,無論做了什麼修改,自從上次調用commit()是不可見的,從其他的數據庫連接。

8、connection.rollback()

#此方法會回滾任何更改數據庫自上次調用commit()方法。

9、connection.close()

#此方法關閉數據庫連接。請注意,這並不自動調用commit()。如果你只是關閉數據庫連接而不調用commit()方法首先,那麼所有更改將會丟失!

10、cursor.fetchone()

#這種方法提取的查詢結果集的下一行,返回一個序列,或者無當沒有更多的數據是可用的。

11、cursor.fetchmany([size=cursor.arraysize])

#這個例程中取出下一個組的查詢結果的行數,返回一個列表。當沒有找到記錄,返回空列表。該方法試圖獲取儘可能多的行所顯示的大小參數。

12、cursor.fetchall()

#這個例程獲取所有查詢結果(剩餘)行,返回一個列表。空行時則返回空列表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章