Fröhlich PostgreSQL 10
1. Auflage 2018
ISBN: 978-3-446-45641-9
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark
Praxisbuch für Administratoren und Entwickler
E-Book, Deutsch, 489 Seiten
ISBN: 978-3-446-45641-9
Verlag: Carl Hanser
Format: PDF
Kopierschutz: 1 - PDF Watermark
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
1;Inhalt;7
2;1 Einführung und Geschichte;13
2.1;1.1 Die Geschichte von PostgreSQL;14
2.2;1.2 Verwendete Version;15
2.3;1.3 Konventionen;15
2.4;1.4 Software und Skripte;15
3;2 Installation aus Paketen und Quellcode;17
3.1;2.1 Paketinstallation;17
3.1.1;2.1.1 Paketinstallation unter Linux;17
3.1.2;2.1.2 Paketinstallation unter Windows;18
3.2;2.2 Installation aus dem Quellcode;20
3.2.1;2.2.1 Installation aus dem Quellcode unter Linux;20
3.2.2;2.2.2 Installation aus dem Quellcode unter Windows;21
3.3;2.3 Erste Schritte;24
4;3 Upgrade auf Version 10;29
4.1;3.1 Upgrade mit pg_dumpall;29
4.2;3.2 Upgrade mit pg_upgrade;31
4.3;3.3 Migration nach Native Partitioning;33
4.4;3.4 Regressionstests;35
5;4 Die Architektur von PostgreSQL;37
5.1;4.1 Überblick;37
5.2;4.2 Memory und Prozesse;38
5.2.1;4.2.1 Hintergrundprozesse;39
5.2.2;4.2.2 Der Shared Memory;41
5.3;4.3 VACUUM;49
5.4;4.4 Cluster, Datenbanken und Tabellen;52
6;5 Server und Datenbanken administrieren;57
6.1;5.1 Parameter-Einstellungen;57
6.1.1;5.1.1 Einstellungen im Betriebssystem;57
6.1.2;5.1.2 Cluster-Einstellungen;59
6.1.3;5.1.3 Gebietsschema und Zeichensatz;69
6.2;5.2 Datenbanken verwalten;72
6.3;5.3 Konkurrenz;75
6.4;5.4 Die WAL-Archivierung einschalten;78
6.5;5.5 Wartungsaufgaben;80
6.5.1;5.5.1 VACUUM;80
6.5.2;5.5.2 ANALYZE;83
6.6;5.6 Nützliche Skripte und Hinweise;83
6.6.1;5.6.1 Eine Passwortdatei verwenden;84
6.6.2;5.6.2 Welche Parameter sind Nicht-Standard?;84
6.6.3;5.6.3 Eine Session killen;85
6.6.4;5.6.4 Eine Tabelle nach Excel kopieren;85
6.6.5;5.6.5 Die Datei .psqlrc;86
6.6.6;5.6.6 Einen WAL-Switch manuell auslösen;87
6.6.7;5.6.7 Die PostgreSQL-Server-Logdatei in eine Tabelle laden;87
6.6.8;5.6.8 Automatisches Rotieren von Logdateien;88
6.6.9;5.6.9 Nicht verwendete Indexe identifizieren;88
6.6.10;5.6.10 Microsoft Excel als Datenbank-Client;89
6.6.11;5.6.11 Den Inhalt der Kontrolldatei ausgeben;91
6.6.12;5.6.12 Platzverbrauch von Tabellen;92
6.6.13;5.6.13 Die Anzahl von Verbindungen begrenzen;92
6.6.14;5.6.14 Tabellen und Indexe in einen anderen Tablespace legen;93
6.6.15;5.6.15 Temporäre Dateien verwalten;94
6.6.16;5.6.16 Lang laufende SQL-Anweisungen;94
6.7;5.7 Beispielschemata;95
7;6 Neue Features;97
7.1;6.1 Neue Features in Version 10;97
7.1.1;6.1.1 Native Table Partitioning;98
7.1.2;6.1.2 Paralleles SQL;100
7.1.3;6.1.3 Logische Replikation;100
7.1.4;6.1.4 Änderungen der Architektur;102
7.1.5;6.1.5 SQL-Anweisungen;104
7.1.6;6.1.6 Monitoring;110
7.1.7;6.1.7 Werkzeuge;111
7.1.8;6.1.8 Konfigurationsparameter;114
7.2;6.2 Neue Features in den Versionen 9.2 bis 9.6;114
7.2.1;6.2.1 Backend;114
7.2.2;6.2.2 Replikation;115
7.2.3;6.2.3 Performance;116
8;7 Sicherung und Wiederherstellung;117
8.1;7.1 Online-Sicherung mit Point-in-time-Recovery;118
8.2;7.2 Offline-Sicherung auf Dateisystemebene;123
8.3;7.3 SQL Dump;123
9;8 Sicherheit und Überwachung;129
9.1;8.1 Sicherheit;130
9.1.1;8.1.1 Rollen und Privilegien;130
9.1.2;8.1.2 Authentifizierung und Zugangskontrolle;137
9.1.3;8.1.3 Rechteverwaltung;139
9.1.4;8.1.4 Sichere Verbindungen;144
9.1.5;8.1.5 Out-of-the-box-Sicherheit;148
9.1.6;8.1.6 Hacker-Attacken abwehren;149
9.2;8.2 Überwachung;154
9.2.1;8.2.1 Auditing;154
9.2.2;8.2.2 Monitoring;156
10;9 Replikation zwischen Clustern;163
10.1;9.1 Physische Replikation;164
10.1.1;9.1.1 Vorbereitung und Planung;164
10.1.2;9.1.2 Konfiguration und Aktivierung;165
10.1.3;9.1.3 Kaskadenförmige Replikation;169
10.1.4;9.1.4 Hot Standby;170
10.1.5;9.1.5 Synchrone Replikation;171
10.1.6;9.1.6 Die Replikation überwachen;173
10.1.7;9.1.7 Failover und Switchover;175
10.2;9.2 Logische Replikation;180
10.3;9.3 Logical Decoding;186
10.3.1;9.3.1 Logical Decoding mit Java als Consumer;187
11;10 Das Regelsystem;191
11.1;10.1 Das Regelsystem für SELECT-Anweisungen;192
11.2;10.2 Das Regelsystem für DML-Anweisungen;193
11.3;10.3 Regeln und Views;197
12;11 Performance Tuning;199
12.1;11.1 Out-of-the-box-Tuning;199
12.1.1;11.1.1 Goldene Regeln für neue Server und Datenbanken;200
12.1.2;11.1.2 Das Utility „pgTune“;201
12.1.3;11.1.3 Optimierung von Memory-Parametern;202
12.2;11.2 Performance-Analyse;205
12.2.1;11.2.1 Analyse mit dem „Statistics Collector“;205
12.2.2;11.2.2 Der Background Writer;212
12.2.3;11.2.3 Analyse mit „pgstatspack“;213
13;12 Optimierung von SQL-Anweisungen;217
13.1;12.1 Ausführungsschritte;218
13.2;12.2 Der SQL-Optimizer;219
13.3;12.3 Statistiken und Histogramme;220
13.4;12.4 Zugriffsmethoden;223
13.5;12.5 Join-Methoden;224
13.6;12.6 SQL-Optimierung;227
13.6.1;12.6.1 Der EXPLAIN-Befehl;228
13.6.2;12.6.2 Ausführungspläne verstehen und optimieren;231
14;13 Einsatz großer Datenbanken;241
14.1;13.1 Partitionierung von Tabellen;242
14.1.1;13.1.1 Native Table Partitioning;242
14.2;13.2 Paralleles SQL;245
14.3;13.3 Materialized Views;250
14.4;13.4 BRIN-Indexe;252
15;14 PostGIS;257
15.1;14.1 PostGIS und PostgreSQL;257
15.2;14.2 PostGIS installieren;258
15.2.1;14.2.1 Paketorientierte Installation;258
15.2.2;14.2.2 Installation aus dem Quellcode;261
15.3;14.3 Erste Schritte mit PostGIS;262
15.4;14.4 PostGIS in der Praxis anwenden;267
16;15 Applikationen für PostgreSQL entwickeln;273
16.1;15.1 Applikationsdesign;273
16.2;15.2 Entwicklungswerkzeuge;277
16.3;15.3 PostgreSQL Extensions;278
17;16 SQL-Erweiterungen;281
17.1;16.1 Datentypen;281
17.2;16.2 Funktionen und Sprachen;282
17.2.1;16.2.1 SQL-Funktionen;283
17.2.2;16.2.2 Funktionen mit prozeduralen Programmiersprachen;287
17.2.3;16.2.3 C-Funktionen;291
17.3;16.3 Operatoren;296
17.4;16.4 Das Extension-Netzwerk;298
17.4.1;16.4.1 Extensions entwickeln;299
17.4.2;16.4.2 Extensions publizieren;302
18;17 PL/pgSQL-Funktionen und Trigger;307
18.1;17.1 PL/pgSQL-Funktionen;307
18.1.1;17.1.1 Abfragen und Resultsets;311
18.1.2;17.1.2 Cursor verwenden;313
18.1.3;17.1.3 DML-Anweisungen;315
18.1.4;17.1.4 Dynamische SQL-Anweisungen;317
18.1.5;17.1.5 Fehlerbehandlung;318
18.2;17.2 Trigger;319
19;18 Embedded SQL (ECPG);323
20;19 Java-Programmierung;333
20.1;19.1 Eine Entwicklungsumgebung einrichten;333
20.2;19.2 Verarbeitung von Resultsets;336
20.3;19.3 DML-Anweisungen und Transaktionen;339
20.4;19.4 Bindevariablen verwenden;341
20.5;19.5 Java und Stored Functions;342
20.6;19.6 Large Objects;346
20.7;19.7 JDBC-Tracing;350
21;20 Die C-Library libpq;353
21.1;20.1 Die Entwicklungsumgebung einrichten;353
21.2;20.2 Programme mit „libpq“ erstellen;358
22;21 PHP-Applikationen;371
22.1;21.1 Installation und Konfiguration;372
22.2;21.2 Applikationen mit PHP entwickeln;374
22.3;21.3 Die PDO-API;382
23;22 Client-Programmierung mit Perl-DBI;385
23.1;22.1 SELECT-Anweisungen und Resultsets;388
23.2;22.2 DML-Anweisungen;392
23.3;22.3 Bindevariablen verwenden;393
23.4;22.4 Fehlerbehandlung und Tracing;395
23.5;22.5 Nützliche Skripte und Beispiele;398
23.5.1;22.5.1 Mehrere Server abfragen;398
23.5.2;22.5.2 Parallele Verbindungen;399
23.5.3;22.5.3 Large Objects verarbeiten;402
23.5.4;22.5.4 Asynchrone Abfragen;402
23.5.5;22.5.5 Datenbanken vergleichen;403
24;23 Large Objects;407
25;24 PostgreSQL in die IT-Landschaft einbinden;413
25.1;24.1 Features und Funktionen;413
25.2;24.2 Datensicherheit und Wiederherstellung;414
25.3;24.3 Desaster Recovery;415
25.4;24.4 Überwachung;416
25.5;24.5 Administrierbarkeit;416
25.6;24.6 Verfügbarkeit;417
25.7;24.7 Datensicherheit und Auditing;418
25.8;24.8 Performance und Skalierbarkeit;418
25.9;24.9 Schnittstellen und Kommunikation;419
25.10;24.10 Support;420
25.11;24.11 Fazit;420
26;25 Migration von MySQL-Datenbanken;421
26.1;25.1 Unterschiede zwischen MySQL und PostgreSQL;421
26.2;25.2 Eine Migration durchführen;423
27;26 Von Oracle nach PostgreSQL migrieren;429
27.1;26.1 Die Migration planen;429
27.2;26.2 Unterschiede zwischen Oracle und PostgreSQL;431
27.2.1;26.2.1 Unterschiede der Datentypen;431
27.2.2;26.2.2 Syntaktische und logische Unterschiede;432
27.2.3;26.2.3 Steigerung der Kompatibilität von PostgreSQL;435
27.3;26.3 Portierung von Oracle PL/SQL;436
27.4;26.4 Tools zur Unterstützung der Migration;439
27.5;26.5 Technisches Vorgehen;441
27.6;26.6 Ein Migrationsbeispiel;441
27.6.1;26.6.1 Manuelle Migration;442
27.6.2;26.6.2 Migration unter Verwendung von „Ora2Pg“;448
27.6.3;26.6.3 Große Tabellen laden;452
28;27 Replikation zwischen Oracle und PostgreSQL;455
28.1;27.1 Datenbanklink zwischen Oracle und PostgreSQL;455
28.2;27.2 Replikation mit Oracle XStream;461
29;28 PostgreSQL in der Cloud;475
29.1;28.1 Private Cloud;476
29.2;28.2 Public Cloud;478
30;Index;481