Defined Type: postgresql::extension

Defined in:
manifests/extension.pp

Overview

Parameters:

  • extension_name (Any) (defaults to: $name)
  • port (Any) (defaults to: $postgresql::port)
  • dbname (Any) (defaults to: undef)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'manifests/extension.pp', line 1

define postgresql::extension(
                              $extension_name = $name,
                              $port           = $postgresql::port,
                              $dbname         = undef,
                            ) {
  Postgresql_psql {
    port => $port,
  }

  if($dbname != undef)
  {
    if defined(Postgresql::Db[$dbname])
    {
      Postgresql::Db[$dbname] -> Postgresql_psql["CREATE EXTENSION ${extension_name}"]
    }
  }

  postgresql_psql { "CREATE EXTENSION ${extension_name}":
    command => "CREATE EXTENSION ${extension_name}",
    unless  => "SELECT extname FROM pg_extension WHERE extname='${extension_name}'",
    db      => $dbname,
    require => Class['::postgresql::service'],
  }
}