O problema não é a capitalização, mas a definição duplicada do recurso em /etc/puppet/modules/dbserver/manifests/postgresql8-3.pp. Aqui está um simples manifesto demonstrando isso:
define foo::bar {
notify { $name: }
}
foo::bar { "hello": }
if !defined (Foo::Bar['hello']) {
foo::bar { "hello": }
}
Se você mudar! definido para definido, você verá o erro de recurso duplicado semelhante ao seu erro. Eu colocaria seu manifesto completo em vez de um trecho.
Tente também o recurso virtual (@tipo) se este for um problema em que dois módulos precisam realizar o mesmo recurso.