PostgreSQLデータベースリソースは、フェイルオーバーおよびフェイルバックの操作中にPostgreSQLサービスを管理することで、PostgreSQLデータベースインスタンスを保護します。
リソースタイプ: database/pgsqlapp
エイリアス: pgsqlapp, pgsql
前提条件
- サーバーにPostgreSQLがインストールされている必要があります。
- PostgreSQLサービス(Windows)またはサービス名が存在し、アクセス可能である必要があります。
- ヘルスチェック用のPostgreSQLデータベースユーザーアカウントが利用可能である必要があります。
サブコマンド
PostgreSQL Databaseリソースは、次の形式のコマンドで管理されます。
lkcli resource database/pgsqlapp <サブコマンド> [フラグ]
| サブコマンド | 説明 | 必要なロール |
|---|---|---|
create
|
新しいPostgreSQLリソースを作成します | admin |
extend
|
スタンバイサーバーに拡張します | admin |
get-property
|
リソースプロパティを読み取ります | guest |
set-property
|
編集可能なリソースプロパティを更新します | admin |
create
lkcli resource database/pgsqlapp create \
--db-user=<文字列> --service-name=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|---|---|
--db-user
|
— | 文字列 | 必須 | — | — | ヘルスチェック接続用PostgreSQLユーザー |
--service-name
|
— | 文字列 | 必須 | — | — | PostgreSQLのOSサービス名 |
--data-dir
|
— | 文字列 | 任意 | — | — | PostgreSQLデータディレクトリへのフルパス |
--exe-dir
|
— | 文字列 | 任意 | — | — | PostgreSQL実行ファイルディレクトリへのフルパス |
--port
|
— | 整数 | 任意 | — | — | PostgreSQLのリスニングポート |
--service-username
|
— | 文字列 | 任意 | — | — | Windowsサービスアカウントのユーザー名 |
--service-password
|
— | 文字列 | 任意 | — | — | Windowsサービスアカウントのパスワード |
--tag
|
— | 文字列 | 任意 | 自動生成 | — | リソースタグ名 |
--switchback
|
— | 列挙型 | 任意 | INTELLIGENT
|
INTELLIGENT, AUTOMATIC
|
スイッチバックタイプ |
--deepcheck-interval
|
— | 整数 | 任意 | 300
|
最小: 0、最大: 604800 | ディープチェックの間隔(秒、Windowsのみ) |
--quickcheck-interval
|
— | 整数 | 任意 | 180
|
最小: 0、最大: 604800 | クイックチェックの間隔(秒) |
extend
lkcli resource database/pgsqlapp extend --primary-sys=<文字列> --primary-tag=<文字列> [フラグ]
| フラグ | 短縮表記 | タイプ | 必須 | デフォルト | 制約 | 説明 |
|---|---|---|---|---|---|---|
--primary-sys
|
— | 文字列 | 必須 | — | — | 既存のリソースの拡張元サーバーのホスト名 |
--primary-tag
|
— | 文字列 | 必須 | — | — | 拡張する既存リソースのタグ |
--standby-sys
|
— | 文字列 | 任意 | --hostの値(デフォルトはlocalhost)
|
— | スタンバイサーバーのホスト名 |
--exe-dir
|
— | 文字列 | 任意 | — | — | スタンバイ上のPostgreSQL実行ファイルディレクトリを上書きします |
--service-username
|
— | 文字列 | 任意 | — | — | スタンバイ上のWindowsサービスアカウントのユーザー名 |
--service-password
|
— | 文字列 | 任意 | — | — | スタンバイ上のWindowsサービスアカウントのパスワード |
--switchback
|
— | 列挙型 | 任意 | INTELLIGENT
|
INTELLIGENT, AUTOMATIC
|
スイッチバックタイプ |
--primary-priority
|
— | 整数 | 任意 | デフォルトは、--primary-sysサーバーの現在の優先順位。リソースが拡張されていない場合は1
|
最小: 1、最大: 999 | プライマリーサーバーのフェイルオーバーの優先順位 |
--standby-priority
|
— | 整数 | 任意 | デフォルトは現在使用中の優先順位に基づいて動的に算出される、未使用の値 | 最小: 1、最大: 999 | スタンバイサーバーのフェイルオーバーの優先順位 |
get-property / set-property
lkcli resource database/pgsqlapp get-property --tag=<文字列> --property=<文字列>
lkcli resource database/pgsqlapp set-property --tag=<文字列> --property=<文字列> --value=<文字列>
| フラグ | 短縮表記 | タイプ | 必須 | 説明 |
|---|---|---|---|---|
--tag
|
-t
|
文字列 | 必須 | リソースタグ名 |
--property
|
-p
|
文字列 | 必須 | プロパティ名(「プロパティ」の表を参照) |
--value
|
-v
|
文字列 | 必須 (set-propertyのみ)
|
新しいプロパティ値 |
プロパティ
| プロパティ | タイプ | 制約 | 編集可否 | 説明 |
|---|---|---|---|---|
service-name
|
文字列 | — | 不可 | PostgreSQLのOSサービス名 |
db-user
|
文字列 | — | 不可 | ヘルスチェック接続用PostgreSQLユーザー |
data-dir
|
文字列 | — | 不可 | PostgreSQLデータディレクトリへのフルパス |
exe-dir
|
文字列 | — | 不可 | PostgreSQL実行ファイルディレクトリへのフルパス |
port
|
整数 | — | 不可 | PostgreSQLのリスニングポート |
created-service
|
整数 | — | 不可 | LifeKeeperがPostgreSQLサービスを作成したかどうか(0=false, 1=true) |
kit-name
|
文字列 | — | 不可 | Recovery Kit名 |
deepcheck-interval
|
整数 | 最小: 0、最大: 604800 | 可 | ディープチェックの間隔(秒) (default: 300) |
quickcheck-interval
|
整数 | 最小: 0、最大: 604800 | 可 | クイックチェックの間隔(秒)(デフォルト:180) |
local-recovery
|
列挙型 | enabled, disabled
|
可 | ローカルリカバリーを有効にします |
switchback
|
列挙型 | INTELLIGENT, AUTOMATIC
|
可 | スイッチバックタイプ |
使用例
# Create a PostgreSQL resource
lkcli resource database/pgsqlapp create \
--host=server1 \
--db-user=postgres \
--service-name=postgresql-16 \
--port=5432 \
--data-dir="D:\pgdata" \
--tag=pgsql.0
# Extend to server2
lkcli resource pgsql extend \
--primary-sys=server1 \
--primary-tag=pgsql.0 \
--standby-sys=server2



このトピックへフィードバック