摘要:在沒有手動配置的情況下,之類的事情,不得不交給做,而與賬戶之間的來回切換,也會浪費寶貴的時間。作為秒數表示空閑時間間隔,當一個連接持續該時間閑置,會發送包給客戶端,若連續個包都在秒內沒有回應,則會認為這個已死。
不要用Graphic Installer
至少在Ubuntu下,覺得原生的apt-get管理方式更合適,PG的文件資源會被分配到應該的地方,Linux的系統文件結構也是種非常穩健的架構。例如在/etc/postgresql下可以找到conf文件是一件清晰到爽的事情。正常通過apt安裝的方式參見這篇博文。
之前有一臺VM就是沒有忍住一時之快,用了Graphic Installer,所有的東西被塞到/opt/PostgreSQL/x.x中,當然,conf、bin等文件都在其中。在沒有手動配置的情況下,start/stop/restart/reload之類的事情,不得不交給pg_ctl做,而與postgres賬戶之間的來回切換,也會浪費寶貴的時間。例如重啟PG需要
./pg_ctl restart -D ../data
而出現沖突的時候還會需要忍不住 -m fast 一下。而如果使用系統服務,至少可以這樣:
sudo /etc/init.d/postgresql restart修改postgresql.conf
數據庫系統參數是很重要的功能,根據應用特點進行性能調優時,往往需要用到。目前用到的幾個參數里,shared_buffers一般會盡量設置大一些,有人建議設為RAM的10%,其實我覺得更大一些也沒什么問題。tcp_keepalives_idle作為秒數表示空閑時間間隔,當一個tcp連接持續該時間閑置,db會發送tcp_keeplive包給客戶端,若連續tcp_keepalives_count個包都在tcp_keepalives_interval秒內沒有回應,則會認為這個tcp已死。
修改postgresql.conf后可以通過 select pg_reload_conf();重新加載配置。但是配置里有些是支持動態的,而有些必須要重啟db,例如shared_buffers就如此,悲催。重加載或重啟后,可通過show <配置項>命令查看當前已生效的配置項值,例如:
show tcp_keepalives_idle;查看當前的服務器狀態
可調用PG自帶的一個視圖:
select * from pg_stat_activity
這個視圖可以查出目前的連接,以及各自連接的狀態、時間點、SQL內容等,視圖內容:
CREATE OR REPLACE VIEW pg_stat_activity AS SELECT s.datid, d.datname, s.procpid, s.usesysid, u.rolname AS usename, s.application_name, s.client_addr, s.client_hostname, s.client_port, s.backend_start, s.xact_start, s.query_start, s.waiting, s.current_query FROM pg_database d, pg_stat_get_activity(NULL::integer) s(datid, procpid, usesysid, application_name, current_query, waiting, xact_start, query_start, backend_start, client_addr, client_hostname, client_port), pg_authid u WHERE s.datid = d.oid AND s.usesysid = u.oid;
當然,只要不是很老的PG版本,可以用pg_terminate_backend來終止相應的會話,這篇文章例舉了更多的使用場景。例如:
SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE datname = "databasename"
終止某個用戶的會話:
SELECT pg_terminate_backend(procpid) FROM pg_stat_activity WHERE usename = "username"
如果覺得terminate太暴力,還可以使用pg_cancel_backend。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38941.html
摘要:總結來說,低效,所以現在想將幾個系統融合到一個里邊,并且每次切換系統的時候保留用戶的操作。我是用開發的,所以切換的地方直接用了的切換組件。 前言 公司分好幾個后臺模塊,統一使用vue+elementUi框架開發,每一個后臺模塊都是單獨團隊開發的。并且幾個系統整體的風格、布局一樣的,包括左側邊欄,上方的面包屑等用戶在使用的時候,可能要切換別的系統就要在瀏覽器里,新打開窗口,再輸入網址,回...
摘要:是啥顧英文名思義就是元素的輪廓,其實一般我們很少去設置元素的樣式,因此很多人對他不太了解。瀏覽器默認給很多特定元素的某些行為加上了樣式,比如標簽輸入框等。 outline是啥? outline顧英文名思義就是元素的輪廓,其實一般我們很少去設置元素的outline樣式,因此很多人對他不太了解。瀏覽器默認給很多特定元素的某些行為加上了outline樣式,比如a標簽、input輸入框等。當你...
閱讀 752·2021-10-14 09:43
閱讀 2077·2021-09-30 09:48
閱讀 3444·2021-09-08 09:45
閱讀 1097·2021-09-02 15:41
閱讀 1887·2021-08-26 14:15
閱讀 775·2021-08-03 14:04
閱讀 2977·2019-08-30 15:56
閱讀 3074·2019-08-30 15:52