不積跬步纫骑,無(wú)以至千里蒙袍;不積小流,無(wú)以成江海。
學(xué)習(xí)在于積累铣减,日常工作中,會(huì)遇到很多問(wèn)題宛蚓。有些自己查資料解決了斜姥,有些問(wèn)同事解決了,在自己查資料解決的問(wèn)題下一次遇到的時(shí)候有印象武花,大部分情況下還能解決圆凰,但是如果再次遇到之前問(wèn)同事解決的問(wèn)題的時(shí)候,一般還是不知道該如何解決体箕。
最近參加了公司內(nèi)部的一個(gè)讀書(shū)會(huì)专钉,會(huì)中東哥的一席話(huà)讓我印象很深刻:自己看書(shū)能記住20%,但是如果你把讀的書(shū)在講出來(lái)告訴別人累铅,那你能記住70%跃须,因?yàn)槟阍谥v個(gè)別人聽(tīng)的時(shí)候,你需要自己對(duì)書(shū)很明白争群,才能給別人講明白回怜,這樣你就能記憶更多。所以我覺(jué)得换薄,遇到問(wèn)題自己解決玉雾,在解決完后在記錄下來(lái),說(shuō)明白根源轻要,這樣自己對(duì)這個(gè)錯(cuò)誤的解決辦法印象就會(huì)深刻复旬。
今天,在連接postgresql數(shù)據(jù)庫(kù)的時(shí)候冲泥,報(bào)了如下錯(cuò)誤:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
首先想到的辦法是重啟數(shù)據(jù)庫(kù)驹碍。可是在重啟之后還是報(bào)了同樣的錯(cuò)誤凡恍。為什么呢志秃?重啟大法竟然不管用了。于是乎想谷歌求助嚼酝。最后在這篇文章中找到了答案浮还。
結(jié)合他提供的解決辦法,回想起昨天電腦死機(jī)了一次闽巩!恍然大悟钧舌。
應(yīng)該是自己電腦死機(jī)導(dǎo)致postgresql數(shù)據(jù)庫(kù)實(shí)例非正常關(guān)閉担汤,導(dǎo)致postgresql沒(méi)有正常處理postmaster.pid
這個(gè)文件,將數(shù)據(jù)庫(kù)停止后將這個(gè)文件刪除洼冻,在重啟就解決問(wèn)題了崭歧。那這個(gè)postmaster.pid
文件是用來(lái)做什么的呢?
postmaster.pid
postmaster.pid:一個(gè)鎖文件撞牢,記錄著當(dāng)前的 postmaster PID 和共享內(nèi)存段 ID 率碾,如果postmaster已經(jīng)退出,PostgreSQL應(yīng)該自動(dòng)刪除它
這個(gè)文件中的內(nèi)容如下:
5099 //主進(jìn)程PID
/usr/local/var/postgres //數(shù)據(jù)目錄
1490456286 //文件創(chuàng)建時(shí)間
5432 //監(jiān)聽(tīng)端口
/tmp //unix socket監(jiān)聽(tīng)文件
localhost //監(jiān)聽(tīng)地址
5432001 65536 //共享內(nèi)存的地址
通過(guò)一些常用的linux命令可以查看對(duì)應(yīng)的內(nèi)容: