| Currently PuppetDB requires the pg_trgm extension from the postgresql-contrib package. The puppetdb module will install this extension with the class puppetdb::database::postgresql This extension is provided by a package and is installed by class postgresql::server::contrib The package is called postgresql-contrib (on Ubuntu ) https://wiki.postgresql.org/wiki/Apt Note: This repository provides "postgresql", "postgresql-contrib", and "postgresql-client" meta-packages that depend on the latest postgresql-x.y, ... packages, similar to the ones present in Debian and Ubuntu. Once a new PostgreSQL version is released, these meta-packages will be updated to depend on the new version. Unfortunately once a new postgresql version is released, there is no longer a meta package for the previous version available in the official postgresql apt repository for postgresql-contrib And then the install of the postgresql-contrib package will also pull in the latest version of postgresql as its dependency. In our case, we have configured the puppetdb module, to use postgresql 13 class { 'puppetdb': postgres_version => "13", But on the server, we now have both postgresql 13 and 14 installed So in its core this is a package availability issue on the postgresql side and not a puppetdb issue. But perhaps the pg_trgm functionality can be dropped/replaced ? And that would drop the need for the postgresql-contrib package And that avoids the entire dependency issue |