Dunno if it was true when you wrote your question, but the puppetlabs/postgresql
module does some pretty clever stuff with versions that are not standard for your OS distro, including installing the required repository.
Snippets from my config:
In one of my puppet classes I call:
class { 'postgresql::globals':
encoding => hiera('postgresql::globals::encoding', 'UTF8'),
locale => hiera('postgresql::globals::locale', 'C'),
manage_package_repo => hiera('postgresql::globals::manage_package_repo', false),
version => hiera('postgresql::globals::version', undef),
notify => Class['postgresql::server', 'postgresql::client'],
}
and in my hiera config data I have:
postgresql::globals::version: "9.3"
postgresql::globals::manage_package_repo: true
Using hiera like this is optional of course, but it gives you a nice way to use different versions on different hosts. On later versions of puppet (at least 3.x) you can override postgresql::globals variables without needing that to be part of how you call the package.
You won't need to do stuff from source here, but if you did, I'd recommend that you should build your own package rather than try to automate the build process through puppet. Avoid it as far as possible though, since it sets you up to do ongoing maintenance of that package.
Not an elegant solution but after installing the package using apt-get
(which fails creating the cluster but installs PostgreSQL), I switched to the postgres
user and created the database using initdb
. Then back to root
, I created the cluster using the pg_createcluster
command.
This moved the configurations to /etc/postgres/9.4/main
and set it all up.
Best Answer
PostgreSQL's PDPG only creates separate packages for LTS releases, however it seems to suggest that it should work in the FAQ
I'm a little hesitant to spring for generally works, but there you have it.
So do not run the suggested command,
Instead, run
Warning, I wasn't not able to get this to work... Installing postgis failed.
Ubuntu 16.10 does not ship with
libgdal1i
, it ships withlibgdal20
andlibgdal-dev
which uses 2.1.1. Bug filed here