Olá,
temos uma instância do Discourse que não conseguimos fazer backup (e atualizar) há algum tempo.
Ao executar o backup, recebemos este erro
pg_dump: dumpando conteúdo da tabela "public.email_change_requests"
pg_dump: processando dados para a tabela "public.email_logs"
pg_dump: dumpando conteúdo da tabela "public.email_logs"
pg_dump: erro: Falha ao dumpar o conteúdo da tabela "email_logs": PQgetResult() falhou.
pg_dump: erro: Mensagem de erro do servidor: ERRO: não foi possível acessar o status da transação 4156776275
DETALHE: Não foi possível abrir o arquivo "pg_xact/0F7C": Arquivo ou diretório inexistente.
pg_dump: erro: O comando foi: COPY public.email_logs (id, to_address, email_type, user_id, created_at, updated_at, post_id, bounce_key, bounced, message_id, smtp_group_id, cc_addresses, cc_user_ids, raw, topic_id) TO stdout;
EXCEÇÃO: pg_dump falhou
Depois de ler muitos posts aqui e tentar muitas coisas, acabei tentando consultar essa tabela e recebi este erro:
discourse=# select * from email_logs;
ERRO: não foi possível acessar o status da transação 4156776275
DETALHE: Não foi possível abrir o arquivo "pg_xact/0F7C": Arquivo ou diretório inexistente.
discourse=#
esse problema está ocorrendo há muito tempo, então restaurar do último backup não é realmente uma opção. Além desse ‘problema de backup’, o Discourse está funcionando bem.
Email_logs parece ser apenas uma tabela de log e não tenho problemas em perder logs de e-mails eventuais se isso significar que os backups voltarão a funcionar. Posso simplesmente TRUNCAR a tabela email_logs ou os dados ausentes gerarão mais erros?
obrigado pela sua ajuda