Mike,
If you have no issue dropping and recreating the full database, that's
totally a workaround here (you know your requirements better than I, so
please don't take this as an endorsement of the approach :-) ).
To do this just stop PuppetDB, drop the puppetdb database, and recreate
the database with the options you want (the usual ones are described
here, but some people use different:
https://docs.puppet.com/puppetdb/latest/configure.html#using-postgresql),
and restart PuppetDB.
PuppetDB won't recreate the database for you but once that's in place
it'll create the tables/indices on startup. You may also consider
setting gc-interval to something less than 1 week, unless there's a good
reason for it being so long. A one-week interval will allow a lot of
time for bloat to build up.
Wyatt