【原创】PostgreSQL 增量备份详解以及相关示例
PostgreSQL没有类似MySQL的二进制日志,但是有和MySQL类似的REDOLOG,并且有MySQL没有的REDO归档功能。当然REDO的归档已经MariaDB和Percona-MySQL已经实现。那我
PostgreSQL 没有类似MySQL 的二进制日志, 但是有和MySQL 类似的REDO LOG,并且有MySQL 没有的REDO 归档功能。当然REDO 的归档已经MariaDB 和Percona-MySQL 已经实现。
那我们就利用PGSQL的REDO 归档,也叫WAL来实现增量备份。
假设我们已经做了一个物理的全备,并且相应的参数都已经设置完毕,比如以下:
那么关于WAL归档日志要注意的一点是,如果CRASH 掉了,那么没有归档的XLOG也可能没有提交到数据文件,,所以有可能这部分数据会丢失掉。所以在之后恢复的时候我们要把这部分XLOG拷贝到全备的对应目录。
恢复方法:
1. 确保没有任何业务对PG服务进行访问。(有可能这个时候PG已经CRASH掉了。) 2. 先停掉POSTGRESQL 服务。 3. cd /home/pgsql; 4. mv data data_old 6. cp -rfp /home/full_backup/* /home/pgsql (拷贝全备) 7. cp -rfp data_old/pg_xlog/000* data/pg_xlog/ (这里是拷贝自从最后一个增量和系统CRASH之间的XLOG到对应的目录。) 8. cd data 9. vi recovery.conf (添加recovery.conf文件,让PG认为这次是在恢复。) restore_command='test ! -f /home/increment_log/%f && cp /home/increment_log/%f %p' recovery_target_timeline = 'latest' 10. chown -R postgres.postgres recovery.conf 11. 启动postgresql 服务即可。如果正确恢复了,那么recovery.conf 会自动更名为recovery.done.
以我的机器为例,我的版本是9.3,PG_XLOG中看到的BACKUP 信息:
[root@postgresql-instance pg_xlog]# cat 000000010000000000000003.00000028.backup START WAL LOCATION: 0/3000028 (file 000000010000000000000003) STOP WAL LOCATION: 0/30000B8 (file 000000010000000000000003) CHECKPOINT LOCATION: 0/3000028 BACKUP METHOD: pg_start_backup BACKUP FROM: master START TIME: 2014-01-07 03:35:02 EST LABEL: ytt STOP TIME: 2014-01-07 03:36:27 EST日志中会看到恢复如下恢复信息:
LOG: 00000: starting archive recovery LOCATION: StartupXLOG, xlog.c:4983 LOG: 00000: redo starts at 0/3000028 LOCATION: StartupXLOG, xlog.c:5531 LOG: 00000: consistent recovery state reached at 0/303FC88本文出自 “上帝,咱们不见不散!” 博客,请务必保留此出处

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

MySQL et PostgreSQL : meilleures pratiques en matière de développement Web Introduction : dans le monde moderne du développement Web, les bases de données sont un composant essentiel. Lors du choix d'une base de données, les choix courants sont MySQL et PostgreSQL. Cet article couvrira les meilleures pratiques d'utilisation de MySQL et PostgreSQL dans le développement Web et fournira quelques exemples de code. 1. Scénarios applicables MySQL convient à la plupart des applications Web, en particulier celles qui nécessitent des performances élevées, une évolutivité et une facilité d'utilisation.

MySQL et PostgreSQL : comparaison des performances et conseils d'optimisation Lors du développement d'applications Web, la base de données est un composant indispensable. Lors du choix d'un système de gestion de base de données, MySQL et PostgreSQL sont deux choix courants. Ce sont tous deux des systèmes de gestion de bases de données relationnelles (SGBDR) open source, mais il existe certaines différences en termes de performances et d'optimisation. Cet article comparera les performances de MySQL et PostgreSQL et fournira quelques conseils d'optimisation. Comparaison des performances comparant deux gestions de bases de données

MySQL et PostgreSQL : sécurité des données et stratégies de sauvegarde Introduction : Dans la société moderne, les données sont devenues un élément indispensable de la vie professionnelle et personnelle. Pour les systèmes de gestion de bases de données, la sécurité des données et les stratégies de sauvegarde sont cruciales, à la fois pour protéger les données contre la perte ou l’endommagement et pour garantir la fiabilité et l’intégrité des données récupérées. Cet article se concentrera sur les stratégies de sécurité et de sauvegarde des données de deux systèmes de bases de données relationnelles grand public, MySQL et PostgreSQL. 1. Sécurité des données : (1) Droits des utilisateurs

Avec le développement de la technologie des bases de données, les systèmes de gestion de bases de données présentent également une variété de choix. Les développeurs peuvent choisir la base de données la plus adaptée en fonction de leurs besoins et préférences. En tant que système de base de données relationnelle open source avancé, PostgreSQL attire de plus en plus l'attention et l'utilisation des développeurs. Alors, comment utiliser la base de données PostgreSQL en programmation PHP ? 1. Installez et configurez la base de données PostgreSQL Avant d'utiliser PostgreSQL, vous devez l'installer et la configurer. d'abord

Apprenez les fonctions de la base de données dans le langage Go et implémentez les opérations d'ajout, de suppression, de modification et d'interrogation des données PostgreSQL. Dans le développement de logiciels modernes, la base de données est un élément indispensable. En tant que langage de programmation puissant, le langage Go fournit une multitude de fonctions et de boîtes à outils d'exploitation de base de données, qui peuvent facilement mettre en œuvre des opérations d'ajout, de suppression, de modification et d'interrogation de la base de données. Cet article explique comment apprendre les fonctions de base de données en langage Go et utiliser la base de données PostgreSQL pour les opérations réelles. Étape 1 : Installez le pilote de base de données en langage Go pour chaque base de données

Le langage Go est un langage de programmation rapide et efficace adapté à la création de services Web et d'applications back-end. PostgreSQL est un système de gestion de base de données relationnelle open source qui promet d'offrir une fiabilité, une évolutivité et une sécurité des données supérieures. Dans cet article, nous allons approfondir l'utilisation de PostgreSQL avec Go et fournir des exemples de code et des conseils pratiques. Installation et configuration de PostgreSQL Tout d'abord, nous devons installer et configurer PostgreSQL. Peut être trouvé sur le site officiel

Avec le développement d’Internet, la quantité de données ne cesse de croître et le besoin de gestion des données devient de plus en plus urgent. Les bases de données relationnelles sont un moyen important de gestion de données, parmi lequel PostgreSQL est populaire pour sa flexibilité, son évolutivité et sa sécurité. Cet article présente comment utiliser le langage PHP pour implémenter une base de données relationnelle PostgreSQL open source. J'espère qu'il sera utile aux développeurs ayant les besoins correspondants. Présentation PostgreSQL est un puissant système de base de données relationnelle qui suit le standard SQL et possède de nombreux

MySQL et PostgreSQL : Comment optimiser les performances des requêtes de base de données ? Présentation : les performances des requêtes de base de données sont une considération importante lors du développement d'applications. De bonnes performances de requête améliorent la réactivité des applications et l’expérience utilisateur. Cet article présentera quelques méthodes pour optimiser les performances des requêtes de base de données, en se concentrant sur deux bases de données couramment utilisées, MySQL et PostgreSQL. Optimisation des index de base de données : les index de base de données sont un facteur important dans l'amélioration des performances des requêtes. Les index peuvent accélérer la recherche de données et réduire le temps d'analyse des requêtes.
