🍣

fly.io の postgres を ja_JP.utf8 で使いたい

2022/08/16に公開

いずれかを folk して使ってね

まとめると、

$ flyctl launch --no-deploy
# postgres-ha の場合、 REPL_PASSWORD の定義も必要になる
$ flyctl secrets set SU_PASSWORD=<PASSWORD> OPERATOR_PASSWORD=<PASSWORD>
$ fly volumes create pg_data --size 1 # size in GB
$ fly deploy
$ fly status

flyctl pg create はイメージの設定変更ができなさそう

flyctl pg create実装を読み解いていくと、 flyio/postgres イメージを元に app を生成していることが分かるが、オプションでパスワードは取れるけど TZ のような環境変数の設定や localedef するような場所もなさそう。

注意

冒頭のリポジトリに存在する Dockerfile に VERSION を宣言しても認識されず、
Image Details のバージョンが空欄となる(flyctl pg create との違い)

バージョンが空欄の場合、 flyctl pg connect 等の処理でバージョンチェックに失敗し、
Command is not compatible with this image. と処理が中断されてしまう。
flyctl ssh consoleflyctl proxy ... で動作はしていそう)

また、投稿時点でデフォルトのままでも postgres-ha が動いていない気がしているので、
動作検証が終わってうまく動かせることが出来たら投稿を更新したい

postgres-ha について、 flyctl ssh console して接続するのではなくて、
README にある通り proxy 経由で接続したらインスタンスが動いていること・照会順序の変更が確認できました。
(改めて README 読むと、 flyctl pg connect できないことも触れられてますね、理由まで書いてないけど)

Discussion