Fröhlich PostgreSQL 9
1. Auflage 2012
ISBN: 978-3-446-42932-1
Verlag: Hanser, Carl
Format: PDF
Kopierschutz: Wasserzeichen (»Systemvoraussetzungen)
Praxisbuch für Administratoren und Entwickler
E-Book, Deutsch, 306 Seiten
ISBN: 978-3-446-42932-1
Verlag: Hanser, Carl
Format: PDF
Kopierschutz: Wasserzeichen (»Systemvoraussetzungen)
POSTGRESQL 9 //- Administration und Programmierung der Open Source-Datenbank- Die Version 9 mit vielen neuen Features- Migration von und Replikation mit anderen Datenbanksystemen- Einbindung in die IT-Landschaft- Im Internet: Die Programme und Skripte aus dem Buch unter http://downloads.hanser.deWenn Sie als Administrator, Entwickler oder IT-/System-Architekt PostgreSQL professionell und erfolgreich in der Praxis einsetzen wollen, finden Sie in diesem Arbeitsbuch die richtige Unterstützung. Administratoren bietet es Anleitung beim täglichen Datenbankbetrieb sowie detaillierte Informationen und Praxistipps zu Themen wie Backup and Recovery, Sicherheit und Überwachung, Performance Tuning oder Hochverfügbarkeit. Einen weiteren Schwerpunkt bildet die Replikation von und nach anderen Datenbanksystemen. IT-Architekten, System-Designer und IT-Manager erfahren, wie PostgreSQL kostengünstig in eine bestehende IT-Infrastruktur platziert werden kann und effektiv mit anderen Datenbanksystemen, wie z.B. Oracle, zusammenarbeitet. Entwickler lernen, wie robuste und performante Datenbankapplikationen erstellt werden und erhalten außerdem einen Leitfaden für den Umstieg von Oracle auf PostgreSQL.AUS DEM INHALT:Konfiguration von Cluster und Datenbank // Hot Standby und Streaming Replication // Entwicklung von Applikationen für PostgreSQL // Replikation zwischen PostgreSQL und Oracle // PostGIS Spatial Database // PostgreSQL in die IT-Landschaft einbinden
Autoren/Hrsg.
Weitere Infos & Material
1;Inhalt;6
2;1 Einführung und Geschichte;12
2.1;1.1 Einführung und Motivation;12
2.2;1.2 Die Geschichte von PostgreSQL;13
2.3;1.3 Verwendete Version;14
2.4;1.4 Konventionen;14
3;2 Installation und Quellen;16
3.1;2.1 Paketinstallation;16
3.2;2.2 Installation aus dem Quellcode;18
3.2.1;2.2.1 Installation aus dem Quellcode unter Linux;18
3.2.2;2.2.2 Installation aus dem Quellcode unter Windows;20
3.3;2.3 Erste Schritte;21
4;3 Server und Datenbank konfigurieren und administrieren;26
4.1;3.1 Parameter-Einstellungen vornehmen;26
4.1.1;3.1.1 Parameter für System-Ressourcen;27
4.1.2;3.1.2 Parameter für Write Ahead Log (WAL) und Checkpoints;29
4.1.3;3.1.3 Parameter für den Background Writer;30
4.1.4;3.1.4 Parameter für Archivierung, Streaming Replication und Standby-Server;31
4.1.5;3.1.5 Parameter für Verbindung und Authentifizierung;32
4.1.6;3.1.6 Parameter für Client-Standards;33
4.1.7;3.1.7 Parameter für VACUUM;34
4.1.8;3.1.8 Parameter für SQL Tuning;34
4.1.9;3.1.9 Parameter für Logging und Tracing;35
4.1.10;3.1.10 Benutzerspezifische Parameter;37
4.1.11;3.1.11 Parameter für Entwickler;37
4.2;3.2 Die WAL-Archivierung einschalten;38
4.3;3.3 Authentifizierung von Clients;40
4.4;3.4 Einen Connection Pool aufsetzen;42
4.5;3.5 Concurrency;44
4.6;3.6 Datenbanken verwalten;46
4.7;3.7 Wartungsaufgaben;51
4.7.1;3.7.1 VACUUM;51
4.7.2;3.7.2 ANALYZE;55
4.8;3.8 Nützliche Skripte und Hinweise;55
4.8.1;3.8.1 Eine Passwort-Datei verwenden;56
4.8.2;3.8.2 Welche Parameter sind Nicht-Standard?;56
4.8.3;3.8.3 Eine Session killen;56
4.8.4;3.8.4 Ein Tabelle nach Excel kopieren;57
4.8.5;3.8.5 Die Datei .psqlrc;58
4.8.6;3.8.6 Einen WAL-Switch manuell auslösen;58
4.8.7;3.8.7 Die PostgreSQL-Server Log-Datei in eine Tabelle laden;59
4.8.8;3.8.8 Automatisches Rotieren von Log-Dateien;59
4.8.9;3.8.9 Nicht verwendete Indexe identifizieren;60
4.8.10;3.8.10 Microsoft Excel als Datenbank-Client;60
4.8.11;3.8.11 Den Inhalt der Kontrolldatei ausgeben;61
4.8.12;3.8.12 Platzverbrauch von Tabellen;62
4.8.13;3.8.13 Die Anzahl von Verbindungen begrenzen;63
4.8.14;3.8.14 Tabellen und Indexe in eine andere Tablespace legen;64
4.8.15;3.8.15 Updateable Views;65
4.8.16;3.8.16 Temporäre Tablespaces verwalten;66
4.8.17;3.8.17 Lang laufende SQL-Anweisungen;66
5;4 Sicherung und Wiederherstellung;68
5.1;4.1 SQL Dump;68
5.2;4.2 Offline-Sicherung auf Dateisystem-Ebene;72
5.3;4.3 Online-Sicherung mit Point-in-time-Recovery;73
5.4;4.4 Funktionen zur Sicherung und Wiederherstellung;76
6;5 Sicherheit und Überwachung;78
6.1;5.1 Sicherheit;79
6.1.1;5.1.1 Datenbank-Rollen und -Privilegien;79
6.1.2;5.1.2 Authentifizierung und Zugangskontrolle;85
6.1.3;5.1.3 Rechteverwaltung (Privilegien);87
6.1.4;5.1.4 Optionen für die Verschlüsselung;92
6.1.5;5.1.5 Out-of-the-box-Sicherheit;95
6.2;5.2 Hacker-Attacken abwehren;97
6.2.1;5.2.1 Brute-Force-Attacken;97
6.2.2;5.2.2 Network Spoofing;99
6.2.3;5.2.3 SQL Injection;100
6.3;5.3 Überwachung;101
6.3.1;5.3.1 Auditing;102
6.3.2;5.3.2 Monitoring;104
7;6 Performance Tuning;110
7.1;6.1 PostgreSQL Server-Tuning;110
7.1.1;6.1.1 Goldene Regeln für neue Server und Datenbanken;111
7.1.2;6.1.2 Tuning mit „pgtune“;112
7.1.3;6.1.3 Optimierung der Memory-Parameter;113
7.2;6.2 Performance-Analyse;116
7.2.1;6.2.1 Analyse mit dem „Statistics Collector“;116
7.2.2;6.2.2 Der Background Writer;119
7.2.3;6.2.3 Analyse mit „pgstatspack“;120
7.3;6.3 Partitionierung;125
7.3.1;6.3.1 Vererbung von Tabellen;126
7.3.2;6.3.2 Tabellen partitionieren;127
7.4;6.4 Benchmarks;129
7.4.1;6.4.1 Ein TPCC-Benchmark;131
7.4.2;6.4.2 Fazit des Benchmarks;135
8;7 Hot Standby und Streaming Replication;136
8.1;7.1 Eine Standby-Datenbank aufsetzen;137
8.1.1;7.1.1 Vorbereitung und Planung;137
8.1.2;7.1.2 Konfiguration und Aktivierung;138
8.1.3;7.1.3 Streaming Replication einsetzen;141
8.1.4;7.1.4 Die Replikation überwachen;142
8.1.5;7.1.5 Synchrone Replikation;142
8.2;7.2 Eine Hot-Standby-Datenbank betreiben;143
8.3;7.3 Failover und Switchover;146
9;8 Entwicklung von Applikationen für PostgreSQL;150
9.1;8.1 Client-Programmierung;150
9.1.1;8.1.1 Die PostgreSQL Frontend Library „libpq“;150
9.1.2;8.1.2 PostgreSQL-Applikationen mit Java entwickeln;163
9.2;8.2 Server-Programmierung;172
9.2.1;8.2.1 Integrierte Prozedurale Sprachen;172
9.2.2;8.2.2 Trigger;194
9.2.3;8.2.3 SQL erweitern;196
10;9 Das Regelsystem;202
10.1;9.1 Das Regelsystem für SELECT-Anweisungen;203
10.2;9.2 Das Regelsystem für DML-Anweisungen;204
10.3;9.3 Regeln und Views;207
11;10 Optimierung von SQL-Anweisungen;210
11.1;10.1 Der Query Optimizer;210
11.2;10.2 Indexe effektiv einsetzen;212
11.3;10.3 Optimierung von SQL-Anweisungen;215
11.3.1;10.3.1 Der EXPLAIN-Befehl;216
11.3.2;10.3.2 Ausführungspläne verstehen;219
12;11 PostGIS;224
12.1;11.1 PostGIS und PostgreSQL;224
12.2;11.2 PostGIS installieren;225
12.2.1;11.2.1 Paketorientierte Installation;225
12.2.2;11.2.2 Installation aus dem Quellcode;227
12.3;11.3 Erste Schritte mit PostGIS;227
12.4;11.4 SQL-Abfragen in PostGIS;233
13;12 PostgreSQL in die IT-Landschaft einbinden;236
13.1;12.1 Funktionen und Features;236
13.2;12.2 Datensicherung und Wiederherstellung;237
13.3;12.3 Desaster Recovery (DR);238
13.4;12.4 Überwachung;239
13.5;12.5 Administrierbarkeit;239
13.6;12.6 Verfügbarkeit;240
13.7;12.7 Datensicherheit und Auditing;240
13.8;12.8 Performance und Skalierbarkeit;241
13.9;12.9 Schnittstellen und Kommunikation;242
13.10;12.10 Support;242
13.11;12.11 Fazit;243
14;13 Migration von MySQL nach PostgreSQL;244
14.1;13.1 Unterschiede zwischen MySQL und PostgreSQL;244
14.2;13.2 Eine Migration durchführen;246
15;14 Von Oracle auf PostgreSQL umsteigen;252
15.1;14.1 Den Umstieg planen;252
15.2;14.2 Unterschiede zwischen Oracle und PostgreSQL;254
15.2.1;14.2.1 Unterschiede bei Datentypen;254
15.2.2;14.2.2 Steigerung der Kompatibilität von PostgreSQL;258
15.3;14.3 Portierung von Oracle PL/SQL;259
15.4;14.4 Tools zur Unterstützung der Migration;262
15.5;14.5 Technisches Vorgehen;262
15.6;14.6 Eine Beispiel-Migration;263
15.6.1;14.6.1 Übernahme der Daten;267
16;15 Replikation zwischen PostgreSQL und Oracle;270
16.1;15.1 Datenbank-Link zwischen Oracle und PostgreSQL;270
16.2;15.2 Replikation mit Transaktionslog;276
16.2.1;15.2.1 Replikation mit Oracle Streams Heterogeneous Information Sharing;277
16.2.2;15.2.2 Replikation mit Oracle XStream;281
16.2.3;15.2.3 Replikation von Oracle zu PostgreSQL mit „XStream Out“;282
17;Index;296