web-dev-qa-db-ja.com

gcloud sqlで接続するDBを指定する

Google Cloud SQLインスタンスに接続するときに、接続するデータベースを指定する方法はありますか?

これは私が実行するコマンドと私が得るエラーです:

$ gcloud beta sql connect MY_INSTANCE --user=MY_USER
Whitelisting your IP for incoming connection for 5 minutes...done.
Connecting to database with SQL user [MY_USER].Password for user MY_USER:
psql: FATAL:  database "MY_USER" does not exist

ユーザーと同じ名前のデータベースに接続しようとしているようですが、そうでない場合はどうなりますか? (私が欲しいDBにジャンプできるように、MY_USERと呼ばれるダミーDBを作成したくありません)。

コマンドgcloud beta sqlのドキュメントは次のとおりですが、ここで役立つものは何もありません: https://cloud.google.com/sdk/gcloud/reference/beta/sql/connect

23
MondKin

gcloud sql connectでは現在、データベース名を指定できません。追加する未解決の問題があります: https://issuetracker.google.com/issues/69314375

それまでは、PGDATABASE環境変数を使用してこれを回避できます。

例えば.

PGDATABASE=mydb gcloud sql connect myinstance

Shellエイリアスを作成して、これを行うことができます。

41
Vadim

一方、gcloud sql connectコマンドのbetaバージョンは、--database=<dbname>フラグのサポートを追加しました

コマンド全体:
gcloud beta sql connect INSTANCE [--database=DATABASE, -d DATABASE] [--user=USER, -u USER] [GCLOUD_WIDE_FLAG …]

https://cloud.google.com/sdk/gcloud/reference/beta/sql/connect

8
Koesper