O erro ao abrir o banco de dados de aliases não está relacionado, mas o motivo para isso é que comentar alias_maps
e alias_database
out não os esvazia, mas faz com que os valores padrão sejam usados:
# postconf -d | grep alias_
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases, nis:mail.aliases
. . .
Se você quiser esvaziar qualquer parâmetro de configuração, defina-o explicitamente como vazio em main.cf
.
Seu problema real está na sua configuração do cliente PostgreSQL ou na estrutura do banco de dados:
pgsql:/etc/postfix/virtual_mailbox_domains.cf: table lookup problem
O erro a seguir é o que você realmente deveria estar olhando, pois ele aponta que o problema está na sua configuração em /etc/postfix/virtual_mailbox_domains.cf
, que não corresponde à estrutura do seu banco de dados:
warning: pgsql query failed: fatal error from host localhost:
ERROR: column "value" does not exist?LINE 1:
select 1 from domains where value = '[email protected]'? ^?
Sabendo que a consulta usada em virtual_mailbox_domains.cf
e os cabeçalhos da saída de postfix_db=> select * from domains
, podemos identificar dois erros.
- Como está escrito, não há coluna
value
na sua tabeladomains
. Em vez da colunavalue
, você tem uma colunaname
que, suponho, tem os nomes de domínio. - Você está comparando o endereço de e-mail inteiro em vez do domínio. De acordo com
pgsql_table
, o%s
é substituído pela chave de entrada, enquanto%d
é substituído pelo domínio parte do endereço dentro do parâmetro pgsqlquery
.
Se você corrigir os dois, minha estimativa para a consulta resultante que pode funcionar seria:
query = select 1 from domains where name = '%d'