In einer Produktionsumgebung ist regelm??ige Sicherung ein wesentlicher Aspekt der Datenbankverwaltung, unabh?ngig davon, wie gro? oder klein Ihre PostgreSQL -Datenbank sein mag. In diesem Artikel erfahren Sie, wie Sie eine PostgreSQL -Datenbank sichern und wiederherstellen.
Wir gehen davon aus, dass Sie bereits über eine funktionierende Installation des PostgreSQL -Datenbanksystems verfügen. Wenn nicht, lesen Sie unsere folgenden Artikel, um Postgresql auf Ihrer Linux -Verteilung zu installieren.
Sie k?nnten auch m?gen:
- So installieren Sie PostgreSQL von Source unter Linux
- So installieren Sie Postgresql und Pgadmin4 in Ubuntu 20.04
- So installieren Sie Postgresql 15 und Pgadmin in RHEL 9
- So installieren Sie Postgresql und Pgadmin in CentOS 8
- So installieren Sie Postgresql und Pgadmin in RHEL 8
Lass uns anfangen ...
Sicherung einer einzelnen Postgresql -Datenbank
PostgreSQL stellt das Dienstprogramm PG_DUMP zur Verfügung, mit dem Sie Datenbanken sichern k?nnen. Es generiert eine Datenbankdatei mit SQL -Befehlen in einem Format, das in Zukunft leicht wiederhergestellt werden kann.
Um eine PostgreSQL -Datenbank zu sichern, melden Sie sich zun?chst in Ihren Datenbankserver an, wechseln Sie dann zum Postgres -Benutzerkonto und führen Sie PG_DUMP wie folgt aus (ersetzen Sie tecmintdb
durch den Namen der Datenbank, die Sie sichern m?chten). Standardm??ig ist das Ausgabebildy eine SQL-Skriptdatei mit Ebenen.
<code>$ pg_dump <strong>tecmintdb</strong> > <strong>tecmintdb.sql</strong></code>
Der PG_DUMP unterstützt auch andere Ausgangsformate. Sie k?nnen das Ausgabeformat mit der Option -F
angeben, wobei c
Custom Format Archivdatei, d
-Verzeichnisformatarchiv und t
TAR -Formatarchivdatei bedeutet: Alle Formate sind für die Eingabe in PG_RESTORE geeignet.
Zum Beispiel:
<code>$ pg_dump -F c tecmintdb > tecmintdb.dump OR $ pg_dump -F t tecmintdb > tecmintdb.tar</code>
Um die Ausgabe im Verzeichnisausgabeformat abzugeben, verwenden Sie das Flag -f
(mit dem die Ausgabedatei angegeben wird), um das Zielverzeichnis anstelle einer Datei anzugeben. Das Verzeichnis, das von PG_DUMP erstellt wird, darf nicht existieren.
<code>$ pg_dump -F d tecmintdb -f tecmintdumpdir</code>
Verwenden Sie das PG_DUMPALL -Tool wie gezeigt, um alle PostgreSQL -Datenbanken zu sichern.
<code>$ pg_dumpall > all_pg_dbs.sql</code>
Sie k?nnen den Dump mit PSQL wie gezeigt wiederherstellen.
<code>$ psql -f all_pg_dbs.sql postgres</code>
Wiederherstellung einer PostgreSQL -Datenbank
Um eine PostgreSQL -Datenbank wiederherzustellen, k?nnen Sie die Dienstprogramme PSQL oder PG_RESTORE verwenden. PSQL wird verwendet, um Textdateien wiederherzustellen, die von PG_DUMP erstellt wurden, w?hrend PG_RESTORE verwendet wird, um eine PostgreSQL-Datenbank aus einem von PG_DUMP erstellten Archiv in einem der Nicht-Plain-Text-Formate (benutzerdefinierte, tar oder verzeichnis) wiederherzustellen.
Hier ist ein Beispiel für die Wiederherstellung einer einfachen Textdatei -Dump:
<code>$ psql <strong>tecmintdb</strong> tecmintdb.sql</code>
Wie oben erw?hnt, ist ein Custom-Format-Dump kein Skript für PSQL , daher muss er wie gezeigt mit pg_restore wiederhergestellt werden.
<code>$ pg_restore -d tecmintdb tecmintdb.dump OR $ pg_restore -d tecmintdb tecmintdb.tar OR $ pg_restore -d tecmintdb tecmintdumpdir</code>
Komprimierte PostgreSQL -Datenbanksicherung
Wenn die Datenbank, die Sie sichern, gro? ist und Sie eine ziemlich kleinere Ausgabedatei generieren m?chten, k?nnen Sie einen komprimierten Dump ausführen, in dem Sie die Ausgabe von PG_DUMP über ein Komprimierungswerkzeug wie GZIP oder einen Ihrer Favoriten filtern müssen:
<code>$ pg_dump <strong>tecmintdb</strong> | gzip > <strong>tecmintdb.gz</strong></code>
Wenn die Datenbank extrem gro? ist, k?nnen Sie parallel entwerfen, indem Sie Number_OF_JOBS -Tabellen gleichzeitig das -j
-Flag verwenden, wie gezeigt.
<code>$ pg_dump -F d -j 5 -f tecmintdumpdir</code>
Es ist wichtig zu beachten, dass die parallele Dump -Option die Zeit des Dumps verringert, aber andererseits erh?ht sie auch die Last auf dem Datenbankserver.
Backup Remote PostgreSQL -Datenbanken
PG_DUMP ist ein regul?res PostgreSQL -Client -Tool, es unterstützt Vorg?nge auf Remote -Datenbankservern. -p
den Remote -Datenbankserver anzugeben -h
Verwenden Sie au?erdem das Flag -U
-Flag, um den Namen des Datenbankrollennamens zu angeben, um eine Verbindung herzustellen.
Denken Sie daran, 10.10.20.10 und 5432 und TecmintDB durch Ihre Remote -Host -IP -Adresse oder Hostname, Datenbankport bzw. Datenbankname zu ersetzen.
<code>$ pg_dump -U tecmint -h 10.10.20.10 -p 5432 tecmintdb > tecmintdb.sql</code>
Stellen Sie sicher, dass der Benutzer, der eine remote -Verbindung über die erforderlichen Berechtigungen für den Zugriff auf die Datenbank hat, und die entsprechende Datenbankauthentifizierungsmethode auf dem Datenbankserver konfiguriert ist. Andernfalls erhalten Sie einen Fehler, der im folgenden Screenshot angezeigt wird.
Es ist auch m?glich, eine Datenbank direkt von einem Server auf einen anderen zu entfernen. Verwenden Sie die Dienstprogramme PG_DUMP und PSQL wie gezeigt.
<code>$ pg_dump -U tecmint -h 10.10.20.10 tecmintdb | pqsl -U tecmint -h 10.10.20.30 tecmintdb</code>
Auto Backup PostgreSQL -Datenbank mit einem Cron -Job
Sie k?nnen Backups in regelm??igen Abst?nden mit Cron -Jobs durchführen. Cron -Jobs sind ein h?ufig verwendetes Mittel zur Planung verschiedener Arten von Aufgaben, die auf einem Server ausgeführt werden.
Sie k?nnen einen Cron -Job so konfigurieren, dass die PostgreSQL -Datenbanksicherung wie folgt automatisiert wird. Beachten Sie, dass Sie die folgenden Befehle als Postgresql -Superuser ausführen müssen:
<code>$ mkdir -p /srv/backups/databases</code>
Führen Sie als n?chstes den folgenden Befehl aus, um das Crontab zu bearbeiten, um einen neuen Cron -Job hinzuzufügen.
<code>$ crontab -e</code>
Kopieren Sie die folgende Zeile am Ende des Crontab. Sie k?nnen eines der oben erl?uterten Dump -Formate verwenden.
<code>0 0 * * * pg_dump -U postgres tecmintdb > /srv/backups/postgres/tecmintdb.sql</code>
Speichern Sie die Datei und beenden Sie.
Der Cron -Service wird diesen neuen Job automatisch ohne Neustart ausführen. Und dieser Cron -Job l?uft jeden Tag um Mitternacht, er ist eine minimale L?sung für die Sicherungsaufgabe.
Weitere Informationen zum Planen von Cron -Jobs finden Sie unter: So erstellen und verwalten Sie Cron Jobs unter Linux
Das war's vorerst! Es ist eine gute Idee, Daten zu einem Teil Ihrer Datenbankverwaltungsroutine zu machen. Verwenden Sie das Feedback -Formular unten, um uns für Fragen oder Kommentare zu erreichen. Weitere Informationen finden Sie in den Referenzseiten PG_DUMP und PG_RESTORE.
Das obige ist der detaillierte Inhalt vonSo sichern und wiederherstellen Sie eine PostgreSQL -Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

