render-postgres について
Render Managed PostgreSQLの設定と運用を扱うドキュメントスキルです。Renderの利用者向けに、接続、ストレージ、レプリカ、制限、復旧、安全な削除を説明し、詳細な参照資料も案内します。
主な機能
- 01内部・外部接続のガイダンス
- 02データベース設定と変更不可項目の解説
- 03ストレージ動作と接続上限の説明
- 04プーリング、高可用性、レプリカの解説
- 05バックアップ、復旧、削除のガイダンス
活用シーン
- 01アプリからRender Postgresへの接続設定
- 02TLS、遅延、接続上限のトラブル対応
- 03データベース変更と読み取りレプリカの計画
- 04データベース削除前のエクスポート準備
MCP 対応
PostgreSQLインスタンスの一覧・詳細取得、読み取り専用SQL、接続メトリクス取得に使うRender MCPツールを説明し、呼び出しパターンを示します。MCPサーバー自体を提供するものではありません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ render-oss/ skills --skill render-postgresインストール後、Claude Code で/render-postgresを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/backup-and-recovery.mdcompute-plans.mdconnection-guide.mdperformance-tuning.mdprivate-networking.md詳細
Render のマネージド PostgreSQL
このスキルでは、Render のマネージド Postgresについて、接続方法、作成後に変更できない項目、ストレージの動作、制限、HA、レプリカ、安全な削除方法を説明します。詳しい解説は references/ にあります。
使用する場面
次のような場合に、このスキルを使用してください。
- Render 上のアプリ向けに Postgres を設定する場合(URL、TLS、プーリング)
- データベース、プラン、ディスク、レプリカを作成または変更する場合
- バックアップ、PITR、エクスポート、データベースの削除について質問する場合
- 接続数の上限、SSL エラー、サービスと DB 間のレイテンシが問題になった場合
- Blueprint の
databases/readReplicasを作成する場合、またはfromDatabaseを接続する場合
デプロイの流れと Blueprint の基本については、render-deploy と render-blueprints を参照してください。サービス間のプライベートネットワークについては、render-networking を参照してください。環境変数のパターンについては、render-env-vars を参照してください。
内部データベース接続を設定またはトラブルシューティングする前に、references/private-networking.md を読んでください。
接続パターン
Render では、同じ論理データベースに対して2 つの接続 URLが提供されます。
| URL | 使用する場面 | TLS |
|---|---|---|
| Internal | Render 上のアプリまたはサービスが同じリージョンかつ同じワークスペースにある場合 | 不要(プライベートネットワーク) |
| External | ローカル開発、CI、または Render 外部のツール | 必須(TLS 1.2 以降) |
**Render でホストされているアプリには、常に内部 URL を優先してください。**これにより、トラフィックは Render のネットワーク内にとどまり、余分なレイテンシやパブリックな外向き通信を回避できます。
- IP 許可リストが適用されるのは、外部アクセスのみです。同じリージョン内の Render サービスは、許可リストに関係なく内部 URL を使用します。
- 外部クライアントは TLS を使用する必要があります。クライアントの設定が正しくない場合、SSL ハンドシェイクや
sslmodeのエラーが発生することがよくあります。
URL の形式、Dashboard 上の場所、Blueprint の fromDatabase、プーリング、よくある間違いについては、references/connection-guide.md を参照してください。
作成と設定
- インスタンスの表示名:後から変更できます(リソースの名前変更を Dashboard で行える場合)。
- 作成後に変更できない項目:
databaseName、データベースのユーザー、リージョン、PostgreSQL のメジャーバージョン。作成前に計画してください。これらを変更するには、新しいデータベースを作成して移行する必要があります。 - ストレージサイズ:プロビジョニング時には 1 GB、または 5 GB の倍数を指定します。
Blueprint の fromDatabase を使用してアプリを接続できます。property: connectionString、マネージド PgBouncer が有効な場合は connectionPoolString、または host、port、user、password、database を個別に指定します。render-blueprints を参照してください。
複数の論理データベース
同じインスタンス上の psql で CREATE DATABASE new_db; を実行できます。ホスト、ポート、認証情報は変わらず、URL パス内のデータベース名のみが変わります(例:.../myapp と .../new_db)。
ストレージの管理
- 自動スケーリング:ディスク使用量が約 90% に達すると、Render はストレージを約 50% 増やし、5 GB の倍数で切り上げます。上限は 16 TB です。
- ディスクを増やした後、サイズを縮小することはできません。
- クールダウン:ストレージを増やした後、12 時間は再度増やすことができません。
- 上限超過/異常状態:ディスクが設定済みの上限を超えると、データベースが異常状態になることがあります。解決するまで Render によって停止される場合があります。
ディスク使用量を監視し、上限に達する前にエクスポートやクリーンアップを計画してください。バックアップと復元の方法については、references/backup-and-recovery.md を参照してください。
接続数の上限
接続数の上限は、データベースのコンピュートプランによって異なります。記憶した表に頼るのではなく、references/compute-plans.md を使用して、最新の Postgres プランカタログと接続数の上限を取得してください。
Render は、有料の Postgres インスタンス向けに PgBouncer による接続プーリングを統合して提供しています。Blueprint で connectionPool: pgbouncer を設定して有効にし、データベースの connectionPoolString を使用してクライアントを接続してください。アプリケーションのプールサイズはデータベースの接続数上限に合わせてください。セッションレベルの状態や専用の長時間接続を必要とするクライアントでは、直接接続文字列を使用する必要があります。マネージドプールを有効にするとデータベースが再起動し、数分間利用できなくなります。詳細は references/connection-guide.md と references/performance-tuning.md を参照してください。
高可用性とコンピュートプラン
HA の適用条件とプラン変更時の動作は、Postgres のコンピュートプランとバージョンによって異なります。プランを推奨したり、既存のデータベースを変更したりする前に、references/compute-plans.md を参照してください。
読み取りレプリカ
- データベースあたり最大 5 個の読み取りレプリカを作成できます。
- Blueprint では、
readReplicasの下に名前のリストとしてレプリカを宣言します。 - CAUTION — 宣言的な同期:
- 空の
readReplicasリストを指定すると、既存のレプリカがすべて削除される可能性があります。 - Blueprint と稼働中のレプリカ間で名前が一致しないと、新しいレプリカが作成され、リストに含まれなくなったレプリカが削除される可能性があります。
- 空の
readReplicas は追加のみの設定ではなく、希望する状態を示す権威ある設定として常に扱ってください。
便利な MCP コマンド
Render MCP ツールを使用してください(名前はインテグレーションによって多少異なる場合があります。サーバーのツール一覧に合わせてください)。
| 目的 | ツール/パターン |
|---|---|
| データベースの一覧表示 | list_postgres_instances |
| インスタンスの詳細 | postgresId を指定した get_postgres |
| 読み取り専用 SQL | postgresId と sql を指定した query_render_postgres |
| 接続負荷 | resourceId(Postgres ID)と metricTypes: ["active_connections"] を指定した get_metrics |
query_render_postgres は読み取り専用のトランザクションで実行され、クエリごとに新しい接続を開きます。アプリケーションの接続プーリングの代わりとして使用しないでください。
短縮形(同じツール):list_postgres_instances()、get_postgres(postgresId)、query_render_postgres(postgresId, sql)、get_metrics(resourceId, metricTypes: ["active_connections"])。
削除とデータの安全性
- データベースを削除すると、バックアップとスナップショットは保持されません。先にエクスポートしてください(
pg_dump、既存のバックアップからの Dashboard 復元ワークフローなど)。 - 破壊的な操作の前に、
references/backup-and-recovery.mdで保持期間と復旧手順を確認してください。
参考資料
| ドキュメント | 内容 |
|---|---|
references/compute-plans.md | 最新の Postgres プラン ID、接続数の上限、ダウンタイム、HA、旧プランからの移行 |
references/private-networking.md | 現在のプライベートネットワークの範囲、内部アドレス指定、分離、トラブルシューティング |
references/connection-guide.md | 内部 URL と外部 URL、SSL、許可リスト、Blueprint の接続設定、プーリング、複数データベース URL、トラブルシューティング |
references/backup-and-recovery.md | スナップショット、PITR、pg_dump/pg_restore、復元手順、削除、リージョン間の操作 |
references/performance-tuning.md | pg_stat_statements、インデックス、肥大化、EXPLAIN ANALYZE、メトリクス、スケーリング |
関連スキル
- render-deploy — エンドツーエンドのデプロイ、サービス、MCP/Dashboard の手順
- render-blueprints —
databases、fromDatabase、readReplicas、不変フィールド - render-networking — プライベートサービス、リージョン、リソース間のトラフィックのルーティング方法
- render-env-vars —
DATABASE_URLの保存とシークレットの接続パターン
現在のドキュメントの取得
このスキルで最新の Render ドキュメントを参照するよう指示された場合は、次の手順に従ってください。
- 利用可能な URL 取得ツールまたは
curlなどの HTTP クライアントを使って、リンク先の Markdown ドキュメントを直接取得します。ウェブ検索の要約でドキュメントを代用しないでください。 - 取得が成功し、期待したドキュメントが返されたことを確認してから、内容を読みます。ファイルを保存したり、そのパスを表示したりするだけでは不十分です。
- リクエストに失敗した場合、またはツールで Markdown のレスポンスを読み取れない場合は、リンク先の HTML 版を開いて読みます。
- どちらの形式も取得できない場合は、最新の参照資料を利用できないことを明示し、スキル内のトピック固有の代替手順に従います。同梱のガイダンスは、変わらない制約に限って使用し、変更される可能性のあるプラットフォームの詳細を推測しないでください。
複数の参照資料が必要な場合は、それぞれにこの手順を適用し、確認できたドキュメントと、取得できなかったドキュメントを区別してください。