postgresql_tablespace.pp 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. class { 'postgresql::server':
  2. config_hash => {
  3. 'ip_mask_deny_postgres_user' => '0.0.0.0/32',
  4. 'ip_mask_allow_all_users' => '0.0.0.0/0',
  5. 'listen_addresses' => '*',
  6. 'manage_redhat_firewall' => true,
  7. 'postgres_password' => 'postgres',
  8. },
  9. }
  10. file { '/tmp':
  11. ensure => 'directory',
  12. }
  13. file { '/tmp/pg_tablespaces':
  14. ensure => 'directory',
  15. owner => 'postgres',
  16. group => 'postgres',
  17. mode => '0700',
  18. require => File['/tmp'],
  19. }
  20. postgresql::tablespace{ 'tablespace1':
  21. location => '/tmp/pg_tablespaces/space1',
  22. require => [Class['postgresql::server'], File['/tmp/pg_tablespaces']],
  23. }
  24. postgresql::database{ 'tablespacedb1':
  25. # TODO: ensure not yet supported
  26. #ensure => present,
  27. charset => 'utf8',
  28. require => Class['postgresql::server'],
  29. }
  30. postgresql::database{ 'tablespacedb2':
  31. # TODO: ensure not yet supported
  32. #ensure => present,
  33. charset => 'utf8',
  34. tablespace => 'tablespace1',
  35. require => Postgresql::Tablespace['tablespace1'],
  36. }
  37. postgresql::db{ 'tablespacedb3':
  38. # TODO: ensure not yet supported
  39. #ensure => present,
  40. user => 'dbuser1',
  41. password => 'dbuser1',
  42. require => Class['postgresql::server'],
  43. }
  44. postgresql::db{ 'tablespacedb4':
  45. # TODO: ensure not yet supported
  46. #ensure => present,
  47. user => 'dbuser2',
  48. password => 'dbuser2',
  49. tablespace => 'tablespace1',
  50. require => Postgresql::Tablespace['tablespace1'],
  51. }
  52. postgresql::database_user{ 'spcuser':
  53. # TODO: ensure is not yet supported
  54. #ensure => present,
  55. password_hash => postgresql_password('spcuser', 'spcuser'),
  56. require => Class['postgresql::server'],
  57. }
  58. postgresql::tablespace{ 'tablespace2':
  59. location => '/tmp/pg_tablespaces/space2',
  60. owner => 'spcuser',
  61. require => [Postgresql::Database_user['spcuser'], File['/tmp/pg_tablespaces']],
  62. }
  63. postgresql::database{ 'tablespacedb5':
  64. # TODO: ensure not yet supported
  65. #ensure => present,
  66. charset => 'utf8',
  67. tablespace => 'tablespace2',
  68. require => Postgresql::Tablespace['tablespace2'],
  69. }