überprüfen Sie bei der Begegnung mit DNS -Problemen zun?chst die Datei /etc/resolv.conf, um festzustellen, ob der richtige Namenserver konfiguriert ist. Zweitens k?nnen Sie ?ffentliche DNs wie 8,8,8,8 zum Testen manuell hinzufügen. Verwenden Sie dann die Befehle nslookup und digieren Sie, um zu überprüfen, ob die DNS -Aufl?sung normal ist. Wenn diese Tools nicht installiert sind, k?nnen Sie zuerst das DNSUTILS- oder BIND-UTILS-Paket installieren. überprüfen Sie dann den systemd-gel?sten Service-Status und die Konfigurationsdatei /etc/systemd/Resolved.conf und setzen Sie DNs und Fallbackdns nach Bedarf und starten Sie den Dienst neu. überprüfen Sie schlie?lich den Status und die Firewall -Regeln für Netzwerkschnittstellen und best?tigen Sie, dass Port 53 nicht ist

Als Systemadministrator k?nnen Sie sich (heute oder in Zukunft) in einer Umgebung arbeiten, in der Windows und Linux koexistieren. Es ist kein Geheimnis, dass einige gro?e Unternehmen einige ihrer Produktionsdienste in Windows -Boxen bevorzugen (oder müssen).

