日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當(dāng)前位置:軟件下載吧 > 技術(shù)開發(fā) > 數(shù)據(jù)庫 > postgresql synchronous_commit參數(shù)的用法介紹

postgresql synchronous_commit參數(shù)的用法介紹

時間:2024-02-28 13:28作者:下載吧人氣:24

synchronous_commit

指定在命令返回”success”指示給客戶端之前,一個事務(wù)是否需要等待 WAL 記錄被寫入磁盤。

合法的值是{local,remote_write,remote_apply,on,off}

默認(rèn)的并且安全的設(shè)置是on。

不同于fsync,將這個參數(shù)設(shè)置為off不會產(chǎn)生數(shù)據(jù)庫不一致性的風(fēng)險:一個操作系統(tǒng)或數(shù)據(jù)庫崩潰可能會造成一些最近據(jù)說已提交的事務(wù)丟失,但數(shù)據(jù)庫狀態(tài)是一致的,就像這些事務(wù)已經(jīng)被干凈地中止。因此,當(dāng)性能比完全確保事務(wù)的持久性更重要時,關(guān)閉synchronous_commit可以作為一個有效的代替手段。

這個參數(shù)可以隨時被修改;任何一個事務(wù)的行為由其提交時生效的設(shè)置決定。因此,可以同步提交一些事務(wù),同時異步提交其他事務(wù)。例如,當(dāng)默認(rèn)是相反時,實(shí)現(xiàn)一個單一多語句事務(wù)的異步提交,在事務(wù)中發(fā)出SET LOCAL synchronous_commit TO OFF。

單實(shí)例環(huán)境

on:

當(dāng)數(shù)據(jù)庫提交事務(wù)時,wal先寫入 wal buffer 再寫入 wal 日志文件,設(shè)置成on表示提交事務(wù)時需等待本地wal寫入wal日志后才向客戶端返回成功。

on 為默認(rèn)設(shè)置,數(shù)據(jù)庫非常安全,但性能有所損耗。

off:

當(dāng)數(shù)據(jù)庫提交事務(wù)時不需要等待本地 wal buffer 寫入 wal 日志,隨即向客戶端返回成功,設(shè)置成off會給數(shù)據(jù)庫帶來一點(diǎn)風(fēng)險:數(shù)據(jù)庫宕機(jī)時最新提交的少量事務(wù)可能丟失,數(shù)據(jù)庫重啟后會認(rèn)為這些事務(wù)異常終止,會rollback。

適用對數(shù)據(jù)庫準(zhǔn)確性要求不高同時追求數(shù)據(jù)庫性能的的場景。

local:

local含義和on類似,表示提交事務(wù)時需要等待本地wal寫入后才向客戶端返回成功。

流復(fù)制環(huán)境

on:

表示流復(fù)制主庫提交事務(wù)時,需等待備庫接收主庫發(fā)送的wal日志流并寫入wal文件,之后才向客戶端返回成功,簡單的說on表示本地wal已落盤,備庫的wal也已落盤,有兩份持久化的wal,但備庫此時還沒有完成重做。

這個選項(xiàng)帶來的事務(wù)響應(yīng)時間較高。

remote_write:

表示流復(fù)制主庫提交事務(wù)時,需等待備庫接收主庫發(fā)送的wal日志流并寫入備節(jié)點(diǎn)操作系統(tǒng)緩存中,之后向客戶端返回成功,這種情況下備庫出現(xiàn)異常關(guān)閉時不會有已傳送的wal日志丟失風(fēng)險,但備庫操作系統(tǒng)異常宕機(jī)就有已傳送的wal丟失風(fēng)險了,此時wal可能還沒有完全寫入備節(jié)點(diǎn)wal文件中,簡單的說 remote_write 表示本地wal已落盤,備庫的wal還在備庫操作系統(tǒng)緩存中,也就是說只有一份持久化的wal。

這個選項(xiàng)帶來的事務(wù)響應(yīng)時間較低。

remote_apply:

