最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PostgreSQL 自動(dòng)Vacuum配置方式

 更新時(shí)間:2021年01月26日 16:45:23   作者:零零喵  
這篇文章主要介紹了PostgreSQL 自動(dòng)Vacuum配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

PostgreSQL的Vacuum由于以下原因需要定期執(zhí)行。

釋放,再利用因更新或者刪除更新而占用的磁盤(pán)空間。

更新PostgreSQL 查詢計(jì)劃用的統(tǒng)計(jì)數(shù)據(jù)。

避免事務(wù)ID的重置而引起非常老的數(shù)據(jù)丟失。

VACUUM 的標(biāo)準(zhǔn)SQL文的執(zhí)行和其他的對(duì)數(shù)據(jù)庫(kù)的實(shí)際操作可以并行處理。

SELECT 、INSERT 、UPDATE 、DELETE 等命令和同通常一樣繼續(xù)能夠執(zhí)行。

但是,VACUUM處理中的時(shí)候, ALTER TABLE ADD COLUMN等等的命令不能夠?qū)Ρ磉M(jìn)行重新定義。

還有,由于執(zhí)行VACUUM 的時(shí)候,有大量的I/O操作,其他的操作可能性能比較低,比如查詢的反應(yīng)非常慢。為了較少對(duì)性能的影響,可以通過(guò)參數(shù)來(lái)調(diào)整。

autovacuum (boolean ):

數(shù)據(jù)庫(kù)服務(wù)器是否設(shè)置為自動(dòng)vacuum。默認(rèn)為 自動(dòng)vacuum。 但是如果要讓vacuum能夠正常運(yùn)轉(zhuǎn),必須使 track_counts 有效。 track_counts這個(gè)參數(shù)在 postgresql.conf配置文件內(nèi),或者通過(guò)命令來(lái)設(shè)置。

即使設(shè)置不是自動(dòng)vacuum。系統(tǒng)發(fā)現(xiàn)有防止事務(wù)ID的重置的必要的時(shí)候也會(huì)自動(dòng)啟動(dòng)

log_autovacuum_min_duration (integer ):

設(shè)置執(zhí)行時(shí)間超過(guò)多長(zhǎng) 的vacuum才輸出log。時(shí)間單位毫秒。

如果這個(gè)參數(shù)設(shè)置為0的話,所有vacuum相關(guān) 的log都輸出。

如果這個(gè)參數(shù)設(shè)置為-1的話,這個(gè)也是默認(rèn)設(shè)置。log的輸出無(wú)效,也就是所有vacuum相關(guān) 的log都不輸出。

這個(gè)參數(shù)的設(shè)置可以修改postgresql.conf配置文件,也可以通過(guò)命令來(lái)設(shè)置。

autovacuum_max_workers (integer ):

設(shè)置能夠同時(shí)執(zhí)行的vacuum最大進(jìn)程數(shù)。 默認(rèn)是3個(gè)。

這個(gè)參數(shù)的設(shè)置可以修改postgresql.conf配置文件,也可以通過(guò)命令來(lái)設(shè)置。

autovacuum_naptime (integer ):

設(shè)置數(shù)據(jù)庫(kù)執(zhí)行vacuum的最小延遲。時(shí)間單位是分。默認(rèn)是1分鐘。這個(gè)參數(shù)的設(shè)置可以修改postgresql.conf配置文件,也可以通過(guò)命令來(lái)設(shè)置。

autovacuum_vacuum_threshold (integer ):

設(shè)置任何一張表內(nèi)觸發(fā)VACUUM 的 更新,刪除tuple的最小數(shù)。默認(rèn)為50。

這個(gè)參數(shù)的設(shè)置可以修改postgresql.conf配置文件,也可以通過(guò)命令來(lái)設(shè)置。這個(gè)設(shè)定通過(guò) pg_autovacuum的項(xiàng)目可以覆蓋每張表。

autovacuum_analyze_threshold (integer ):

設(shè)置任何一張表內(nèi)觸發(fā)ANALYZE 的更新,刪除tuple的最小數(shù)。默認(rèn)為50。

這個(gè)參數(shù)的設(shè)置可以修改postgresql.conf配置文件,也可以通過(guò)命令來(lái)設(shè)置。這個(gè)設(shè)定通過(guò) pg_autovacuum的項(xiàng)目可以覆蓋每張表。

autovacuum_vacuum_scale_factor (floating point ):

