データベース PostgreSQL について
インストール
Debianの場合
PostgreSQL 10 とDebian Stretch
参考にしたサイト https://tecadmin.net/install-postgresql-on-debian/
事前準備: PostgreSQLはデフォルトでTCP/IPポートの5432を使用します。接続できるようにTCPポートの確認をします。
参考にしたサイト: https://blogs.yahoo.co.jp/wyamamo/27832288.html
< 参考 > Debian 9 (Stretch) - ファイアウォール設定
https://www.mk-mode.com/octopress/2017/08/16/debian-9-firewall-setting/
TCP/IPポートの外部から確認方法
nc -v -z -w 3 <サーバのアドレス> <ポート番号>
1)PostgreSQLの公式レポジトリからダウンロードするためのキーを取得します
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
詳細は、PostgreSQLの公式サイトでDebian(Ubuntu)のインストール手順を確認します。
https://www.postgresql.org/download/linux/ubuntu/
2)レポジトリをDebianのaptソースに登録
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
3)PostgreSQLサーバーのインストール
PostgreSQL公式サイトのレポジトリからダウンロード、インストール
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
4)PostgreSQLデータベースに接続
インストール時に、postgresというユーザーとその権限’postgres’、および、Debianのユーザーアカウント 'postgres'というユーザーも作成します。
もし、ユーザー作成などが出来なかった場合は、以下の手順で作成します。
a) adduser postgres
postgresユーザーでデータベースに接続して確認し、Drupalなどのインストールで必要なPostgreSQLデータベースのユーザー(例えばpgadmin)を作成
参考にしたサイト: http://symfoware.blog68.fc2.com/blog-entry-1999.html
sudo su - postgres
psql
$ createuser --pwprompt --interactive pgadmin
ログインできるかテストします。
$ psql -U pgadmin -d postgres -h localhost
テストとしてデータベースを作成してみます
postgres=# create database sample;
データベースの一覧表示
postgres=# \l
5)外部接続ができるか、設定の確認
postgresql.conf の編集
vim /etc/postgresql/9.6/main/postgresql.conf
listen_addresses = '*' の追加
pg_hba.confの編集
接続を許可するIPの範囲を指定(全てから接続許可する場合)
vim /etc/postgresql/9.6/main/pg_hba.conf
host all all 0.0.0.0/0 md5
6)PostgreSQLの再起動
service postgresql restart