成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

PostgreSQL兩三事

leeon / 478人閱讀

摘要:在沒有手動(dòng)配置的情況下,之類的事情,不得不交給做,而與賬戶之間的來回切換,也會(huì)浪費(fèi)寶貴的時(shí)間。作為秒數(shù)表示空閑時(shí)間間隔,當(dāng)一個(gè)連接持續(xù)該時(shí)間閑置,會(huì)發(fā)送包給客戶端,若連續(xù)個(gè)包都在秒內(nèi)沒有回應(yīng),則會(huì)認(rèn)為這個(gè)已死。

不要用Graphic Installer

至少在Ubuntu下,覺得原生的apt-get管理方式更合適,PG的文件資源會(huì)被分配到應(yīng)該的地方,Linux的系統(tǒng)文件結(jié)構(gòu)也是種非常穩(wěn)健的架構(gòu)。例如在/etc/postgresql下可以找到conf文件是一件清晰到爽的事情。正常通過apt安裝的方式參見這篇博文。

之前有一臺(tái)VM就是沒有忍住一時(shí)之快,用了Graphic Installer,所有的東西被塞到/opt/PostgreSQL/x.x中,當(dāng)然,conf、bin等文件都在其中。在沒有手動(dòng)配置的情況下,start/stop/restart/reload之類的事情,不得不交給pg_ctl做,而與postgres賬戶之間的來回切換,也會(huì)浪費(fèi)寶貴的時(shí)間。例如重啟PG需要

./pg_ctl restart -D ../data

而出現(xiàn)沖突的時(shí)候還會(huì)需要忍不住 -m fast 一下。而如果使用系統(tǒng)服務(wù),至少可以這樣:

sudo /etc/init.d/postgresql restart
修改postgresql.conf

數(shù)據(jù)庫系統(tǒng)參數(shù)是很重要的功能,根據(jù)應(yīng)用特點(diǎn)進(jìn)行性能調(diào)優(yōu)時(shí),往往需要用到。目前用到的幾個(gè)參數(shù)里,shared_buffers一般會(huì)盡量設(shè)置大一些,有人建議設(shè)為RAM的10%,其實(shí)我覺得更大一些也沒什么問題。tcp_keepalives_idle作為秒數(shù)表示空閑時(shí)間間隔,當(dāng)一個(gè)tcp連接持續(xù)該時(shí)間閑置,db會(huì)發(fā)送tcp_keeplive包給客戶端,若連續(xù)tcp_keepalives_count個(gè)包都在tcp_keepalives_interval秒內(nèi)沒有回應(yīng),則會(huì)認(rèn)為這個(gè)tcp已死。

修改postgresql.conf后可以通過 select pg_reload_conf();重新加載配置。但是配置里有些是支持動(dòng)態(tài)的,而有些必須要重啟db,例如shared_buffers就如此,悲催。重加載或重啟后,可通過show <配置項(xiàng)>命令查看當(dāng)前已生效的配置項(xiàng)值,例如:

show tcp_keepalives_idle;
查看當(dāng)前的服務(wù)器狀態(tài)

可調(diào)用PG自帶的一個(gè)視圖:

select * from pg_stat_activity

這個(gè)視圖可以查出目前的連接,以及各自連接的狀態(tài)、時(shí)間點(diǎn)、SQL內(nèi)容等,視圖內(nèi)容:

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;

當(dāng)然,只要不是很老的PG版本,可以用pg_terminate_backend來終止相應(yīng)的會(huì)話,這篇文章例舉了更多的使用場景。例如:

SELECT pg_terminate_backend(procpid)
FROM pg_stat_activity
WHERE datname = "databasename"

終止某個(gè)用戶的會(huì)話:

SELECT pg_terminate_backend(procpid)
FROM pg_stat_activity
WHERE usename = "username"

如果覺得terminate太暴力,還可以使用pg_cancel_backend。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/38941.html

相關(guān)文章

  • Vue 多系統(tǒng)切換實(shí)現(xiàn)方案(iframe嵌套的兩三)

    摘要:總結(jié)來說,低效,所以現(xiàn)在想將幾個(gè)系統(tǒng)融合到一個(gè)里邊,并且每次切換系統(tǒng)的時(shí)候保留用戶的操作。我是用開發(fā)的,所以切換的地方直接用了的切換組件。 前言 公司分好幾個(gè)后臺(tái)模塊,統(tǒng)一使用vue+elementUi框架開發(fā),每一個(gè)后臺(tái)模塊都是單獨(dú)團(tuán)隊(duì)開發(fā)的。并且?guī)讉€(gè)系統(tǒng)整體的風(fēng)格、布局一樣的,包括左側(cè)邊欄,上方的面包屑等用戶在使用的時(shí)候,可能要切換別的系統(tǒng)就要在瀏覽器里,新打開窗口,再輸入網(wǎng)址,回...

    cocopeak 評(píng)論0 收藏0
  • rem兩三

    摘要:昨天被問到關(guān)于的問題,當(dāng)時(shí)一臉懵逼,因?yàn)閷懥藘赡辏緵]怎么碰過,有點(diǎn)迷糊。缺點(diǎn)無縮放,且針對(duì)的屏沒有做適配,導(dǎo)致對(duì)一些手機(jī)的適配不是很到位。缺點(diǎn)需要根據(jù)設(shè)計(jì)稿進(jìn)行基準(zhǔn)值換算,在不使用編輯器插件開發(fā)時(shí),單位計(jì)算復(fù)雜。 os:昨天被問到關(guān)于rem的問題,當(dāng)時(shí)一臉懵逼,因?yàn)閷懥藘赡阩s,基本沒怎么碰過css,有點(diǎn)迷糊。 px、em、rem區(qū)別 不同于px這個(gè)固定單位,em和rem都是相對(duì)單...

    Alliot 評(píng)論0 收藏0
  • outline和他娘親border兩三

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

    DesGemini 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<