問題点を正しく特定されたと思います。私のアプリの app.yml は以下のようになっています。
## Dockerコンテナはステートレスであり、すべてのデータは /shared に保存されます
volumes:
- volume:
host: /mnt/volume_tor1_01/shared/standalone
guest: /shared
- volume:
host: /mnt/volume_tor1_01/shared/standalone/log/var-log
guest: /var/log
- volume:
host: /var/postgres_data_discourse
guest: /shared/postgres_data
(このガイドに基づいています: https://meta.discourse.org/t/move-uploads-and-backups-to-digitalocean-block-storage/89274)
$ cat postgres_data/PG_VERSION
15
$ cat /var/postgres_data_discourse/PG_VERSION
13
したがって、このアプローチで問題が解決されると考えています: PostgreSQL 15 update - #125 by Vaping_Community
私を混乱させたのは、mntボリュームに複数の postgres_data フォルダがあったこと(再ビルドを複数回実行したため)で、ソースフォルダが実際には /var/ にあることに気づかなかったことだと思います。
今夜試してみます。