2016年08月17日

PostgreSQL9.6.0beta4 GUIインストール (DelphiXE8(FireDAC)からの接続エラーのメモ)

PostgreSQL9.6.0beta4のGUIインストール、Windowsでは、知っていたのですが、Linux(CentOS / Ubuntu)でも、同様のセットアップができることを知り、大変便利なので、試していましたが、Windows / Linuxで、ロケール(C)を指定してインストールすると、Linux(CentOS7 64bit / Ubuntu16.04 LTS )で、DelphiXE8(FireDAC)で作成したプログラムで、データ追加時に、エラーがでたので、メモ。

Windows7は、ロケールを[C] [Japanese]の選択ともにOK
win_jp.png
Linuxでは、[C]は、エラー、日本語の選択がWindowsと異なり
cent_jp2.png
ja_JP
ja_JP.eucjp
ja_JP.ujis
ja_JP.utf8
japanese
japanese.euc

6種類の選択となるようで、ja_JP.eucjp / ja_JP.utf8 / japaneseの3種類は、試してみましたが、OK。


ローカル環境にインストールは、
1. 日本 PostgreSQL ユーザ会のサイトから、ダウンロード
i1.png

2. ダウンロードからOSを選択
i2.png
3. Windowsを選ぶと、enterprisedb.comのダウンロードサイトへ、ここで、LinuxのRUNファイルも選択可能です(今までは、Windowsしか、選択したことがなかったです)
i3.png
4.
i4.png

enterprisedb.comさんからのLinuxは、試したことが、なかったのですが、Windowsと同様のGUIでインストールできると、大変便利なので、試しています。

いままでは、
Linuxのインストールは、ネットなどを探して
CentOS7の場合、yumで
2.rpm -ivh pgdg-centos96-9.6-1.noarch.rpm
3.yum -y install postgresql96-server postgresql96-devel postgresql96-contrib
4./usr/pgsql-9.6/bin/postgresql96-setup initdb
5.systemctl start postgresql-9.6
Ubuntu 16.04 LTSの場合、aptで
1.sudo apt-get update
2.sudo apt-get install postgresql postgresql-contrib
3.sudo passwd postgres
4./etc/rc.d/init.d/postgresql start
といった感じで、インストールしていましたが、RUNファイルから、実行すれば、Windowsと同様のGUIで、インストールが可能でした。


インストール時のlocaleがよく、理解できなかったもので、
参考にしながら、、ロケールをCロケールにして、試してみることに、
この記事のステップ6 の注意点で、はまっているようで、普通にGUIインストールを行うと、
記事中の
{
別途、データベース・クラスタの初期化(initdb) や データベースの作成 (createdb)を実施する必要が生じます。
initdb実行例(エンコーディング:UTF-8、ロケール:no-locale(Cロケール))
initdb -E UTF-8 --no-locale -D /home/postgres/pgdata
 }
は、インストーラーに内包されているようで、処理は不要でした。

CentOS7.2.1511 (64bit) RUNファイルからのインストールで、ロケールをCにした場合
c.png

postgres.confは、下記のようになります
(詳細を見たい方は、CentOS7_RUN_C_conf.zip)
#client_encoding = sql_ascii# actually, defaults to database
# encoding

# These settings are initialized by initdb, but they can be changed.
lc_messages = 'C'# locale for system error message
# strings
lc_monetary = 'C'# locale for monetary formatting
lc_numeric = 'C'# locale for number formatting
lc_time = 'C'# locale for time formatting


Windows7 Clientから、pgAdmin3で接続
000.png
2.
001.png

3.
002.png
4.
004.png

-- Database: testdb

-- DROP DATABASE testdb;

CREATE DATABASE testdb
  WITH OWNER = postgres
       ENCODING = 'SQL_ASCII'
       TABLESPACE = pg_default
       LC_COLLATE = 'C'
       LC_CTYPE = 'C'
       CONNECTION LIMIT = -1;


Windows7 Pro (64bit) EXEファイルからのインストールで、ロケールをCにした場合
c.png
postgres.confは、下記のようになります
(詳細を見たい方は、Windows7_EXE_C_conf.zip)
#client_encoding = sql_ascii# actually, defaults to database
# encoding

# These settings are initialized by initdb, but they can be changed.
lc_messages = 'C'# locale for system error message
# strings
lc_monetary = 'C'# locale for monetary formatting
lc_numeric = 'C'# locale for number formatting
lc_time = 'C'# locale for time formatting

Windows7 Clientから、pgAdmin3で接続
1.
001.png
2.
002.png
3.
004.png

-- Database: testdb

-- DROP DATABASE testdb;

CREATE DATABASE testdb
  WITH OWNER = postgres
       ENCODING = 'UTF8'
       TABLESPACE = pg_default
       LC_COLLATE = 'C'
       LC_CTYPE = 'C'
       CONNECTION LIMIT = -1;



posted by a23 at 18:08| Comment(0) | PostgreSQL