0

Attempting to use Puppet to install PostgreSQL 9.5 on an Ubuntu Trusty, using all the documentation I could find, with the following simple class structure:

  class { 'postgresql::globals':
    manage_package_repo => true,
    version             => '9.5'
  }
  ->
  class { 'postgresql::server':
    ip_mask_allow_all_users => '0.0.0.0/0',
    listen_addresses        => '*',
    postgres_password       => '',
    encoding                => 'UTF-8',
    locale                  => 'en_US.UTF-8',
  }

I encounter the following fatal error:

==> default: Debug: Automatically imported postgresql::server::database_grant from postgresql/server/database_grant into production
==> default: Error: validate_re(): "B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8" does not match ["\\A(0x)?[0-9a-fA-F]{8}\\Z", "\\A(0x)?[0-9a-fA-F]{16}\\Z"] at /tmp/vagrant-puppet/modules-964288a1df1d89c6bf2b0015dc43c600/apt/manifests/key.pp:60 on node vagrant.local
==> default: Error: validate_re(): "B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8" does not match ["\\A(0x)?[0-9a-fA-F]{8}\\Z", "\\A(0x)?[0-9a-fA-F]{16}\\Z"] at /tmp/vagrant-puppet/modules-964288a1df1d89c6bf2b0015dc43c600/apt/manifests/key.pp:60 on node vagrant.local

I have tried

Adding package_name => 'postgresql-9.5' to ::globals, to no avail.

In an act of desperation, even:

  exec {'Add postgresql 9.5 key':
    command => '/usr/bin/wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo /usr/bin/apt-key add -',
    user    => 'root'
  }
  ->
  exec {'Add postgresql 9.5 apt':
    command  => '/bin/echo "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main" >> /etc/apt/sources.list.d/postgresql.list',
    user     => 'root'
  }
  ->
  exec {'apt-get update':
    command  => '/usr/bin/apt-get update',
    user     => 'root'
  }
  ->
  class { 'postgresql::globals':
  ...

I noticed that B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8 corresponds to postgresql 9.3: it seems something is not getting updated in the correct sequence.

1
  • Down-voting without commenting is not productive.
    – msanford
    Jun 20, 2016 at 21:26

1 Answer 1

2

Turns out it was due to a wildly-outdated apt puppet module.

Updating the module to apt 2.2.2 to match postgresql 4.7.1 (which I already had) worked as per the documentation.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .