PostgreSQL Administration

Ähnliche Dokumente
Grundlagen der PostgreSQL Administration

IBM DB2 UNIX/Linux/Windows Backup und Hochverfügbarkeit mit HADR

Apache HTTP Server Administration

MySQL Administration. Seminarunterlage. Version 3.02 vom

Oracle Backup und Recovery mit RMAN

Unix/Linux Grundlagen für Einsteiger

Oracle Backup und Recovery

Solaris Virtualisierung mit ZFS und Container (Zonen)

IBM DB2 für Linux/Unix/Windows Monitoring und Tuning

Linux Hochverfügbarkeits-Cluster

Linux Hochverfügbarkeits-Cluster

IBM Informix Tuning und Monitoring

IBM Informix SQL. Seminarunterlage. Version vom

Continuous Integration (CI) Workshop

IBM DB2 für Unix/Linux/Windows SQL Grundlagen

Tomcat Konfiguration und Administration

Linux Cluster mit Pacemaker und Heartbeat 3

Big Data Informationen neu gelebt

Einführung in die objektorientierte Programmierung

IBM Informix Dynamic Server Hochverfügbarkeits-Technologien unter Unix

Oracle Datenbankadministration Grundlagen

Oracle Cloud Control. Seminarunterlage. Version vom

WildFly Application Server Administration

Grundlagen der PostgreSQL Administration. Timo Pagel

WebSphere Application Server Installation

Solaris 11 Systemadministration Grundlagen

Inhaltsverzeichnis. Lutz Fröhlich. PostgreSQL 9. Praxisbuch für Administratoren und Entwickler. ISBN (Buch):

Oracle Weblogic Administration Grundlagen

Oracle 12c Real Application Cluster (RAC) und Grid Infrastructure

Apache HTTP Server Administration

Oracle AWR und ASH Analyse und Interpretation

PHP Programmierung. Seminarunterlage. Version 1.02 vom

JSP und Servlet Programmierung

Oracle Flashback. in der Praxis Dr. Frank Haney 1

Java GUI Entwicklung mit Swing

Administration und Konfiguration für JBOSS

Oracle Datenbankprogrammierung mit PL/SQL Aufbau

IBM Informix Administration

Java Performance Tuning

Oracle Capacity Planning

PostgreSQL. Professionell und praxisnah. Jens Hartwig. An imprint of Pearson Education

P'X5 Sales Solution. Betriebshandbuch Version 10.0

Replikation mit PostgreSQL 9.2

Oracle 10g Einführung

Oracle Datenbankprogrammierung mit PL/SQL Grundlagen

PostgreSQL Wartungsstrategien

Hochverfügbarkeit mit physikalischer Standby-Datenbank. Ablösung EE / Data Guard durch SE One / Dbvisit Standby

Replikation mit PostgreSQL 9.0

MySQL Architektur die Admin-Sicht

Administration und Konfiguration für JBoss 7

MySQL für Datenbankadministratoren

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1

Oracle Database 12c: Backup and Recovery Workshop

IT-Projektcontrolling

Update-Installation ASV-BW ASV-BW. Stand: Kontaktdaten SCS: .

Dockerbank II. Block 2: Komplexbeispiel. Benjamin Baum 1, Christian Bauer 1

Data Warehouse Grundlagen

Installationsanleitung BalticScore 3.0

Installation unter LINUX mit PostgreSQL DB

Oracle Database 12c: Admin, Install and Upgrade Accelerated

Oracle Datenbank - Recovery

Oracle Database 11g: Administration Workshop I Neu

Datensicherheit und Hochverfügbarkeit

Aktualisierung zum Buch Windows und PostgreSQL

IBM DB2 für Linux/Unix/Windows Administration Grundlagen

Oracle Database 12c: Admin, Install and Upgrade Accelerated

Backup & Recovery bei Oracle

PostgreSQL unter Debian Linux

