Free
ずっと無料
本番環境に接続して、すべてを確認できます。
- すべての監視画面:ヘルス、アクティビティ、ロック、Vacuumと肥大化、レプリケーション、ストレージ、スロークエリ
- TLS、SSHトンネル、フィンガープリントのピン留め、Face IDに対応した接続を無制限に
- サーバー側フィルター、外部キー、CSVとJSONのエクスポートに対応したデータブラウザー
- SQLコンソールでの読み取り(読み取り専用トランザクション内で実行)
- SQL分類器とその説明
iPhone向けのHeapDeck: Postgres® Monitor
Postgresのアラートで呼び出されたのに、ノートPCは家にある?HeapDeckなら、どのセッションがブロックしているか、wraparoundまであとどれくらいか、どのスタンバイが遅れているかがわかり、そのままiPhoneから対処できます。今は暫定対応で被害を止め、恒久対応はデスクに戻ってから。
「ロック」画面はpg_blocking_pids()からブロックのツリーを組み立て、ルートブロッカーを一番上に置きます。そのpid、user@app、ロックを保持している時間、実行中の内容がわかります。その下には、待ち行列で止まっているすべてのセッションが並びます。
RowExclusiveLock on public.ordersのように何を待っているかが表示されます。idle in transactionのまま居座るルートには印が付き、デッドロックはデッドロックとして示されます。
「Vacuumと肥大化」画面は、サーバーがトランザクションIDのwraparoundにどこまで近づいているかを2³¹に対する割合で示し、relfrozenxidの年齢が最も古いテーブルを並べます。上限に達すると、PostgreSQLはdatabase is not accepting commands to avoid wraparound data lossを返して書き込みを拒否します。
DROP INDEX CONCURRENTLYをコピーできるようにするだけで、自分で実行することはありません。 VACUUM (ANALYZE)またはANALYZEを実行できます。VACUUM FULLでは、先にテーブル名の入力を求めます。 PRO
HeapDeckはiPhoneからサーバーへ、直接またはSSH踏み台サーバー経由で接続します。間にHeapDeckのサーバーはなく、アカウントもありません。AIアシスタントを設定した場合も、通信するのは自分で選んだプロバイダーだけで、使うのは自分のキーです。
sslmode=require。証明書のSHA-256フィンガープリントをピン留めし、証明書が変わった場合は判断するまで接続を止めます。 GRANT pg_monitorを正確に示します。
最初に「ヘルス」の10枚のタイルがあり、その奥にはそれぞれネイティブの画面があるので、スマートフォンのキーボードでpsqlを打つ必要はありません。必要なときにはSQLコンソールもあり、すべてのステートメントを実行前にチェックします。
1つの総合判定と10枚のタイル:max_connectionsに対するセッション数、ブロックされているセッション、最長のクエリ、TPS、キャッシュヒット、autovacuum、wraparound、レプリケーション、データベースサイズ、スロークエリ。開いている間は10秒ごとに更新されます。
pg_stat_activityのすべてのセッションを、待機中のものから順に表示します。アクティブ、idle in transaction、10秒超、待機中で絞り込めます。行をスワイプすると、キャンセルまたは終了できます。
スタンバイごとの再生遅延を、WALのフェーズ別に表示します。すべてのスロットについて保持しているWALを示し、非アクティブなスロットがディスクを埋めつつあれば警告します。
pg_stat_statementsから最も重い300件のステートメントを、合計時間、平均、呼び出し回数、行数で並べ替えて表示し、そのステートメントをいま実行しているセッションも示します(PostgreSQL 14以降)。
テーブルの閲覧、サーバー側での絞り込み、外部キーの追跡、ページのCSVやJSONでのエクスポートができます。コンソールは入力中のステートメントを分類し、Freeでは読み取りをBEGIN READ ONLYの中で実行します。
インシデントやロックの連鎖を説明し、修正案を作成します。使うのは自分のAPIキーか自分のOllamaです。受け取るのはマスキング済みのスナップショットで、自分から何かを実行することはありません。
サンプルデータを入れたHeapDeck 1.0。iOSと同じく、ダークとライトの両方で表示します。
pg_stat_statementsのスロークエリ
pg_monitorがない?何が隠れていて、どう直すかを表示
まずは自分の本番環境で試してください。有料の監視画面はひとつもなく、サーバーが何台あっても同じです。Proは$29.99の一度の購入で操作機能をアンロックします。サブスクリプションもアカウントもありません。
ずっと無料
本番環境に接続して、すべてを確認できます。
$29.99
買い切り
対処が必要になったときのために。
VACUUM、ANALYZE、レプリケーションスロットの削除 Proの操作はFreeでもPROの印付きで表示されるので、何をするのかを確認できます。アシスタントは、内蔵のデモインシデントでは無料で使えます。米国以外では、App Storeが現地の通貨で価格を表示します。
HeapDeckは、iPhoneから到達できるPostgreSQL 13–18であれば、セルフホストでもマネージドでも、プライマリでもスタンバイでも使えます。ロールがスーパーユーザーでない場合は、何が隠れているかと、それを解決するGRANT pg_monitorを画面に表示します。
マネージドプロバイダーは、iOSに含まれていないルート証明書で証明書に署名しています。その場合はsslmode=requireを使ってください。接続は暗号化され、HeapDeckは初回接続時に証明書のフィンガープリントをピン留めします。
はい。接続設定でSSHトンネルをオンにし、踏み台サーバーのホスト、ユーザー、パスワードまたはキーを入力します。キーは、OpenSSH形式の暗号化されていないEd25519キーである必要があります。踏み台サーバー自体のホストキーはEd25519とECDSAのどちらでもよく、初回接続時にピン留めされます。
バージョン1.0は、RSAキー、パスフレーズ付きのキー、ワンタイムコード、多段の踏み台サーバーには対応していません。
HeapDeckはサーバーへ直接、またはSSH踏み台サーバー経由で接続します。HeapDeckのサーバーもアカウントもありません。パスワード、SSHキー、ピン留めしたフィンガープリントは、このデバイスのiOS Keychainにとどまり、iCloudとは同期されません。
iPhoneの外に出る可能性があるものは2つあり、どちらも自分で管理できます。設定したAIプロバイダーへの質問(Pro)と、初回起動時または設定でオフにできるクラッシュレポートと利用回数の集計です。どちらにも、SQL、テーブル名、ホスト名、値、認証情報は含まれません。詳しくはプライバシーポリシーをご覧ください。
いいえ。監視画面にはpg_monitorを持つロールで足ります:GRANT pg_monitor TO your_role;。それがなくてもHeapDeckは動作し、サーバーがロールから隠している項目を明示します。他のロールのセッションをキャンセルするには、pg_signal_backendなど、通常のPostgreSQLの権限が必要です。
キャンセル(pg_cancel_backend)は、セッションが実行中のクエリを止めます。セッションとトランザクションは開いたままです。終了(pg_terminate_backend)はセッション全体を強制終了し、トランザクションをロールバックします。
idle in transactionのセッションには実行中のクエリがないため、キャンセルしても何も起きません。ロックを解放するのは終了です。HeapDeckは、ロックの連鎖のルートや「本番」接続のセッションを終了する前に、pidの入力を求めます。
Freeは一切書き込みません。コンソールでの読み取りはBEGIN READ ONLY … ROLLBACKの中で実行されます。Proでは、すべての書き込みが4つのチェックを順に通ります:Pro、接続の「読み取り専用」スイッチ、SQL分類器、そして確認画面での承認です。
VACUUM FULL、スロットの削除、ロックのルートの終了では、先にテーブル名、スロット名、pidの入力を求めます。「本番」に設定した接続にはPRODバッジが付き、確認がより厳しくなります。
もちろん、それもできます。HeapDeckはインシデント中の問いごとに専用の画面を用意しているので、スマートフォンのキーボードでクエリを打たずに済みます:誰がブロックしていて何件待っているか、ルートが何を実行しているか、wraparoundまであとどれくらいか、どのスロットがWALを保持しているか。操作の前にはロックの連鎖を読み直し、確認を求めます。
質問した画面の、マスキング済みのスナップショットです。ホスト、ポート、パスワード、キーが含まれることはなく、値は$1のようなプレースホルダーになります。クラウドのモデルでは、データベース名、テーブル名、列名が既定で隠され、回答が届くとiPhone上で元に戻されます。
リクエストはiPhoneから、自分のキーで選んだプロバイダー(Anthropic、OpenAI、OpenRouter、Z.ai)へ、または自分のOllamaやOpenAI互換サーバーへ送られます。「モデルに見えている内容」で、送信前に正確なテキストを確認できます。アシスタントはProの機能で、自分からSQLを実行することはありません。
いいえ。監視は無料で、ProはApple IDに紐づく$29.99の買い切りです。アカウントも試用期限もありません。
いいえ。HeapDeckは開いている間に動作し、バックグラウンドでの監視は行いません。アラートの仕組みは今のまま使ってください。HeapDeckは、呼び出しを受けた後に開く画面です。
HeapDeckはiPhoneの縦向き表示用に作られています。iPadではiPhone互換モードで動作します。
夜中に呼び出される問題を1ページずつ。手動で確認するためのSQLと、HeapDeckでの見え方を紹介します。ガイドは英語です。
サーバーを追加して証明書をピン留めすれば、すべての監視画面を無料で使えます。Proは、対処が必要になる夜のためにあります。