是否觸發(fā)VACUUM的判斷的時(shí)候 、設(shè)置 autovacuum_vacuum_threshold 追加的表容量斷片。默認(rèn)是0.2(即20%)。

這個(gè)參數(shù)的設(shè)置可以修改postgresql.conf配置文件,也可以通過(guò)命令來(lái)設(shè)置。這個(gè)設(shè)定通過(guò) pg_autovacuum的項(xiàng)目可以覆蓋每張表。

autovacuum_analyze_scale_factor (floating point ):

是否觸發(fā) ANALYZE 的判斷的時(shí)候 、設(shè)置 autovacuum_vacuum_threshold 追加的表容量斷片。默認(rèn)是0.1(即10%)。

這個(gè)參數(shù)的設(shè)置可以修改postgresql.conf配置文件,也可以通過(guò)命令來(lái)設(shè)置。這個(gè)設(shè)定通過(guò) pg_autovacuum的項(xiàng)目可以覆蓋每張表。

autovacuum_freeze_max_age (integer ):

為了防止事務(wù)ID的重置,VACUUM強(qiáng)制操作前,設(shè)置表的 pg_class .relfrozenxid字段的最大值。默認(rèn)是2億。

這個(gè)參數(shù)只能夠在啟動(dòng)的時(shí)候設(shè)置。

autovacuum_vacuum_cost_delay (integer ):

設(shè)置自動(dòng)vacuum操作中cost延遲。默認(rèn)是20毫秒。設(shè)置的為-1的話,使用vacuum_cost_delay的值。

這個(gè)參數(shù)的設(shè)置可以修改postgresql.conf配置文件,也可以通過(guò)命令來(lái)設(shè)置。這個(gè)設(shè)定通過(guò) pg_autovacuum的項(xiàng)目可以覆蓋每張表。

autovacuum_vacuum_cost_limit (integer ):

設(shè)置自動(dòng)vacuum操作中cost的最大界限值。默認(rèn)是-1,這時(shí)候用vacuum_cost_limit的值。 這個(gè)參數(shù)的設(shè)置可以修改postgresql.conf配置文件,也可以通過(guò)命令來(lái)設(shè)置。這個(gè)設(shè)定通過(guò) pg_autovacuum的項(xiàng)目可以覆蓋每張表。

補(bǔ)充:PostgreSQL數(shù)據(jù)庫(kù)管理:定期vacuum

為什么PostgreSQL數(shù)據(jù)庫(kù)管理工作中,定期vacuum是一個(gè)重要的工作.

原因在于以下3點(diǎn):

釋放,再利用 更新/刪除的行所占據(jù)的磁盤(pán)空間.

更新PostgreSQL查詢計(jì)劃中使用的統(tǒng)計(jì)數(shù)據(jù).

防止因事務(wù)ID的重置而使非常老的數(shù)據(jù)丟失.

第一點(diǎn)的原因是

PostgreSQL數(shù)據(jù)的插入,更新,刪除操作并不是真正放到數(shù)據(jù)庫(kù)空間.如果不定期釋放空間的話,由于數(shù)據(jù)太多,查詢速度會(huì)巨降.

第二點(diǎn)的原因是

PostgreSQL在做查詢處理的時(shí)候,為了是查詢速度提高,會(huì)根據(jù)統(tǒng)計(jì)數(shù)據(jù)來(lái)確定執(zhí)行計(jì)劃.如果不及時(shí)更新的話,查詢的效果可能不如預(yù)期.

第三點(diǎn)的原因是

PostgreSQL中每一個(gè)事務(wù)都會(huì)產(chǎn)生一個(gè)事務(wù)ID,但這個(gè)數(shù)字是有上限的. 當(dāng)事務(wù)ID達(dá)到最大值后,會(huì)重新從最小值開(kāi)始循環(huán).這樣如果不及時(shí)把以前的數(shù)據(jù)釋放掉的話,原來(lái)的老數(shù)據(jù)會(huì)因?yàn)槭聞?wù)ID的丟失而丟失掉.

話說(shuō)回來(lái)vacuum操作可以手動(dòng)和自動(dòng).如果有專門(mén)的數(shù)據(jù)庫(kù)維護(hù)人員的話,可以適時(shí)進(jìn)行.但很多系統(tǒng)為了節(jié)省維護(hù)成本,這樣就需要依賴自動(dòng)vacuum了.

