2018年11月14日

PostgreSQL11 JIT CentOS7 Install

locale (仮) rootでログインしています

PostgreSQL11 JIT CentOS7 Deploy

1. OSのバージョンとローケールの確認
cat /etc/redhat-release 
localectl status
ロケールの設定ファイル
cat /etc/locale.conf 
locale
01.png
2.
yum -y update
02.png
3. PostgreSQL公式サイトのレポジトリ(https://www.postgresql.org/download/linux/redhat/)の
PostgreSQL Yum Repository
から
バージョンやOSを選択して、Install the repository RPM: を取得 (バージョンによって変化します)

03.png
4.

yum -y install postgresql11-server postgresql11-contrib postgresql11-devel postgresql11-libs
04.png



5.  PostgreSQL11の新機能であるJITは、上記の手順では入っていません。
LLVM5の導入が必要となります。

yum install -y epel-release

05.png
6.
yum install -y llvm5.0 llvm5.0-libs
06.png
7.
yum install -y postgresql11-llvmjit
07.png

8. データベースクラスタを作成します。
エンコーディングを"UTF-8"、デフォルトロケールを"C"に設定します。

データベースクラスタデータは、"/var/lib/pgsql/11/data/"に存在し、同時
にコンフィグファイルも存在します。
コンフィグ設定については別で説明を行います。
cd /usr/pgsql-11/bin/
PGSETUP_INITDB_OPTIONS="-E UTF-8 --locale=C" ←間違い
./postgresql-11-setup initdb
08.png
export PGSETUP_INITDB_OPTIONS="-E UTF-8 --locale=C" ←正解
./postgresql-11-setup initdb
001.png



9.
cd /var/lib/pgsql/11/data/
ls *.conf
pg_hba.conf pg_ident.conf postgresql.auto.conf postgresql.conf
09.png

10. サーバー起動時に、PostgreSQLが自動起動するように設定し、起動を行います。
systemctl enable postgresql-11
systemctl start postgresql-11
su postgres -c "psql -c 'select version();'"
10.png

11. PostgreSQLのロケール設定などの確認

su postgres
psql
SELECT name, setting, context FROM pg_settings WHERE name LIKE 'lc%';
\l
\q
exit
11.png

PGSETUP_INITDB_OPTIONS="-E UTF-8 --locale=C"
照合順序 が Cではなく、ja_JP.UTF-8?
                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |     アクセス権限      
-----------+----------+------------------+-------------+-------------------+-----------------------
 postgres  | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | 
 template0 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
           |          |                  |             |                   | postgres=CTc/postgres


export PGSETUP_INITDB_OPTIONS="-E UTF-8 --locale=C"
                                          データベース一覧
      名前      |  所有者  | エンコーディング | 照合順序 | Ctype(変換演算子) |     アクセス権限      
----------------+----------+------------------+----------+-------------------+-----------------------
 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
 test1          | postgres | UTF8             | C        | C                 | 


002.png


12.PostgreSQLのロケールについて(1/2)
CREATE TABLE test_table (
test_col text COLLATE "ja-x-icu"
);

12-1.png



13. ファイアーウォール(Firewall)の設定と再起動
firewall-cmd --add-service=postgresql --zone=public --permanent
systemctl restart firewalld
14.png

14. pgAdmin4による、外部からアクセスを許可する

gedit /var/lib/pgsql/11/data/pg_hba.conf
で。ローカル/24 から MD5 で接続を追記して保存。

21.png
15. PostgreSQLを再起動して、パスワードの設定をする。

alter role postgres with password 'Passwd123';
22.png

15. Windows732bitに、pgAdmin4をダウンロードして、接続
010.png

パスワード 'Passwd123' で接続されました。
011.png




posted by a23 at 12:16| Comment(0) | PostgreSQL