- EDB
- PostgreSQL
今さら聞けない!?WALアーカイブのベストプラクティス
PostgreSQL開発に多く貢献しているEnterpriseDB社による WALアーカイブ設定に関するベストプラクティスをご紹介します。
今回は.NET Frameworkで動作するVB.NETを使いますのでEDBDataProviderを使用します。なおEDBDataProviderは、9.6からEnterpriseDB.Clientという名前に変更されておりますが、9.5までを利用されている方も想定し以降はEDBDataProviderと表記します。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Imports EnterpriseDB.EDBClient
Dim conn As EDBConnection
conn = New EDBConnection(
"Server=DBServerHost;" +
"Port=5444;" +
"User ID=enterprisedb;" +
"Password=enterprisedb;" +
"Database=edb"
)
conn.Open();
conn.Close();
'' SQLとEDBConnectionオブジェクトを渡す
Dim command As EDBCommand = New EDBCommand("select empno, ename from emp", conn)
Dim reader As EDBDataReader
' SELECT結果をEDBDataReaderで受け取り
reader = command.ExecuteReader()
' 結果を1行ずつ取得し画面上へ表示
While reader.Read()
Console.WriteLine(reader.GetString(0) + " " + reader.GetString(1))
End While
reader.Close()
以下は結果例です。
7369 SMITH 7499 ALLEN 7521 WARD 7566 JONES 7654 MARTIN 7698 BLAKE 7782 CLARK 7788 SCOTT 7839 KING 7844 TURNER 7876 ADAMS 7900 JAMES 7902 FORD 7934 MILLER
Dim command As EDBCommand = New EDBCommand("delete from emp where deptno=10", conn)
command.ExecuteNonQuery()
' トランザクションを開始
Dim tran As EDBTransaction = conn.BeginTransaction()
Dim command1 As EDBCommand = New EDBCommand("delete from emp where deptno=10", conn)
command1.ExecuteNonQuery()
:
Dim command3 As EDBCommand = New EDBCommand("delete from emp where deptno=30", conn)
command3.ExecuteNonQuery()
' トランザクションをCommit
tran.Commit()
|
|---|
2011年にアシストに入社してからサポートセンターでOracle DatabaseやPostgreSQL、EDB Postgres Advanced Server(EPAS)といったデータベース製品を中心に担当しています。個人的にJavaやNode.js、Python等を触っていますので、PostgreSQLと絡めてアプリケーション周りの情報をお送りしていきます。
■本記事の内容について
本記事に記載されている製品およびサービス、定義及び条件は、特段の記載のない限り本記事執筆時点のものであり、予告なく変更になる可能性があります。あらかじめご了承ください。
■商標に関して
・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間でデータ型の不一致がインデックスの使用にどういった悪影響を及ぼすかを見ていきます