- EDB
- PostgreSQL
今さら聞けない!?WALアーカイブのベストプラクティス
PostgreSQL開発に多く貢献しているEnterpriseDB社による WALアーカイブ設定に関するベストプラクティスをご紹介します。
|
|
[root@yamax as9.6]# edb-psql edb enterprisedb -c "create extension plpython3u;" ERROR: ライブラリ"/opt/edb/as9.6/lib/plpython3.so"をロードできませんでした: libpython3.3m.so.1.0: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
[root@yamax ~]# mkdir /opt/python [root@yamax ~]# chmod 777 /opt/python [root@yamax ~]# cd Python3.3.6ソース展開先 [root@yamax Python-3.3.6]# ./configure --enable-shared --prefix=/opt/python/ [root@yamax Python-3.3.6]# make && make install
714 export LD_LIBRARY_PATH=$INSTALLDIR/lib:$LD_LIBRARY_PATH_PL_LANGUAGES:$LD_LIBRARY_PATH 715 export DATADIR="/opt/edb/as9.6/data" 716 export SERVICE_CONF_FILE=""
714 export LD_LIBRARY_PATH=$INSTALLDIR/lib:$LD_LIBRARY_PATH_PL_LANGUAGES:$LD_LIBRARY_PATH:/opt/python/lib # この行を編集 715 export DATADIR="/opt/edb/as9.6/data" 716 export SERVICE_CONF_FILE=""
[root@yamax ~]# service edb-as-9.6 restart
[root@yamax as9.6]# edb-psql edb enterprisedb -c "create extension plpython3u;"
edb=# CREATE FUNCTION pymax (a integer, b integer)
edb-# RETURNS integer
edb-# AS $$
edb$# if a > b:
edb$# return a
edb$# return b
edb$# $$ LANGUAGE plpython3u;
CREATE FUNCTION
edb=# select pymax(1,10);
pymax
-------
10
(1 行)
edb=# create or replace function check_emp_count(v_deptno int)
edb-# RETURNS int
edb-# AS $$
edb$# # 行数カウント変数
edb$# row_count = 0
edb$# # deptnoをバインド変数としてSQLをprepare
edb$# # バインド変数の型はintであることを明示
edb$# plan = plpy.prepare("select 'x' from emp where deptno=$1", ["int"])
edb$# # バンド変数に関数の引数として受けたv_deptnoを設定し実行
edb$# # 1行ずつfor文で処理される
edb$# for row in plpy.cursor(plan, [v_deptno]):
edb$# row_count += 1
edb$# return row_count
edb$# $$ LANGUAGE plpython3u;
CREATE FUNCTION
edb=# select check_emp_count(10);
check_emp_count
-----------------
3
(1 行)
edb=# select count(*) from emp where deptno=10;
count
-------
3
(1 行)
■本記事の内容について
本記事に記載されている製品およびサービス、定義及び条件は、特段の記載のない限り本記事執筆時点のものであり、予告なく変更になる可能性があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
PostgreSQL開発に多く貢献しているEnterpriseDB社による WALアーカイブ設定に関するベストプラクティスをご紹介します。
EDB社が提供するPostgreSQLの拡張機能「system_stats」はPostgreSQL ユーザーがパフォーマンス問題に取り組む際の非常に強力なツールになります。SQLクエリでOS情報を取得できるため、DBエンジニアにとってはパフォーマンスの監視が格段に簡単になります。テストした結果をご紹介します。
PostgreSQLのオプティマイザがインデックスを適切に使用できない理由は様々ですが、本記事ではJDBC⇔PostgreSQL間でデータ型の不一致がインデックスの使用にどういった悪影響を及ぼすかを見ていきます