PostgreSQLでのデータベースのリストと切り替え
PostgreSQLにおけるデータベースの一覧表示と切り替え
PostgreSQLは、強力なオープンソースのオブジェクトリレーショナルデータベースシステムであり、データベースを効率的に管理するための豊富なツールと機能を提供します。データベース管理者であれバックエンド開発者であれ、データベースを一覧表示し、切り替える方法を知っていることは、マルチデータベース環境をナビゲートするための基礎です。
1. 前提条件
始める前に、次のことを確認してください:
PostgreSQLがあなたのシステムにインストールされていること(psql にアクセス可能であること)。
適切な権限(例:スーパーユーザーまたは接続権を持つロール)があること。
有効なユーザーを使用してPostgreSQLサーバーに認証できること。
2. PostgreSQLにおけるデータベースの一覧表示
🔍 方法1: psqlメタコマンドを使用
psqlインタラクティブターミナルを起動し、次を実行します:
または、拡張形式を使用します:
これにより、すべてのデータベースのリストが返されます:
名前
所有者
エンコーディング
照合順序
Ctype
アクセス権限
方法2: SQLクエリを使用
あるいは、次のSQL文を実行します:
このクエリはテンプレートデータベース(template0、template1)を除外し、ユーザーが作成したデータベースを表示します。
🛠️ 方法3: コマンドラインシェル
psqlの外部で、ターミナルから:
また、psql -lを使用することもできます:
3. データベースの切り替え
他のRDBMS(例:MySQL)とは異なり、PostgreSQLは同じセッション内でデータベースを切り替えることをサポートしていません。USE dbname;のようなコマンドを使用することはできません。
なぜ?
PostgreSQLはログイン時に特定のデータベースへの接続を確立します。別のデータベースにアクセスするには、切断して再接続する必要があります。
推奨アプローチ:
現在のセッションを終了し、目的のデータベースに再接続します:
次に:
または直接:
例:
4. 効率的なマルチデータベースワークフローのためのヒント
a. パスワードなしで切り替えるための.pgpassを使用
認証を自動化するために.pgpassファイルを作成します:
正しい権限が設定されていることを確認してください:
b. シェルスクリプトで自動化
一覧表示と切り替えを行うスクリプトを作成します:
c. 環境変数を使用
デフォルトのDBとユーザーをエクスポートして、切り替えを迅速に行います:
5. PgAdminおよびその他のGUIとの連携
PgAdmin内で:
サーバーグループをクリックします。
右クリック → データベースに接続。
データベースを切り替えるためにクエリツールのドロップダウンを使用します(DBごとに新しいタブを作成します)。
多くのツール(DBeaver、DataGrip)は、タブ付きのデータベースビューで複数の接続を許可します。
6. ボーナス: 現在のデータベースを確認
強調表示されたpsql内で、現在のデータベースを見つけます:
または次を使用:
結論
PostgreSQLは、他のSQLエンジンのようにセッション内でのデータベース切り替えを許可していませんが、その堅牢な接続モデルは、クリーンで一貫したアクセス制御とリソース管理を確保します。リスト表示技術をマスターし、スマートな再接続プラクティスを採用することで、CLI、GUI、またはスクリプトを介して、どの環境でもPostgreSQLデータベースを効率的に管理し、切り替えることができます。


