はじめに
このページで得られること
- wsl環境でpostgresqlのインストール方法について
- 接続・認証設定について
動作環境
- Windows10 Home
- Ubuntu 18.04 LTS
インストール
$ sudo apt-get update && sudo apt-get upgrade $ sudo vi /etc/apt/sources.list.d/pgdg.list $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' $ sudo apt-get update && sudo apt-get upgrade
以下、updateとupgrade後のメッセージ(一部抜粋)
データベースシステム内のファイルの所有者は"postgres"となります。 このユーザがサーバプロセスも所有する必要があります。 データベースクラスタはロケール"ja_JP.UTF8"で初期化されます。 そのためデフォルトのデータベース符号化方式はUTF8に設定されました。 initdb: ロケール"ja_JP.UTF8"用の適切なテキスト検索設定が見つかりません デフォルトのテキスト検索設定はsimpleに設定されました。 データベージのチェックサムは無効です。 既存のディレクトリ/var/lib/postgresql/11/mainの権限を修正します ... 完了 サブディレクトリを作成します ... 完了 max_connectionsのデフォルト値を選択します ... 100 shared_buffersのデフォルト値を選択します ... 128MB selecting default timezone ... Asia/Tokyo 動的共有メモリの実装を選択します ... posix 設定ファイルを作成します ... 完了 ブートストラップスクリプトを実行します ... 完了 ブートストラップ後の初期化を行っています ... 完了 データをディスクに同期します...完了 成功しました。以下のようにしてデータベースサーバを起動できます。 pg_ctlcluster 11 main start Ver Cluster Port Status Owner Data directory Log file 11 main 5433 down postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log update-alternatives: /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) を提供するために自動モードで /usr/share/postgresql/11/man/man1/postmaster.1.gz を使います invoke-rc.d: could not determine current runlevel libc-bin (2.27-3ubuntu1) のトリガを処理しています ... systemd (237-3ubuntu10.31) のトリガを処理しています ... man-db (2.8.3-2ubuntu0.1) のトリガを処理しています ... ureadahead (0.100.0-21) のトリガを処理しています ...
pg_ctlcluster 11 main start でサーバ起動できると書いてはいるが、これでは起動ができない。
serviceコマンドを使用してpostgresを起動する。
$ sudo service postgresql start # postgres起動 $ sudo su - postgres # 管理者権限でpostgresサーバーへ
バージョン確認
$ psql psql (11.5 (Ubuntu 11.5-3.pgdg18.04+1)、サーバ 10.10 (Ubuntu 10.10-1.pgdg18.04+1)) "help" でヘルプを表示します。
詳しくは、公式サイト参照
接続・認証設定
$ sudo vi /etc/postgresql/11/main/postgresql.conf ~前略~ #listen_addresses = 'localhost' # what IP address(es) to listen on; listen_addresses = '*' # 追加 # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) #port = 5433 # (change requires restart) # コメントアウト port = 5432 # 5432に変更(デフォルト設定だが明示的に設定)
認証設定
$ sudo vi /etc/postgresql/11/main/pg_hba.conf ~前略~ host all all 127.0.0.1/32 md5 host all all 192.168.1.1/24 md5 # 追加
postgres再起動 ※再起動中windowsファイアウォールの警告が出るが「yes」をクリック
$ sudo service postgresql restart * Restarting PostgreSQL 11 database server
あとは、ユーザ作成するなりお好きにどうぞ。