pgAdminとPostgres設定の試行錯誤 [ソフトウェア]
ふぅ、前回できてなかった、
http://miff.blog.so-net.ne.jp/2013-02-18-1
pgAdminのRailsで使うPostgresの設定がやっとできました。
ちなみにUbuntu 12.04の設定なので、それ以外の方はご容赦を。あと基本的にRuby on Railsで使うテーブルを操作するだけなので、あんまり高度で一般的な事はしないかも。
一応、使える設定をはじめに言っておきます。あくまでRailsをするために、LANの中でデータベースをいじれる設定です。やっとpgAdminを使えるようになったので、成功例として、Postgresの設定ファイル(postgresql.conf, pg_hba.conf)を示します。
あ、PostgreSQLのデーモンを再起動するのは、
ですので、設定を変えた後は忘れずに。昔のWindowsみたいに、OSを再起動しちゃえってのもアリですが、せっかくLinuxですので当たり前にできる方法を使った方がいいです。昔は色々なしがらみも消しちゃえるので、OSのリブートはそれはそれで良かったのですが、ブートが速くなった今でも、そういうのはUNIXらしくないという気持ちはあります。確かに、メモリのスワップとかも解消して、物理メモリが結構確保できたりはするんですけど、再起動するのはOSのアップデートだけで十分であるべきです。
/etc/postgresql/9.1/main/postgresql.conf
これだとIPアドレスが全部受け入れる事になっちゃうから、あんまり設定としてはよろしくない気がする。
/etc/postgresql/9.1/main/pg_hba.conf
特定のクライアントから見るのであったら、
みたいにしてあげて、LANの中全体からとかアクセスしたい(特にクライアントをDHCPで適当に割り振ってるとかの)場合は、
という設定にする。適当につないだノートパソコンから入っているので、自分は後者の設定にしてます。というか、固定アドレスとか覚えてないと逆に面倒になりそうなのでやりたくない。覚えてるのは、数個の仮想サーバとそのホストぐらいにしておきたいところ。
ダメだったやり方。
とかでは、エラーにならないけど、ここでの設定でLANの中全部という指定は無理っぽい。ただし、次に書くpg_hba.confの書き方で何とかできるのかもしれない。マニュアル読めば出てるのかもしれないけど、英語が面倒なので読んでない。
という、カンマで区切る方法は、できると書いてあったけど、それも上手くいかなかった。デーモン立ち上げる時にはエラーが出ないけど、つなぐ時、相変わらず、「Server doesn't listen」なダイアログが出てしまいました。それで結局'*'で済ませました。なんか釈然としないんだけど、動かない物はしょうがない。
何にしても、MacからもWindowsからも見えるようになったので、後はpgAdminの使い方いかんですね。というか、いまだにRailsの作ったテーブル見えてないんですけど…。
http://miff.blog.so-net.ne.jp/2013-02-18-1
pgAdminのRailsで使うPostgresの設定がやっとできました。
ちなみにUbuntu 12.04の設定なので、それ以外の方はご容赦を。あと基本的にRuby on Railsで使うテーブルを操作するだけなので、あんまり高度で一般的な事はしないかも。
一応、使える設定をはじめに言っておきます。あくまでRailsをするために、LANの中でデータベースをいじれる設定です。やっとpgAdminを使えるようになったので、成功例として、Postgresの設定ファイル(postgresql.conf, pg_hba.conf)を示します。
あ、PostgreSQLのデーモンを再起動するのは、
$ sudo /etc/init.d/postgresql restart
ですので、設定を変えた後は忘れずに。昔のWindowsみたいに、OSを再起動しちゃえってのもアリですが、せっかくLinuxですので当たり前にできる方法を使った方がいいです。昔は色々なしがらみも消しちゃえるので、OSのリブートはそれはそれで良かったのですが、ブートが速くなった今でも、そういうのはUNIXらしくないという気持ちはあります。確かに、メモリのスワップとかも解消して、物理メモリが結構確保できたりはするんですけど、再起動するのはOSのアップデートだけで十分であるべきです。
/etc/postgresql/9.1/main/postgresql.conf
listen_addresses = '*'
これだとIPアドレスが全部受け入れる事になっちゃうから、あんまり設定としてはよろしくない気がする。
/etc/postgresql/9.1/main/pg_hba.conf
特定のクライアントから見るのであったら、
host all all 192.168.0.100/32 trust
みたいにしてあげて、LANの中全体からとかアクセスしたい(特にクライアントをDHCPで適当に割り振ってるとかの)場合は、
host all all 192.168.0.0/24 trust
という設定にする。適当につないだノートパソコンから入っているので、自分は後者の設定にしてます。というか、固定アドレスとか覚えてないと逆に面倒になりそうなのでやりたくない。覚えてるのは、数個の仮想サーバとそのホストぐらいにしておきたいところ。
ダメだったやり方。
listen_addresses = 'localhost, 192.168.0.0/24'
とかでは、エラーにならないけど、ここでの設定でLANの中全部という指定は無理っぽい。ただし、次に書くpg_hba.confの書き方で何とかできるのかもしれない。マニュアル読めば出てるのかもしれないけど、英語が面倒なので読んでない。
listen_addresses = 'localhost, 192.168.0.100'
という、カンマで区切る方法は、できると書いてあったけど、それも上手くいかなかった。デーモン立ち上げる時にはエラーが出ないけど、つなぐ時、相変わらず、「Server doesn't listen」なダイアログが出てしまいました。それで結局'*'で済ませました。なんか釈然としないんだけど、動かない物はしょうがない。
何にしても、MacからもWindowsからも見えるようになったので、後はpgAdminの使い方いかんですね。というか、いまだにRailsの作ったテーブル見えてないんですけど…。
タグ:PostgreSQL
コメント 0