Node.js basiert auf Chrome's V8 Engine und ist eine offene, ereignisgesteuerte JavaScript-Laufzeitumgebung, die zum Aufbau skalierbarer Anwendungen und Backend-APIs hergestellt wurde. NodeJS ist dafür bekannt, dass sie aufgrund seines nicht blockierenden E/A-Modells leicht und effizient ist und effizient

In Linux-Systemen 1. IPA- oder Hostname-I-Befehl verwenden, um private IP anzuzeigen. 2. Verwenden Sie curlifconfig.me oder curlipinfo.io/ip, um ?ffentliche IP zu erhalten. 3. Die Desktop -Version kann private IP über Systemeinstellungen anzeigen, und der Browser kann auf bestimmte Websites zugreifen, um die ?ffentliche IP anzuzeigen. 4. Gemeinsame Befehle k?nnen als Aliase für einen schnellen Anruf festgelegt werden. Diese Methoden sind einfach und praktisch und für IP -Anzeigenanforderungen in verschiedenen Szenarien geeignet.

LinuxcanrunonModesthardwareWithSpecificMinimumRequirements Amshouldbeatleast512MBForCommand-LINEUSOR2GBFORTESKTOPENVIRMENTS.DIKSPACEREQUIRESAMINIMUMUMOF5–10 GB, obwohl25GBISBETTERFORAD

MySQL ist in C geschrieben und ist eine Open-Source, plattformübergreifend und eines der am h?ufigsten verwendeten relationalen Datenbankverwaltungssysteme (RDMS). Es ist ein wesentlicher Bestandteil des Lampenstacks und ein beliebtes Datenbankverwaltungssystem für Webhosting, Datenanalyse,

Ubuntu hat lange als Bastion von Bastion of Barrierefreiheit, Polnisch und Macht im Linux -?kosystem gelandet. Mit der Ankunft von Ubuntu 25.04, dem Codenamen ?Plucky Puffin“, hat Canonical erneut sein Engagement für die Bereitstellung eines gezeigt

MongoDB ist eine leistungsstarke, hochskalierbare dokumentorientierte NoSQL-Datenbank, die für den starken Verkehr und eine enorme Datenmenge erstellt wurde. Im Gegensatz zu herk?mmlichen SQL -Datenbanken, die Daten in Zeilen und Spalten in Tabellen speichern, strukturiert MongoDB Daten in einem j
