国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PostgreSQL兩三事

leeon / 417人閱讀

摘要:在沒有手動配置的情況下,之類的事情,不得不交給做,而與賬戶之間的來回切換,也會浪費寶貴的時間。作為秒數表示空閑時間間隔,當一個連接持續該時間閑置,會發送包給客戶端,若連續個包都在秒內沒有回應,則會認為這個已死。

不要用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 多系統切換實現方案(iframe嵌套的兩三)

    摘要:總結來說,低效,所以現在想將幾個系統融合到一個里邊,并且每次切換系統的時候保留用戶的操作。我是用開發的,所以切換的地方直接用了的切換組件。 前言 公司分好幾個后臺模塊,統一使用vue+elementUi框架開發,每一個后臺模塊都是單獨團隊開發的。并且幾個系統整體的風格、布局一樣的,包括左側邊欄,上方的面包屑等用戶在使用的時候,可能要切換別的系統就要在瀏覽器里,新打開窗口,再輸入網址,回...

    cocopeak 評論0 收藏0
  • rem兩三

    摘要:昨天被問到關于的問題,當時一臉懵逼,因為寫了兩年,基本沒怎么碰過,有點迷糊。缺點無縮放,且針對的屏沒有做適配,導致對一些手機的適配不是很到位。缺點需要根據設計稿進行基準值換算,在不使用編輯器插件開發時,單位計算復雜。 os:昨天被問到關于rem的問題,當時一臉懵逼,因為寫了兩年js,基本沒怎么碰過css,有點迷糊。 px、em、rem區別 不同于px這個固定單位,em和rem都是相對單...

    Alliot 評論0 收藏0
  • outline和他娘親border兩三

    摘要:是啥顧英文名思義就是元素的輪廓,其實一般我們很少去設置元素的樣式,因此很多人對他不太了解。瀏覽器默認給很多特定元素的某些行為加上了樣式,比如標簽輸入框等。 outline是啥? outline顧英文名思義就是元素的輪廓,其實一般我們很少去設置元素的outline樣式,因此很多人對他不太了解。瀏覽器默認給很多特定元素的某些行為加上了outline樣式,比如a標簽、input輸入框等。當你...

    DesGemini 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<