表示流復(fù)制主庫提交事務(wù)時,需等待備庫接收主庫發(fā)送的wal流并寫入wal文件,同時備庫已經(jīng)完成重做,之后才向客戶端返回成功,簡單的說remote_apply 表示本地wal已落盤,備庫wal已落盤并且已經(jīng)完成重做,這個設(shè)置保證了擁有兩份持久化的wal,同時備庫也已經(jīng)完成了重做。

這個選項(xiàng)帶來的事務(wù)響應(yīng)時間最高。

補(bǔ)充:postgresql wal日志部分參數(shù)

fsync

fsync :控制wal日志刷新是否開啟刷新到磁盤,此參數(shù)控制wal_sync_method參數(shù)的刷新方法,如果fsync為off,則wal_sync_method的方法是沒有意義的,

如果沒開啟這個參數(shù),則可能由于wal日志塊沒有刷新到磁盤永久存儲而導(dǎo)致故障發(fā)生后實(shí)例出現(xiàn)塊折斷(oracle稱其為block curruption)

wal_sync_method

wal_sync_method :wal日志刷新方法,可選值為open_datasync/fdatasync/fsync/fsync_writethrough/open_sync

linux系統(tǒng)默認(rèn)為fdatasync,以open開頭的在某些系統(tǒng)上不支持

wal_buffers

wal_buffers :wal緩沖區(qū),默認(rèn)為-1,大小為1/32的shared_buffer,最小不少于64k,最大不大于一個wal_segment(默認(rèn)16M大小),一般保持默認(rèn)即可,因?yàn)檫^了wal_writer_delay(默認(rèn)200ms)總會刷新清空此緩存,設(shè)置太大了也用不上.

wal_writer_delay

wal_writer_delay:前面已經(jīng)說過,這有點(diǎn)類似oracle和mysql的1s定時寫日志策略,每隔這么長時間就會刷wal日志緩沖區(qū)的數(shù)據(jù),然后sleep,到點(diǎn)后再刷,如此循環(huán)往復(fù).

commit_delay

commit_delay :提交的延遲時間,如果設(shè)置了此參數(shù),則會commit后延遲一段時間再進(jìn)行提交,此機(jī)制可以合并其他事務(wù)進(jìn)而一起進(jìn)行組提交,不過合并的事務(wù)數(shù)是有限制的,要至少有commit_siblings參數(shù)個事務(wù)等待提交的時候才會延遲,所有當(dāng)有大量事務(wù)的時候會延遲,而如果事務(wù)很稀少就不會再被延遲了.

commit_siblings

commit_siblings :組提交個數(shù)的最少個數(shù),此參數(shù)上面已經(jīng)進(jìn)行說明

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

標(biāo)簽[db:關(guān)鍵字]

相關(guān)下載

查看所有評論+

網(wǎng)友評論

網(wǎng)友
您的評論需要經(jīng)過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 日本特黄a级高清免费酷网 日本特黄特色 | 久久综合久久自在自线精品自 | 深夜做爰性大片很黄很色视频 | 一级特黄一欧美俄罗斯毛片 | 久久精品毛片 | 男女性生活网站 | 日本作爱 | 免费不卡毛片 | 色九九| 两性色午夜视频免费国产 | 国内精品视频成人一区二区 | 国产主播福利片在线观看 | 自拍视频在线观看 | 国产午夜亚洲精品第一区 | 人久热欧美在线观看量量 | 9久9久女女热精品视频免费观看 | 国产成人狂喷潮在线观看2345 | 亚洲综合欧美综合 | 成人黄激情免费视频 | 男人的天堂精品国产一区 | 岛国片欧美一级毛片 | 欧美日韩视频一区三区二区 | 国产精品99在线观看 | 久草免费在线播放视频 | 奇米5555| 国产uv1区二区三区 国产va免费精品高清在线观看 | 欧美国产精品一区二区免费 | 高清在线亚洲精品国产二区 | 欧美另类孕交 | 久久精品国产99久久72 | 亚洲综合一区二区精品久久 | 欧美精品三级在线 | 免费成人一级片 | 欧美一区二| 成人永久免费视频网站在线观看 | chinese多姿势videos | 国产亚洲精品午夜一区 | 鲁丝一区二区三区不属 | 在线免费观看国产 | 亚洲经典在线 | 黄色网址网站 |