トップ «前の日記(2017/05/16) 最新 次の日記(2017/05/20)» 編集

kaztomo日記


2017/05/18

_ [FreeBSD][ Postgresql]OANDAの直近ヒストリカルデータを溜め込むためにSQL使おうかな

と思い立ち、SQLは何を選ぼうかと色々とググってみたら、 PostgreSQL v9.2以降は JSONが扱えるみたい (^o^)/ 更に、v9.4以降だと JSONB というバイナリ形式も扱えるようだ。(よく判ってないけどw)

そこで、現在 pkg/ports で最新版な PostgreSQL v9.6 をインストールすることにした。 Python と連携するには psycopg2 モジュールもインストールするけど、 FreeBSD-10.3 な現状ではどうやら PostgreSQL v9.3 に依存しているようだ。 仕方なしに、postgresql96 は pkg でインストールし、psycopg2 だけは ports でインストール。

/etc/make.conf:
DEFAULT_VERSIONS+=pgsql=9.6   # ports のデフォルトを v9.6 にする
# pkg install postgresql96-server postgresql96-client
# cd /usr/ports/databases/py-psycopg2
# make install clean
/etc/rc.conf:
postgresql_class="postgres"
postgresql_user="pgsql"
postgresql_data="/PathTo_pgsql/data"
postgresql_enable="YES"

インストールが出来たら initdbを作成し、postgresql サービスを起動。ユーザを追加。 外部アプリからアクセスできることを確認しておく。

# /usr/local/etc/rc.d/postgresql initdb
# /usr/local/etc/rc.d/postgresql start
#
# su pgsql
$ createuser --pwprompt --interactive pgadmin
新しいロールのためのパスワード:
もう一度入力してください:
新しいロールをスーパーユーザにしますか? (y/n)y

追加したユーザにて、新しくデータベースを作ってみる。

% createdb newdb --locale=ja_JP.UTF-8 --encoding=UTF-8 --template template0

参考にさせていただいたサイト: