Informações gerais da recuperação pontual (PITR, na sigla em inglês)
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A recuperação pontual (PITR, na sigla em inglês) do Firestore no modo Datastore oferece proteção contra
exclusão ou gravações acidentais. A PITR mantém versões das suas
entidades de carimbos de data/hora passados. Por exemplo, no caso de um desenvolvedor
enviar os dados incorretos, exclusões ou gravações acidentais, o PITR pode recuperar os
dados em um momento no passado (até um máximo de sete dias) sem problemas.
Para qualquer banco de dados ativo que siga as práticas recomendadas, o uso
da PITR não afeta o desempenho das leituras ou gravações.
Janela de PITR
Depois que você ativa a PITR, o modo Datastore começa a reter dados dela. Os dados da PITR são
retidos por sete dias na janela de PITR.
É possível ler os dados de um carimbo de data/hora com base em quando a PITR foi ativada:
Status de ativação da PITR
Dados PITR mais antigos disponíveis
Desativado
Uma hora antes do horário da solicitação de leitura
ativado nos últimos sete dias
1 hora antes da ativação da PITR
ativado há mais de 7 dias
Sete dias antes do horário da solicitação de leitura
Uma única versão por minuto é mantida na janela de PITR. É possível ler documentos com granularidade
por minuto usando um carimbo de data/hora de minuto inteiro. Apenas uma versão de um
documento é mantida em caso de várias gravações. Por exemplo, se um documento tiver
várias gravações variando de v1, v2, ... vk entre 2023-05-30 09:00:00AM (exclusivo)
e2023-05-30 09:01:00AM carimbo de data/hora (inclusive), uma solicitação de leitura no
carimbo de data/hora
2023-05-30 09:01:00AM retorna a versão vk do documento.
É possível ler os dados criados durante a janela
PITR. Os dados são armazenados em granularidade de um minuto e é possível recuperá-los
na mesma granularidade. O recurso da PITR do modo Datastore fica desativado por padrão.
O campo earliestVersionTime do banco de dados especifica o
horário de leitura mais permitido para seus dados.
Independentemente de a PITR estar ativada ou não, é possível ler (mas não exportar) documentos em qualquer carimbo de data/hora com granularidade de microssegundos na última hora, mas não antes do earliestVersionTime.
Maneiras de recuperar dados
Há duas maneiras de recuperar dados:
Para recuperar uma parte do banco de dados, realize uma leitura desatualizada
especificando uma condição de consulta ou usando a pesquisa de chave direta com um
carimbo de data/hora no passado e depois grave os resultados no banco de dados
ativo. Isso normalmente é usado em operações cirúrgicas em um banco de dados ativo.
Por exemplo, se você excluir acidentalmente uma entidade específica ou
atualizar incorretamente um subconjunto de dados, poderá recuperá-lo com esse método.
Para receber instruções, consulte Como recuperar uma parte do banco de dados.
Para recuperar todo o banco de dados, use uma das seguintes opções:
Exporte o banco de dados e especifique
um carimbo de data/hora no passado e importe-o para um novo banco de dados. A operação de exportação
da PITR oferece suporte a todos os filtros, incluindo a exportação de todas as entidades e
a exportação de tipos e namespaces específicos.
É possível exportar ou clonar dados PITR em que o carimbo de data/hora é um minuto inteiro nos últimos sete dias, mas não anterior ao earliestVersionTime.
Preços
Considere as seguintes informações de preços antes de ativar a PITR para seu banco de dados:
Armazenamento: o modo Datastore mede o tamanho do banco de dados diariamente. Durante o
período de um mês, a média desses pontos de amostra é feita para calcular o
tamanho do armazenamento do banco de dados. Esse valor médio é multiplicado pelo preço unitário de
PITR (GB/mês). Consulte os preços de armazenamento para mais informações.
O armazenamento da PITR não tem um nível sem custos, e é necessário ativar o faturamento se você quiser usar a PITR.
Faturamento de computação: todas as consultas feitas durante a janela PITR de sete dias,
seja por leituras desatualizadas ou exportações, geram custos de operação de leitura
com base no número de documentos lidos. Para mais informações, consulte Preços.
Faturamento mínimo: você pode receber uma cobrança de até 1 dia no custo de armazenamento da PITR mesmo se
desativá-la dentro de um dia após a ativação.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-03 UTC."],[[["\u003cp\u003eFirestore in Datastore mode's point-in-time recovery (PITR) feature protects against accidental data deletion or incorrect writes by retaining versions of entities for up to 7 days, allowing for seamless data recovery.\u003c/p\u003e\n"],["\u003cp\u003eEnabling PITR does not affect the performance of reads or writes for live databases that adhere to best practices.\u003c/p\u003e\n"],["\u003cp\u003ePITR data is retained for 7 days, and data can be read at minute granularity within this window, where the availability of data depends on when PITR was enabled, with the earliest available data ranging from 1 hour before a read request to 7 days prior.\u003c/p\u003e\n"],["\u003cp\u003eData can be recovered either by performing stale reads on a portion of the database and writing it back or by exporting the entire database to a specific point in time and importing it into a new database.\u003c/p\u003e\n"],["\u003cp\u003eUsing PITR incurs storage and compute costs, with storage measured daily and averaged monthly, and read operation costs for any queries within the 7-day PITR window, additionally there is a potential charge for up to 1 day of storage even if the feature is turned off quickly.\u003c/p\u003e\n"]]],[],null,["# Point-in-time recovery (PITR) overview\n\nFirestore in Datastore mode point-in-time recovery (PITR) provides protection against\naccidental deletion or writes. PITR maintains versions of your\nentities from past timestamps. For example, in the case of a developer\npushing the incorrect data, accidental deletes or writes, PITR can recover the\ndata to a point in time in the past (up to a maximum of 7 days) seamlessly.\n\nFor any live database that follows [Best practices](./best-practices), use\nof PITR doesn't affect the performance of reads or writes.\n\nPITR window\n-----------\n\nAfter you enable PITR, Datastore mode starts retaining PITR data. PITR data is\nretained for 7 days in the PITR window.\n\nYou can read data for a timestamp based on when PITR was enabled:\n\n| **Note:** You can't start reading from seven days in the past immediately after you enable PITR.\n\nA single version per minute is retained in the PITR window. You can read documents at minute\ngranularity using a whole minute timestamp. Only one version of a document is\nretained in case of multiple writes. For example, if a document had multiple\nwrites ranging from `v1, v2, ... vk` between `2023-05-30 09:00:00AM` (exclusive)\nand `2023-05-30 09:01:00AM` (inclusive) timestamp, a read request at timestamp\n`2023-05-30 09:01:00AM` returns the `vk` version of the document.\n\nYou can read from the data created during the PITR\nwindow. The data is stored at a minute granularity and you can recover data\nat the same granularity. Datastore mode PITR feature is disabled by default.\n\nThe [earliestVersionTime](/firestore/docs/reference/rest/v1/projects.databases#resource:-database) field of your database specifies the\nearliest permissible read time for your data.\n\nRegardless of whether PITR is enabled or not, you can read (but not export) documents at any microsecond-granularity timestamp within the past hour, but not before the earliestVersionTime.\n\nWays to recover data\n--------------------\n\nThere are two ways to recover data:\n\n- To **recover a portion of the database** , perform a [stale read](/firestore/docs/understand-reads-writes-scale#stale_reads)\n specifying a query-condition or using direct key lookup along with a\n timestamp in the past, and then write the results back into the live\n database. This is typically used for surgical operations on a live database.\n For example, if you accidentally delete a particular entity or\n incorrectly update a subset of data, you can recover it with this method.\n For instructions, see [recovering a portion of your database](/datastore/docs/use-pitr#read-pitr).\n\n- To **recover the entire database** , [export](/datastore/docs/use-pitr#export-import) the database specifying\n a timestamp in the past and then import it to a new database. The PITR\n export operation supports all filters, including export of all entities\n and export of specific kinds or namespaces. Note that exporting a database could\n take several hours. You can export PITR data where the timestamp is a whole\n minute timestamp within the past seven days, but not earlier than the\n earliestVersionTime.\n\nPricing\n-------\n\nConsider the following pricing information before you enable PITR for your database:\n\n- Storage: Datastore mode measures the database size daily. Over the\n period of a month, these sample points are averaged to calculate the\n database storage size. This average value is multiplied by the unit price of\n PITR (GB-month). See the [storage pricing](/firestore/pricing) for more information.\n\n PITR storage doesn't have a free tier and you must have billing enabled if you\n want to use PITR.\n- Compute billing: Any queries that you make during the PITR window of 7 days,\n either through stale reads or exports, incur read operation costs\n based on the number of documents read. See [pricing](/firestore/pricing) for more\n information.\n\n- Minimum billing: You may be charged up to 1 day of PITR storage cost even if\n you disable PITR within a day after enablement.\n\nWhat's next\n-----------\n\n- Learn more about how to [recover data with PITR](/datastore/docs/use-pitr)."]]