■PostgreSQL初期設定
○PostgreSQLの設定、CentOSの設定が入り混じるので注意してください。
●Linuxユーザのパスワード設定
○rootでユーザpostgresのパスワードを設定する
#
passwd postgres
○パスワードを2回入力し、問題が無ければ完了です。
○ユーザーの変更は以下のコマンド
# su
-l postgres
○-l
オプションをつけるとログインシェルを使用する
※環境変数がそのユーザーに変わるのでpostgresを使うときなどは
-l オプションをつけると良いです。
●viエディッタでファイル変更
$ vi
~postgres/.bash_profile
[ -f /etc/profile ] && source
/etc/profile
PATH=/usr/pgsql-9.3/bin:$PATH ※追加
PostgreSQLのコマンドをパスなしで実行できるように
MANPATH=/usr/pgsql-9.3/share/man:$MANPATH ※追加
Postgresqlのヘルプをmanで表示できるように
PGDATA=/var/lib/pgsql/9.3/data ※最初からある。データベースクラスタのパス
export PATH MANPATH PGDATA ※変更
●設定ファイルの再読込
$ source
~postgres/.bash_profile
●データベースクラスタの作成
$ initdb -E
UTF8 --no-locale
●initdbによって作成されたファイルの確認
$ ls
$PGDATA
●起動・終了確認
$ pg_ctl start
$ pg_ctl stop
●データベースの自動起動 (root)
#
chkconfig postgresql-9.3 on
●データベースユーザーの作成(データベースを起動しておく事)
○postgresユーザーで行う
# su -l
postgres
●データベースユーザーの作成
○データベースを起動させておく事
$ createuser
testuser
●データベースの作成(Oオー)
$ createdb -O testuser testdb
●作成したデータベースの確認
$ psql -l
●データベースへログイン
$ psql
testdb
psql (9.3.1)
"help" でヘルプを表示します.
●データベースからログアウト
testdb=# \q ※めのとなりのスラッシュの逆
testdb-#
●WindowsからpgAdminを使う設定
○viエディッタで postgresql.conf を変更
#
vi /var/lib/pgsql/9.3/data/postgresql.conf
●以下の文を変更
#listen_addresses =
'localhost'
↓
listen_addresses = '*'
●変更を有効にする為リスタート
# su -l postgres
$ pg_ctl
restart
●viエディッタで pg_hba.conf を変更
# vi
/var/lib/pgsql/9.3/data/pg_hba.conf
●以下の文をIPv4へ追加
host
all
all
192.168.0.0/24 md5
●変更を有効にする為シグナルを送る
# su -l postgres
$ pg_ctl
reload
●ファイヤーウォールをあける
○OSの処理なのでrootで行う
# vi
/etc/sysconfig/iptables
○以下の分を追加
-A INPUT -m state --state NEW -m tcp
-p tcp --dport 5432 -j ACCEPT
○リスタート
# /etc/init.d/iptables
restart
○これでWindowsからCentOSにインストールしたPostgreSQLにPGAdminで接続出来る
●データベースユーザにパスワード設定
$ su -l postgres
$
psql
●psqlで変更する
postgres=# \password
postgres ●\となっているがろキーのスラッシュの逆
新しいパスワード:
もう一度入力してください:
postgres=#
\password testuser ●ユーザーsyainにもパスワードを追加する
※これでログオン時にパスワードが必要になる
●ディレクトリの作成と所有者の変更
※CentOSの初期設定でUSBHDDの取り付けが完了している事
テスト環境でUSBHDDをつけないのであれば/mntフォルダにusbdisk1を作成する事
# mkdir /mnt/usbdisk1
※PostgrSQLで使うディレクトリは以下の通り
/mnt/usbdisk1/postgres/dump/
:ダンプバックアップ
/arch/
:WALログ
/base/
:PITRのベースバックアップ
/log/
:ログの出力先
/sh/
:シェルスクリプトの保存先
/xlog/ :アーカイブ前のWALログバックアップ(pg_xlog)
●ディレクトリを作成
# mkdir /mnt/usbdisk1/postgres
# mkdir /mnt/usbdisk1/postgres/dump
# mkdir /mnt/usbdisk1/postgres/arch
# mkdir /mnt/usbdisk1/postgres/base
# mkdir /mnt/usbdisk1/postgres/log
# mkdir /mnt/usbdisk1/postgres/sh
# mkdir
/mnt/usbdisk1/postgres/xlog
●所有者をpostgresにする
# chown postgres /mnt/usbdisk1/postgres
# chown postgres /mnt/usbdisk1/postgres/dump
# chown postgres /mnt/usbdisk1/postgres/arch
# chown postgres /mnt/usbdisk1/postgres/base
# chown postgres /mnt/usbdisk1/postgres/log
# chown postgres /mnt/usbdisk1/postgres/sh
# chown postgres /mnt/usbdisk1/postgres/xlog
----------------------------------------------------------------------------
■PITRバックアップの為の設定
●トランザクションログを退避させる設定を行います。
#
vi /var/lib/pgsql/9.3/data/postgresql.conf
○以下の文を変更
#wal_level =
minimal
↓
wal_level =
hot_standby
※保存する情報の設定
archive_mode =
off
↓
archive_mode =
on
※アーカイブログ保存モードを有効に
#archive_command = ''
↓
archive_command = 'cp %p
/mnt/usbdisk1/postgres/arch/%f'
※アーカイブの保存時に実行するコマンド/mnt/usbdisk1/postgres/arch/
へ保存しています。
以上3箇所を変更します。
●変更を有効にする為データベースを再起動
# su -l
postgres
$ pg_ctl restart
トップへ戻る