Agora, li o documento sobre "Transaction ID Wraparound", mas há algo que realmente não entendo, o documento é o seguinte URL http://www.postgresql.org/docs/9.0/static/routine-vacuuming .html # VACUUM-FOR-WRAPAROUND
23.1.4 Impedindo falhas abrangentes de ID de transação
A semântica de transações MVCC do PostgreSQL depende da capacidade de comparar números de ID de transação (XID): uma versão de linha com um XID de inserção maior que o XID da transação atual é "no futuro" e não deve estar visível para a transação atual. Porém, como os IDs de transação têm tamanho limitado (32 bits), um cluster que é executado por um longo período de tempo (mais de 4 bilhões de transações) sofreria uma ampla abrangência de IDs de transação: o contador XID fica em torno de zero e, de repente, as transações que estavam no passado parece estar no futuro - o que significa que sua produção se torna invisível. Em suma, perda de dados catastrófica. (Na verdade, os dados ainda estão lá, mas esse é um conforto frio, se você não conseguir entender.) Para evitar isso, é necessário aspirar todas as tabelas em todos os bancos de dados pelo menos uma vez a cada dois bilhões de transações.
Não entendo as declarações "sofreriam uma identificação abrangente da transação: o contador XID se aproxima de zero e, de repente, as transações que ocorreram no passado parecem estar no futuro - o que significa que sua saída se torna invisível"
Alguém pode explicar isso? Por que, depois que o banco de dados sofre um ID de transação abrangente, as transações que estavam no passado parecem ocorrer no futuro? Em resumo, eu quero saber se o PostgreSQL estará na situação "perda de dados" após a identificação da transação envolver-se pelo autovacuum.
Para os meus pontos de vista pessoais, podemos obter o ID da transação atual usando a função txid_current (), cuja saída é de 64 bits e não será executada em ciclo. pela função txid_current (). Exceto que você usará o ID de transação de redefinição de pg_resetxlog reset após desligar o PostgreSQL Server. Estou certo ? obrigado