結論
以下のようなアクションを書くと、
- ホストは
localhost
- ポート番号は
5432
- ユーザー名は
postgres_user
- パスワードは
postgres_password
な PostgreSQL が起動できます。
services
での構築は不要です。
- name: PostgreSQL を起動する run: | # https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md#postgresql sudo systemctl start postgresql.service - name: PostgreSQL の起動待ち(ヘルスチェック)をする run: | until : > /dev/tcp/localhost/5432; do echo -n . sleep 1 done echo 'PostgreSQL の起動が確認できました' - name: PostgreSQL のユーザー(ロール)のセットアップを行う # バージョン番号が埋め込みになっているのが良くない run: | sudo bash -c "echo \"local all all md5\" >> /etc/postgresql/$major_version_number/main/pg_hba.conf" sudo su postgres -c "psql postgres -c 'create role $username;'" sudo su postgres -c "psql postgres -c \"alter role $username with login password '$password';\"" sudo su postgres -c "psql postgres -c \"alter role $username with superuser\"" env: username: postgres_user password: postgres_password major_version_number: 14
補足
- 内包されているバージョンは原則として最新版 なので、バージョン指定ができないのは痛いところです
- まっさらな PostgreSQL なので、ユーザー(ロール)作成のところでやや技巧的なことをやっています
- サクッと使うならばこれでもいいような気がします
- MySQL なども同様にできると思います