2010-05-22 166 views
0

我想打開所有修改數據庫的SQL語句的日誌記錄。我可以通過在配置文件中設置log_statement標誌來在自己的機器上獲得該標誌,但需要在用戶的機器上啓用它。你如何從程序代碼中啓用它? (我使用Python與psycopg2如果它很重要。)Postgres以編程方式打開log_statement

+0

我不確定我是否理解你的所有問題。我假設你的機器正在運行「用戶」機器運行某種客戶機的服務器。 「你需要在用戶的機器上啓用它」,我完全被你的斷言弄糊塗了。除非您想要駐留在用戶計算機上的每個用戶的日誌文件,否則該聲明對我來說沒有意義。可以詳細闡述一下你想完成什麼? – yarmiganosca 2010-05-22 19:28:01

+0

對,澄清,我的機器不是任何一種服務器,它只是我的開發盒。服務器和客戶端機器都駐留在用戶的站點上,通常情況下,這些站點可能在幾千英里之外,並且不能遠程訪問文件,因此手動編輯配置文件不是解決方案。 – rwallace 2010-05-23 15:10:07

回答

1

「它需要在用戶的機器上啓用」短語是混亂的,確實是......我想你的意思是從用戶」(客戶端)方「

在Postgresql中,一些server run-time parameters可以從連接更改,但只能從超級用戶更改 - 僅適用於那些不需要重新啓動服務器的設置。 我不確定那是否包含許多日誌選項。你可以嘗試的東西,如:

SELECT set_config('log_XXX', 'off', false); 

其中log_XXX是由相應的logging setting,並且'false'由你想設置的值來代替。

如果這不起作用,我想你是不走運的。