我想製作一個腳本,可以在內存中運行postgres而不會產生任何問題。 我看了這個頁面:http://www.postgresql.org/docs/9.1/static/non-durability.html 但我不明白我該如何在腳本中設置這個參數。你可以幫我嗎?PostgreSQL關閉durabilty
感謝您的幫助!
我想製作一個腳本,可以在內存中運行postgres而不會產生任何問題。 我看了這個頁面:http://www.postgresql.org/docs/9.1/static/non-durability.html 但我不明白我該如何在腳本中設置這個參數。你可以幫我嗎?PostgreSQL關閉durabilty
感謝您的幫助!
這些參數中的大部分(如fsync
)只能在postgresql.conf
中設置。通過重新啓動PostgreSQL來應用更改。它們適用於整個數據庫集羣 - 該PostgreSQL安裝中的所有數據庫。這是因爲數據庫都共享一個postmaster,write-ahead log和一組共享系統表。
在那裏列出的唯一參數可以在腳本的SQL級別設置爲synchronous_commit
。通過設置synchronous_commit = 'off'
,你可以說「如果數據庫在接下來的幾秒內崩潰,就可以丟失這個事務,只要確保它仍然可以自動應用」。
在前面的回答中,我寫了更多關於此主題的信息Optimise PostgreSQL for fast testing。
如果你想用腳本設置其他參數,你可以這樣做,但你必須通過使用腳本打開並修改postgresql.conf
然後重新啓動PostgreSQL來完成。像sed
這樣的文本處理工具使這種工作更容易。
如果您運行的是基於Debian的Linux發行版,你可以這樣做:
pg_createcluster -d /dev/shm/mypgcluster 8.4 ramcluster
創建一個基於RAM的集羣。請注意,您所要做的:
pg_drop cluster 8.4 ramcluster
,並重新創建它在重啓等
什麼樣的腳本?細節? –