ここでは、Cloud SQL インスタンス上の PostgreSQL データベースの作成、一覧取得、削除について説明します。
PostgreSQL データベースの詳細については、PostgreSQL のドキュメントをご覧ください。始める前に
ここで説明するタスクの前に、次のことを行っておく必要があります。
- Cloud SQL インスタンスを作成しておきます。詳細については、インスタンスの作成をご覧ください。
psql クライアントを使用してデータベースを作成または管理する場合は、次のことを行っておく必要があります。
psql
クライアントでインスタンスへのアクセスを構成し、接続しておきます。接続オプションの詳細については、外部アプリケーションのための接続オプションをご覧ください。
データベースの作成
データベース名を作成する場合は、識別子とキーワードの規則に従います。作成時に設定しないと、新しいデータベースに次のデフォルト値が使用されます。- 文字セット:
UTF8
- 照合:
en_US.UTF8
Cloud SQL インスタンスでデータベースを作成するには、次のようにします。
Console
- Google Cloud Console の Cloud SQL インスタンス ページに移動します。
- データベースを追加する先のインスタンスを選択します。
- [データベース] タブを選択します。
- [データベースを作成] をクリックします。
- [新しいデータベース] ダイアログで、データベースの名前を指定します。
- [作成] をクリックします。
gcloud
リファレンス情報については、gcloud sql databases create をご覧ください。背景とサポートされている文字セット値については、PostgreSQL のドキュメントで以下のトピックをご覧ください。
gcloud sql databases create [DATABASE_NAME] --instance=[INSTANCE_NAME] [--charset=CHARSET] [--collation=COLLATION]
REST v1beta4
以下のリクエストでは、databases:insert メソッドを使用して、指定したインスタンスに新しいデータベースを作成します。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
- database-name: Cloud SQL インスタンス内のデータベースの名前
HTTP メソッドと URL:
POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
JSON 本文のリクエスト:
{ "project": "project-id", "instance": "instance-id", "name": "database-name" }
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
psql クライアント
リファレンス情報については、PostgreSQL のドキュメントで CREATE DATABASE をご覧参照してください。
背景とサポートされている文字セット値については、PostgreSQL のドキュメントで以下のトピックをご覧ください。
CREATE DATABASE [database_name] [[ ENCODING encoding ][ LC_COLLATE lc_collate ]];
データベースの一覧を表示する
インスタンス上のすべてのデータベースの一覧を取得するには:
Console
- Google Cloud Console の Cloud SQL インスタンス ページに移動します。
- データベースをリストするインスタンスを選択します。
- [データベース] をクリックします。
新しく作成したインスタンスには
postgres
データベースがあります。
gcloud
リファレンス情報については、gcloud sql databases list をご覧ください。
gcloud sql databases list --instance=[INSTANCE_NAME]
REST v1beta4
次のリクエストでは、databases:list メソッドを使用して、インスタンスのデータベースを一覧表示します。
API を使用してデータベースを一覧表示すると、コンソールでは表示されない追加のテンプレート データベースとシステム データベースが表示されます。システム データベースを削除したり、管理したりすることはできません。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
HTTP メソッドと URL:
GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
psql クライアント
リファレンス情報については、list をご覧ください。
psql
クライアントを使用してデータベースを一覧表示すると、コンソールでは表示されない追加のテンプレート データベースとシステム データベースが表示されます。システム データベースを削除したり、管理したりすることはできません。
\l
データベースを削除する
Cloud SQL インスタンスでデータベースを削除するには、次のようにします。
Console
- Google Cloud Console の Cloud SQL インスタンス ページに移動します。
- 削除するデータベースが含まれているインスタンスを選択します。
- [データベース] をクリックします。
- データベースのリストで削除するデータベースを選択し、ごみ箱アイコンをクリックします。
- [データベースを削除] ダイアログ ボックスで、[OK] をクリックします。
gcloud
リファレンス情報については、gcloud sql databases delete をご覧ください。
gcloud sql databases delete [DATABASE_NAME] --instance=[INSTANCE_NAME]
REST v1beta4
以下のリクエストでは、databases:delete メソッドを使用して、指定されたデータベースを削除します。
後述のリクエストのデータを使用する前に、次のように置き換えます。
- project-id: プロジェクト ID
- instance-id: インスタンス ID
- database-name: Cloud SQL インスタンス内のデータベースの名前
HTTP メソッドと URL:
DELETE https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name
リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
psql クライアント
リファレンス情報については、PostgreSQL のドキュメントで DROP DATABASE をご覧ください。
DROP DATABASE [database_name];
次のステップ
- インスタンスのユーザーを管理する。
- インスタンスにデータをインポートします。
- psql クライアントを使用してインスタンスに接続するためのオプションについて学習する。
- データベース テーブルを作成する。