Inhalt. Vorwort Die Eigenschaften von PostgreSQL Das ideale DBMS Der Datenbankadministrator...59

Oracle PL/SQL für Experten - Performance Analyse und Laufzeitoptimierung

Oracle Database 12c: Backup and Recovery Workshop Ed 2

Postgresql. Michael Dienert. 10. Dezember Installationsort der Programme... 1

MySQL für Datenbankadministratoren

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Inhaltsverzeichnis. Geleitwort der Fachgutachterin Vorwort Einführung Architektur eines Oracle-Datenbanksystems...

Harald Armin Massa. Hochverfügbarkeit mit PostgreSQL - ein Überblick. Swiss PG Day Rapperswil

PostgreSQL im Cluster. Hans-Jürgen Schönig Hans-Jürgen Schönig

MySQL für Oracle DBA's

Hochverfügbarkeit mit AlwaysOn für die SSISDB. Stefan Grigat,

Leseprobe. Lutz Fröhlich. PostgreSQL 9. Praxisbuch für Administratoren und Entwickler. ISBN (Buch):

PostgreSQL replizieren Jetzt erst Recht!

Manuelle PostgreSQL Installation

Arbeiten mit einem lokalen PostgreSQL-Server

Veeam und Microsoft. Marco Horstmann System Engineer, Veeam

Intrexx Hochverfügbarkeit


Datenbanken: Architektur & Komponenten 3-Ebenen-Architektur

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R2: Administration II

Übung 5. Implementierung einer Datenbank. Prof. Dr. Andreas Schmietendorf 1. Übung 5

PostgreSQL in der Praxis - Replikation und Hochverfügbarkeit

TOAD und Performance Tuning

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Transkript:

Seminarunterlage Version: 2.4 Version 2.4 vom 6. Februar 2018

Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Firmen und beziehen sich auf Eintragungen in den USA oder USA-Warenzeichen. Weitere Logos und Produkt- oder Handelsnamen sind eingetragene Warenzeichen oder Warenzeichen der jeweiligen Unternehmen. Kein Teil dieser Dokumentation darf ohne vorherige schriftliche Genehmigung der weitergegeben oder benutzt werden. Die besitzt folgende Geschäftsstellen Adressen der Karl-Schurz-Straße 19a D-33100 Paderborn Tel.: (+49) 0 52 51 / 10 63-0 An der alten Ziegelei 5 D-48157 Münster Tel.: (+49) 02 51 / 9 24 35 00 Welser Straße 9 D-86368 Gersthofen Tel.: (+49) 08 21 / 507 492 0 Kreuzberger Ring 13 D-65205 Wiesbaden Tel.: (+49) 06 11 / 7 78 40 00 Wikingerstraße 18-20 D-51107 Köln Tel.: (+49) 02 21 / 8 70 61 0 Internet: http://www.ordix.de Email: seminare@ordix.de Seite 2 Version: 2.4