雖說(shuō)定期vacuum是PostgreSQL的一個(gè)弱點(diǎn),不過(guò)在8.3版本以后,把這個(gè)任務(wù)交給自動(dòng)vacuum就可以了.

要使自動(dòng)vacuum有效,必須設(shè)置track_counts參數(shù)為true.具體的設(shè)置可以參照官方的文檔.

定期vacuum還是自己寫(xiě)一個(gè)shell來(lái)自動(dòng)執(zhí)行比較好.

在shell中執(zhí)行vacuumdb命令. 例: ./vacuumdb -d databaseName --analyze

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • PostgreSQL 如何查找需要收集的vacuum 表信息

    PostgreSQL 如何查找需要收集的vacuum 表信息

    這篇文章主要介紹了PostgreSQL 如何查找需要收集的vacuum 表信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • PostgreSQL批量修改函數(shù)擁有者的操作

    PostgreSQL批量修改函數(shù)擁有者的操作

    這篇文章主要介紹了PostgreSQL批量修改函數(shù)擁有者的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • postgresql 中的序列nextval詳解

    postgresql 中的序列nextval詳解

    這篇文章主要介紹了postgresql 中的序列nextval詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • navicat無(wú)法連接postgreSQL-11的解決方案

    navicat無(wú)法連接postgreSQL-11的解決方案

    這篇文章主要介紹了navicat無(wú)法連接postgreSQL-11的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • postgresql通過(guò)索引優(yōu)化查詢速度操作

    postgresql通過(guò)索引優(yōu)化查詢速度操作

    這篇文章主要介紹了postgresql通過(guò)索引優(yōu)化查詢速度操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12
  • 在PostgreSQL中訪問(wèn)Oracle的具體步驟

    在PostgreSQL中訪問(wèn)Oracle的具體步驟

    在PostgreSQL數(shù)據(jù)庫(kù)中,oracle_fdw是PostgreSQL數(shù)據(jù)庫(kù)支持的外部擴(kuò)展,通過(guò)使用oracle_fdw擴(kuò)展可以讀取到Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù),本文就給大家介紹了在PostgreSQL中如何通過(guò)oracle_fdw訪問(wèn)Oracle,需要的朋友可以參考下
    2025-05-05
  • PostgreSQL完成按月累加的操作

    PostgreSQL完成按月累加的操作

    這篇文章主要介紹了PostgreSQL完成按月累加的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • PostgreSQL排查連接鎖問(wèn)題的常用SQL語(yǔ)句

    PostgreSQL排查連接鎖問(wèn)題的常用SQL語(yǔ)句

    正常情況下,PostgreSQL只要連上了就能愉快地使用了,但是在一些特別的場(chǎng)景,如壓測(cè)或者某些不可描述的異常,會(huì)出現(xiàn)數(shù)據(jù)庫(kù)連接異常的情況,比如連接數(shù)占滿了,所以本文給大家介紹了PostgreSQL排查連接鎖問(wèn)題的常用SQL語(yǔ)句,需要的朋友可以參考下
    2024-04-04
  • 關(guān)于postgresql?timestamp時(shí)間戳問(wèn)題

    關(guān)于postgresql?timestamp時(shí)間戳問(wèn)題

    這篇文章主要介紹了關(guān)于postgresql?timestamp時(shí)間戳問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • postgresql數(shù)據(jù)庫(kù)使用說(shuō)明_實(shí)現(xiàn)時(shí)間范圍查詢

    postgresql數(shù)據(jù)庫(kù)使用說(shuō)明_實(shí)現(xiàn)時(shí)間范圍查詢

    這篇文章主要介紹了postgresql數(shù)據(jù)庫(kù)使用說(shuō)明_實(shí)現(xiàn)時(shí)間范圍查詢,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01

最新評(píng)論

宜丰县| 武宣县| 广西| 永登县| 门头沟区| 汝城县| 阜平县| 福州市| 孝昌县| 天台县| 灵璧县| 濮阳县| 双牌县| 福清市| 临湘市| 呈贡县| 夏河县| 大港区| 南雄市| 疏附县| 图木舒克市| 海原县| 汕头市| 鞍山市| 张家口市| 神木县| 新宁县| 育儿| 修武县| 阿合奇县| 昂仁县| 延津县| 崇文区| 崇左市| 博兴县| 改则县| 巴中市| 日喀则市| 桃源县| 来宾市| 丘北县|