I don't think it's possible now to force initdb from outside since what server.pp declares now is this:

```puppet
  if ($postgresql::params::needs_initdb) {
    include postgresql::initdb

    Package['postgresql-server'] -> Class['postgresql::initdb'] -> Class['postgresql::config'] -> Service['postgresqld']
  } 
  else  {
    Package['postgresql-server'] -> Class['postgresql::config'] -> Service['postgresqld']
  }
```

In a PE manifest, I can't declare an initdb resource neither before the server is installed (since there's no software to call yet) nor after the server is installed (since it already tries to start the service but it requires the database already initialized). So I think that unless we rework this part of server.pp we need something like the force_initdb parameter.