Inhaltsverzeichnis 1 Architektur und Features... 7 1.1 Überblick... 8 1.1.1 Überblick RDBMS... 8 1.1.2 Ursprung von PostgreSQL... 11 1.1.3 Bezugsquellen und Dokumentation... 12 1.1.4 Lizenzmodell... 13 1.1.5 Entwicklungsschritte... 14 1.1.6 PostgreSQL Features... 15 1.1.7 Grenzen von PostgreSQL... 17 1.1.8 Features ab Version 10... 18 1.2 Begriffsdefinitionen... 19 1.2.1 Datenbank-Cluster... 19 1.2.2 Write-Ahead-Log (WAL)... 20 1.2.3 Tablespaces... 21 1.2.4 Tupel... 22 1.2.5 Pages... 23 1.2.5.1 Aufbau einer Page... 23 1.2.5.2 Dirty Page... 24 1.2.6 Checkpoint... 25 1.3 PostgreSQL-Prozesse... 27 1.3.1 Überblick... 27 1.3.2 Prozesse... 28 1.3.2.1 Serverprozesse... 28 1.3.2.2 Serverprozess postgres... 29 1.3.2.3 Backendprozess postgres... 30 1.3.2.4 Hintergrundprozesse... 31 1.3.2.5 Background Writer... 32 1.3.2.6 WAL-Writer... 33 1.4 PostgreSQL-Konzepte... 34 1.4.1 MVCC... 34 1.4.2 TOAST... 35 1.4.3 Transaction Isolation... 36 2 Installation... 38 2.1 Voraussetzungen... 39 2.2 Kerneleinstellungen... 41 2.3 Benutzer postgres... 42 2.4 Installationsvarianten... 43 2.4.1 Überblick... 43 2.4.2 Installation über Repository... 44 2.4.3 Installation mit rpm... 45 2.4.4 Installation vom Quellcode... 47 2.4.5 Installer EnterpriseDB... 49 2.4.5.1 EnterpriseDB ohne GUI... 49 2.4.5.2 EnterpriseDB mit GUI... 50 2.5 Besonderheiten anderer Betriebssysteme... 52 3 Ersteinrichtung... 54 3.1 Umgebungsvariablen... 55 3.2 Initialisierung des Clusters... 57 3.3 Datenbankstruktur... 60 3.3.1 Physikalische und logische Datenbankstruktur... 60 3.3.2 Data-Ordner... 61 3.3.2.1 Ordnerstruktur PGDATA... 61 3.3.2.2 Ordner base und OID... 62 3.3.2.3 Ordner global... 63 3.3.2.4 Ordner pg_log... 64 3.3.2.5 Ordner pg_tblsp... 65 Version: 2.4 Seite 3

3.3.2.6 Ordner pg_xlog... 66 3.4 Instanz-Owner... 67 3.5 Modus ändern mit pg_ctl... 68 3.6 Voreinstellungen abfragen... 69 4 Arbeiten mit PostgreSQL... 70 4.1 psql... 71 4.1.1 Allgemeines zu psql... 71 4.1.2 Verbindungsaufbau... 72 4.1.3 Kurzbefehle... 73 4.1.3.1 Hilfe und Dateibearbeitung... 73 4.1.3.2 Objekte anzeigen... 74 4.1.3.3 Weitere Kommandos... 75 4.1.3.4 Anzeige modifizieren... 76 4.2 postgresql.conf... 78 4.3 ALTER SYSTEM... 80 4.4 Erstkonfiguration... 82 4.4.1 Verbindungen und Authentifizierung... 82 4.4.2 Server-Logging... 83 4.4.3 Write Ahead Log (WAL)... 85 4.5 pg_hba.conf... 87 4.6 Tablespaces... 90 4.6.1 CREATE TABLESPACE... 90 4.6.2 ALTER TABLESPACE... 91 4.6.3 Standard Tablespaces... 92 4.7 Arbeiten mit Datenbanken... 93 4.7.1 Templates... 93 4.7.2 Datenbanken erstellen und löschen... 95 4.7.3 Standardschemata... 97 4.7.4 Systemkatalog... 98 4.7.5 Schema information_schema... 101 4.7.6 Extensions... 103 4.7.6.1 Allgemeines zu Extensions... 103 4.7.6.2 Kompilation neuer Extensions... 104 4.7.6.3 Einbinden von Extensions... 105 4.7.6.4 CREATE EXTENSION... 106 4.7.6.5 Wichtige Extensions... 107 5 Tools... 109 5.1 Überblick... 110 5.2 Be- und Entladen von Tabellen... 111 5.3 Checkpoint... 113 5.4 Funktionen... 114 5.5 WAL wechseln... 115 5.6 Tabellendefinition... 116 5.7 Transaktionen beenden... 117 5.8 pgadmin4... 118 5.9 Monitoring Dashboard... 120 6 Benutzerverwaltung... 121 6.1 Schemata... 122 6.2 User und Zugriffsrechte... 123 6.2.1 Rollen und User... 123 6.2.2 Zugriffsrechte... 126 6.2.2.1 Zugriffsrechte für Rollen vergeben... 126 6.2.2.2 Zugriffsrechte für Tabellen vergeben... 127 6.2.2.3 Zugriffsrechte entziehen... 128 6.2.2.4 Zugriffsrechte anzeigen... 129 6.3 pg_ident.conf... 130 Seite 4 Version: 2.4

