概要
Vagrantでローカルに構築したDBサーバー(PostgreSQL)に、ホストPCからDBエディタ経由で参照する方法をメモします。
用語
・Ubuntu:LinuxのOS。・Vagrant:Virtual Boxに仮想環境を構築するためのツール。
・PostgresSQL:オープンソースのRDBMS。
・A5:SQL(データベース用フリーソフト)
事前準備(前提とする環境)
・Ubuntu14.04(Vagrantで構築したゲストマシン)・PostgresSQL9.3.24(Vagrantで構築したゲストマシン)
・A5:SQL(ゲストマシン側)
手順
postgreSQLサーバーの設定
まずはゲストマシンにssh接続し、postgreSQLサーバーの設定ファイルを修正します。修正内容としては、
①サーバー外からのアクセス権限を与える
②peer設定(サーバーのログインユーザーとpsqlのユーザー名が
一致していないとダメという設定)を解除する
の2点になります。
①サーバー外からのアクセス権限を与える
下記のとおり「postgresql.conf」を開きます。
$ sudo apt-get update $ sudo apt-get install nano $ cd /etc/postgresql/9.3/main/postgresql.conf $ sudo nano postgresql.conf
下記部分のコメントアウトを外します。
listen_addresses = '*'
②peer設定を解除する
下記のとおり「pg_hba.conf」を開きます。
$ sudo nano pg_hba.conf
下記部分の定義を修正します。
# Database administrative login by Unix domain socket # ↓コメントアウト #local all postgres peer # ↓追加 local all postgres md5 # "local" is for Unix domain socket connections only # ↓コメントアウト #local all all peer # ↓追加 local all all Trust
因みに、「Trust」はおまじないではなく、下記のように幾つか権限付与の種類があります。
Ident : DB の所有者がシェルを実行している OS のユーザ名と一致するかで認証
MD5 : PW 認証 (MD5-hashed)
Trust : 認証せず、DB への接続許可 (PW スルー)
PostgreSQLサーバー再起動
Vagrantゲストマシンを再起動した後、下記コマンドでPostgreSQLサーバーを再起動します。
$ sudo service postgresql restart
ホストマシンからの接続
以下を「A5:SQL」に入力し、接続すれば繋がります。
【基本】
サーバー名:お好きに
データベース名:接続先のDB名
ユーザーID:postgres
パスワード:(なし)
【SSH2トンネル】
SSHホスト名:127.0.0.1
ユーザーID:vagrant
パスフレーズ:vagrant
0 件のコメント:
コメントを投稿