Ok, I pushed commits to backport BackgroundPsql down to v12. I used "option 2", i.e. I changed background_psql() to return the new BackgroundPsql object.
pgsql-hackers by date:
Соглашаюсь с условиями обработки персональных данных