0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

VercelPostgresの Endpoint ID is not specified エラー解決

Posted at

状況

Vercel Postgresから、AWS AuroraにDBを移行するためにAWS DMSのソースエンドポイント(移行元)を追加しようとしたら、以下のエラーが出てしまった。

Test Endpoint failed.
~~省略~~
101 Message: ERROR: Endpoint ID is not specified.
Either please upgrade the postgres client library (libpq) for SNI support
or pass the endpoint ID (first part of the domain name)
as a parameter: '?options=endpoint%3D<endpoint-id>'.
See more at https://neon.tech/sni

調査

GitHub Issueによると、VercelPostgresのlibpqのバージョンが古く、SNIに対応していないために発生している問題らしい。(早くアップデートしてくれぃ!)

まずはエラー文の指示通り、?options=endpoint%3D<endpoint-id>をパラメータとして追加する。
<endpoint-id>は、ab-cdef-ghikj-12345678-pooler.ap-southeast-1.postgres.vercel-storage.comab-cdef-ghikj-12345678-poolerの部分なので、追加の接続属性に言われた通りの記述をしてみる。
image.png
しかし、AWS DMSのエンドポイントでは、渡せるパラメータに制限があるらしく、以下のようなエラーになってしまう...
image.png

解決方法

neonの公式ドキュメントに解決方法が書いてあった。
パスワードの入力フィールドに、

endpoint=<endpoint_id>;<password>

endpoint=<endpoint_id>$<password>

のような形式で入力すると、エンドポイントIDを特定できるようになるらしい。
AWS DMSのエンドポイント設定では、パスワードフィールドに ; (セミコロン)を含めることはできないため、$ で区切ってあげればOK!

まとめ

公式ドキュメントはやはり至高!
焦ってStack Overflowばかり漁ってしまいがちなので反省...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?