PostgreSQLをインストールしたので、そのインストール手順と初期設定を書いておきます!
PostgreSQLをダウンロード&インストール
1.PostgreSQLをダウンロード
[xxx@localhost ~]$ wget http://yum.postgresql.org/9.4/redhat/rhel-7-x86_64/pgdg-centos94-9.4-1.noarch.rpm
2. PostgreSQLをインストール
[xxx@localhost ~]$ sudo rpm -ivh pgdg-centos94-9.4-1.noarch.rpm
[xxx@localhost ~]$ sudo yum -y install postgresql94-server postgresql94-devel postgresql94-contrib
PostgreSQLの設定
3.データベースを初期化
[xxx@localhost ~]$ sudo /usr/pgsql-9.4/bin/postgresql94-setup initdb
Initializing database ... OK
4.データベースを起動
[xxx@localhost ~]$ sudo systemctl start postgresql-9.4
5.自動起動設定
システム起動時にPostgreSQLが自動で起動するようにします。
[xxx@localhost ~]$ sudo systemctl enable postgresql-9.4
6.postgresユーザのパスワード設定
PostgreSQLをインストールすると、自動でpostgresユーザが作成されます。
作成直後はパスワードが設定されていないため、設定します。
[xxx@localhost ~]$ sudo passwd postgres
7.環境変数設定
PostgreSQLのコマンドへのパスを設定します。
[xxx@localhost ~]$ sudo su
[root@localhost xxx] cd /var/lib/pgsql/
[root@localhost xxx] vi .bash_profile
※ファイルの末尾に追加※
export PATH=$PATH:/usr/pgsql-9.4/bin
以上です。
と言いたいところでしたが、
データベースのEncodingが「SQL_ASCII」になっていました。
Encodingを「UTF8」にしたいと思い、この後行った手順が下記となります。
8.データベースを初期化(データベースクラスタ作成)
[root@localhost xxx] systemctl stop postgresql-9.4
[root@localhost xxx] su - postgres
-bash-4.2$ cd /var/lib/pgsql/9.4
-bash-4.2$ rm -rf data
-bash-4.2$ initdb --encoding=UTF8 --no-locale --pgdata=/var/lib/pgsql/9.4/data --auth=ident
データベースを初期化し直しました。手順3で指定すれば多分うまくいったのかもしれません。
あとロケールは設定しませんでした。
PostgreSQLでロケールを選択した場合、検索性能に問題が出るらしく、 ロケールを選択しないことが推奨とされています。
9.データベース起動&自動起動設定
[root@localhost xxx] systemctl start postgresql-9.4
[root@localhost xxx] systemctl enable postgresql-9.4
10.確認
[root@localhost xxx] su - postgres
-bash-4.2$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
以上、参考にしていただけたらと思います!!