■PostgreSQLのインストール
Ubuntu18.04ではPostgreSQLのVer.10がインストールされる
$ sudo apt -y install postgresql
■現状のデータディレクトリ確認
・DBにログイン
$ sudo –u
postgres psql
・データディレクトリ確認
postgres=# SHOW data_directory;
【/var/lib/postgresql/10/main】と表示されているはず
・ログアウト
\q
■変更先フォルダ作成
今回は【/mnt/usb/pgdata】を新しいデータディレクトリにする
・フォルダ作成とパーミッション変更
所有者をpostgresにして所有者のみ読み書きできるように
$ sudo mkdir /mnt/usb/pgdata
$ sudo chmod go-rwx /mnt/usb/pgdata
$ sudo chown postgres:postgres /mnt/usb/pgdata
■DB初期化
・ユーザpostgresにログイン
$sudo -s -u postgres
・DB初期化
Ubuntuだとinitdbにパスが通って無いのでとりあえずフルパスで指定
$ /usr/lib/postgresql/10/bin/initdb -D /mnt/usb/pgdata
■設定ファイル書き換え
postgresユーザだと掛けない場合はログアウトして
postgresユーザだと掛けない場合はログアウトして
$
sudo vim /etc/postgresql/10/main/postgresql.conf
・該当箇所を以下の通り書き換え
元
data_directory
= '/var/lib/postgresql/10/main' #
use data in another directory
↓
新
data_directory
= '/mnt/usb/pgdata' # use data in
another directory
■postgesqlの再起動
$ sudo /etc/init.d/postgresql
stop
$ sudo /etc/init.d/postgresql start
■変更後ののデータディレクトリ確認
・DBにログイン
$ sudo –u postgres psql
・データディレクトリ確認
postgres=# SHOW data_directory;
【/mnt/usb/pgdata】と表示されているはず
・問題なければログアウト
\q
これでデータディレクトリを任意の位置に変更できる