CentOS7にPostgreSQL9.4のインストール

  • LINEで送る

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

以上、参考にしていただけたらと思います!!

SNSでもご購読できます。

コメントを残す

*

CAPTCHA