LoginSignup
0
0

More than 1 year has passed since last update.

postgres外部接続備忘録

Posted at

postgres外部接続備忘録

サーバーエンジニアが退職して、サーバー関連のことを任されることになった私の備忘録。

今回はpostgresSQLを外部から接続できるように設定した際にハマったのでメモ。

環境
SentOS 6.7
postgres 9系

まずは外部接続できるように設定

私の環境ではまずpostgresというユーザーでログイン

# su - postgres

dataディレクトリに移動

$ cd $PGDATA

$PGDATAにはdataディレクトリのPATHが入っているみたい
この辺の理解はかなり薄いのでインストールする機会があれば勉強してみようと思う。

postgres.conf内の内容を書き換える。

$ vi postgres.conf
postgres.conf
#listen_addresses = 'localhost'
listen_addresses = '*' #ここを追記

IPアドレスを指定することも出来るらしいが今回はこれで。

外部接続できるIPアドレスを登録

同ディレクトリ内のpg_hba.confを編集
一番下より少し上の方に
# IPv4 local connections:
という場所に以下に追記していく

pg_hba.conf
host  DBname  Username  ***.***.***/32    md5

hostというのはTCP/IPの事らしい、fmfm。

設定を読み込むために

$ pg_ctl reload

ポート開放する

sentOS6ではiptablesとやらを設定してポート開放しないといけないらしい
とりあえず中身を見てみる。
rootに戻って

# cd /etc/sysconfig
# vi iptables

うーーーーん、ずらずらと記述がしてある・・・
参考サイトには該当箇所をコピーして、番号を書き直せばOKと書いてあるのでその通りやってみる。

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

22というのはsshのことだな
こいつを利用させてもらう
今回はデフォルトの5432を利用

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

設定を読み込み

# /etc/init.d/iptables restart

よしこれでOK!!!なはず!
手元のphpのプログラムから接続を試みる・・・・・

・・・・・
・・・・・
・・・・・

接続できない・・・・
記述ミスがないか確認

強強エンジニアに聞いても書き間違い無いですか??
ちゃんとリロードしました??
という返答しか返ってこない。

リモートワークはすぐに手元が見せれないのが難点ですよね。

いろいろ調べた結果
postgres.confの設定を変えると変えた中身次第ではpostgres本体の再起動が必要みたい。
ということでpostgresの再起動。

# su - postgres
$ pg_ctl stop
$ pg_ctl start

とここで起動した際にエラー

FATAL:  lock file "postmaster.pid" already exists
・・・
・・・
・・・

動いているプロセスがあるのにシャットダウンしたらこんなエラーがでるらしい??
プロセスを確認

$ ps auxww

たくさん動いてるのでとりあえずkillコマンドで削除しまくる。

そしてpostmaster.pidというファイルがあるとLOCKされていると書いてあるので削除

$ rm postmaster.pid

改めて

$ pg_ctl start

無事接続、お疲れ様でした。
色々省いている部分もありますが、変なこと書いてたら指摘していただけると嬉しいです。
サーバーに関してはまだまだひよっこなので危なっかしいところもありますが
顧客は待ってくれませんので、がんばります!!

参考サイト

https://qiita.com/nao_yoshi/items/a5106e8f08547a54d5ea
https://loups-garous.hatenablog.com/entry/20120917/1347900472
https://gist.github.com/taea/8865831

忘れっぽいので記憶に留める&見返すためにちょくちょく更新していこうと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0