Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
PostgreSQL è un potente sistema di database relazionale a oggetti open source che utilizza ed estende il linguaggio SQL combinato con molte funzionalità che archiviano e scalano in sicurezza i carichi di lavoro di dati più complessi.
API di backup PostgreSQL utilizzata da Backup e RE
Backup a livello di volume (monitoraggio dei blocchi di modifica di Linux e snapshot LVM):
Backup e RE utilizzano i comandi PostgreSQL pg_start_backup(label) e
pg_stop_backup() per eseguire i backup con il monitoraggio dei blocchi di modifica di Linux
e lo snapshot LVM.
Backup completi e incrementali (tradizionali basati su file): il backup e RE calamitosi utilizzano i comandi di backup basati su file di PostgreSQL pg_dump. Il comando pg_dump
non ha un'opzione per acquisire le modifiche incrementali di un database, pertanto ogni backup è un backup completo del dump del database.
Il ripristino del database consente di recuperarlo sovrascrivendo fisicamente l'area dati.
Backup dei log di PostgreSQL: durante un backup dei log, Backup e RE copia fisicamente tutti i WAL di PostgreSQL (WriteAheadLog). Per eliminare i log, Backup e RE utilizza un comando a livello di sistema operativo.
Come funziona: backup basato su volume di backup e RE con CBT di Linux
Nel bitmap vengono monitorati solo i blocchi modificati: nessuna copia su scrittura, nessuna
operazione con uso intensivo di I/O.
I passaggi seguenti descrivono la procedura di backup e recupero dei dati:
L'agente di backup e RE dispone della tecnologia CBT per monitorare i blocchi modificati nell'area dei dati del database.
L'agente chiama l'API di database per bloccare o mettere in pausa il database per il backup dei dati.
L'agente crea uno snapshot LVM dell'area dati del database e sintetizza un bitmap.
Chiamata dell'agente all'API del database per sbloccare il database.
L'agente copia i blocchi modificati nell'appliance di backup/ripristino, che elimina lo snapshot e cataloga il backup.
L'appliance emette uno snapshot interno e sintetizza un backup completo virtuale point-in-time.
Per il recupero dei dati, Backup e RE montano immediatamente un disco di staging riscrivibile
e mettono il database online.
Il comando quiesce o unquiesce viene eseguito sul principale per un job di snapshot a livello di volume:
I passaggi seguenti descrivono la procedura per eseguire il backup e il recupero dei dati con le immagini di backup basate su file:
L'agente di Backup e RE viene dispiegato nel server di database.
Monta il disco di staging sul server di database.
Esegui il backup completo utilizzando il comando dump backup, scrivendo il backup sul disco montato.
Backup e RE acquisiscono uno snapshot interno.
I backup dei log vengono eseguiti in modo simile direttamente dal file system in base alla pianificazione configurata.
Per il recupero dei dati, Backup e RE monta immediatamente il disco intermedio sul server di database e avvia l'operazione di ripristino del database.
I log possono essere riprodotti fino a qualsiasi momento dopo il ripristino del database.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003ePostgreSQL is an open-source object-relational database system that uses SQL for storing and scaling complex data workloads.\u003c/p\u003e\n"],["\u003cp\u003eBackup and DR utilizes PostgreSQL's \u003ccode\u003epg_start_backup\u003c/code\u003e and \u003ccode\u003epg_stop_backup\u003c/code\u003e commands for volume-level backups with Linux change block tracking and LVM snapshots.\u003c/p\u003e\n"],["\u003cp\u003eFor file-based backups, Backup and DR employs the \u003ccode\u003epg_dump\u003c/code\u003e command, which performs full database dumps as it lacks the capability for incremental change capture.\u003c/p\u003e\n"],["\u003cp\u003eBackup and DR agents track changes, freeze the database via API, create snapshots, and copy changed blocks for volume-based backup, and they use file-based backups directly from the file system.\u003c/p\u003e\n"],["\u003cp\u003eDatabase quiescing (freezing) and unquiescing commands differ between primary and standby nodes, as well as across PostgreSQL versions (9.x vs. 10.x and later).\u003c/p\u003e\n"]]],[],null,["# Backup and DR Service for PostgreSQL\n\nPostgreSQL is a powerful, open source object-relational database system\nthat uses and extends the SQL language combined with many features that\nsafely store and scale the most complicated data workloads.\n\nPostgreSQL backup API used by Backup and DR\n-------------------------------------------\n\n- **Volume level (Linux change block tracking and LVM snapshot) backups** :\n Backup and DR uses the PostgreSQL `pg_start_backup(label)` and\n `pg_stop_backup()` commands when performing backups with Linux change block\n tracking and LVM snapshot.\n\n- **Full+Incremental (file-based traditional) backups** : Backup and DR\n uses the PostgreSQL `pg_dump` file-based backups commands. The `pg_dump`\n command doesn't have an option to capture incremental changes of a\n database, so each backup is a full database dump backup.\n\n Restore of the database recovers the database by physically\n overwriting the data area.\n- **PostgreSQL log backup** : During a log backup, Backup and DR\n physically copies all the PostgreSQL WALs (`WriteAheadLog`). To purge logs,\n Backup and DR uses an OS-level command.\n\nHow it works: Backup and DR volume-based backup with Linux CBT\n--------------------------------------------------------------\n\nOnly changed blocks are tracked in the bitmap: no copy-on-writes, no\nI/O-intensive operations.\n\nThe following steps describe the process for data backup and recovery:\n\n1. The Backup and DR agent has CBT to track changed blocks in the database data\n area.\n\n2. The agent calls the database API to freeze or pause database for data backup.\n\n3. Agent creates LVM snapshot of database data area and synthesizes a bitmap.\n\n4. Agent call to database API to unfreeze database.\n\n5. Agent copies changed blocks to backup/recovery appliance, which then deletes\n the snapshot and catalogs the backup.\n\n6. The appliance issues an internal snapshot and synthesizes a point-in-time\n virtual full backup.\n\n7. For data recovery, Backup and DR instantly mounts a rewritable staging disk\n and brings the database online.\n\nThe quiesce or unquiesce command is run on the **primary** for a volume-level\nsnapshot job: \n\n select pg_start_backup(\u003clabel\u003e);\n select pg_stop_backup();\n\nThe quiesce and unquiesce commands are run on a **standby node** for a\nvolume-level snapshot job:\n\nIf PostgreSQL version is 10.x or later: \n\n select pg_wal_replay_pause();\n select pg_wal_replay_resume();\n\nIf PostgreSQL version is 9.x: \n\n select pg_xlog_replay_pause();\n select pg_xlog_replay_resume();\n\nHow it works: file-based backup\n-------------------------------\n\nThe following steps describe the process for how to perform data backup and\nrecovery with file-based backup images:\n\n1. Backup and DR agent is deployed in the database server.\n\n2. Mount staging disk on the database server.\n\n3. Invoke full backup using the dump backup command, writing the backup\n to the mounted disk.\n\n4. Backup and DR takes an internal snapshot.\n Log backups are done in a similar fashion directly from the file-system at\n any schedule that you configure.\n\n5. For data recovery, Backup and DR instantly mounts the staging disk\n to the database server and initiates the database restore operation.\n Logs can be played to any point in time after the database is restored.\n\n | **Note:** The `pg_dump` API doesn't have an option to capture incremental changes of a database, so each backup is a full database dump backup.\n\nWhat's next\n-----------\n\n[Prepare the database for Backup and DR](/backup-disaster-recovery/docs/configuration/otherdb-prep-database)\n\nOther documentation for Backup and DR for PostgreSQL\n----------------------------------------------------\n\n- [Backup and DR for PostgreSQL](/backup-disaster-recovery/docs/concepts/postgresql-intro)\n- [Prepare the database for Backup and DR](/backup-disaster-recovery/docs/configuration/otherdb-prep-database)\n- [Add a PostgreSQL database host and discover databases](/backup-disaster-recovery/docs/configuration/otherdb-add-host)\n- [Define policy templates and resource profiles](/backup-disaster-recovery/docs/create-plan/create-template)\n- [Set application details and settings](/backup-disaster-recovery/docs/backup/app-details-settings-otherdb)\n- [Check staging disk format and backup method](/backup-disaster-recovery/docs/backup/backup-method-staging-disk-otherdb)\n- [Protect the PostgreSQL database and its logs](/backup-disaster-recovery/docs/backup/otherdb-protect)\n- [Mount a PostgreSQL database](/backup-disaster-recovery/docs/access-data/otherdb-mounts)\n- [Recover PostgreSQL Backups](/backup-disaster-recovery/docs/restore-data/otherdb-restore)\n- [Create a PostgreSQL Backup and DR Workflow](/backup-disaster-recovery/docs/access-data/otherdb-workflow)"]]