6.4 User Mapping... 132 7 Backup und Restore... 136 7.1 Überblick... 137 7.2 Arten von Backups... 138 7.3 SQL-Dump... 139 7.4 File System Level Backup... 145 7.5 SQL-Dump vs. Archive Backup... 147 7.6 Continuous Archiving und Point-in-Time Recovery... 148 7.7 Backup... 149 7.7.1 Vorbereitung... 149 7.7.2 Manuelles Backup... 151 7.7.3 Backup mit pg_basebackup... 152 7.7.4 Tablespace-Backup... 154 7.8 Restore... 156 7.8.1 Normales Restore... 156 7.8.2 Tablespace Restore... 157 7.8.3 Point-In-Time-Recovery (PITR)... 159 7.8.4 Restore über Timelines... 160 7.9 Zusammenfassung Backup-Funktionen... 161 8 Hochverfügbarkeit... 162 8.1 Überblick Hochverfügbarkeit... 163 8.2 Gründe für Hochverfügbarkeit... 164 8.3 Arten von Hochverfügbarkeit... 165 8.3.1 Log-Shipping... 166 8.3.2 Streaming Replication... 169 8.3.3 Log-Shipping vs. Streaming Replication... 172 8.3.4 Hot Standby... 173 8.3.5 Cascading Replication... 174 8.3.6 Synchronous Replication... 175 8.4 Dass Kommando pg_standby... 176 8.5 Replication Slots... 177 8.6 Failover... 178 8.7 Switchover... 179 8.8 Konfigurationsparameter... 180 8.9 Funktionen... 182 9 Tuning... 183 9.1 Überblick... 184 9.2 VACUUM... 185 9.2.1 Was ist VACUUM?... 185 9.2.2 Der Befehl VACUUM... 186 9.2.3 VACUUM ausführen... 187 9.2.4 VACUUM - Speicherplatz freigeben... 188 9.2.5 VACUUM Datenbankstatistiken aktualisieren... 190 9.2.6 VACUUM - Beschleunigung... 191 9.2.7 VACUUM Datenverlust vorbeugen... 192 9.3 Der Befehl ANALYZE... 193 9.4 Parametertuning... 194 9.4.1 Speichernutzung... 194 9.4.2 Checkpointzeiten... 196 10 Security... 197 10.1 Überblick... 198 10.2 SSL... 199 10.3 Überwachung mit pg_audit... 204 10.4 Verschlüsselung mit pgcrypto... 208 11 Advanced... 211 Version: 2.4 Seite 5

11.1 Überblick... 212 11.2 Upgrade... 213 11.2.1 Version... 213 11.2.2 Upgrademöglichkeiten... 214 11.2.3 Minor Update... 215 11.2.4 Major Update... 216 11.2.5 Upgrade mit pg_upgrade... 217 11.2.6 Mögliche Fehler... 219 11.3 Fehleranalyse... 220 11.3.1 Checksums erstellen... 220 11.3.2 Extension pageinspect... 221 11.4 Weitere Extensions... 225 11.4.1 pg_trgm... 225 12 Übungen... 230 12.1 Architektur und Features... 231 12.2 Installation... 232 12.3 Ersteinrichtung... 234 12.4 Arbeiten mit PostgreSQL... 236 12.5 Tools... 242 12.6 Benutzerverwaltung... 244 12.7 Backup und Restore... 245 12.8 Hochverfügbarkeit... 247 12.9 Tuning... 249 12.10 Security... 250 12.11 Advanced... 252 Seite 6 Version: 2.4