Fashion Sale Hier klicken Sport & Outdoor reduziertemalbuecher Cloud Drive Photos yuneec Learn More Sommerschlussverkauf Hier klicken Fire Shop Kindle PrimeMusic Summer Sale 16

Gebraucht kaufen
Gebraucht - Sehr gut Informationen anzeigen
Preis: EUR 22,59

oder
 
   
Möchten Sie verkaufen? Hier verkaufen
Jeder kann Kindle Bücher lesen  selbst ohne ein Kindle-Gerät  mit der KOSTENFREIEN Kindle App für Smartphones, Tablets und Computer.
Den Verlag informieren!
Ich möchte dieses Buch auf dem Kindle lesen.

Sie haben keinen Kindle? Hier kaufen oder eine gratis Kindle Lese-App herunterladen.

PostgreSQL. Datenbankpraxis für Anwender, Administratoren und Entwickler [Broschiert]

Andreas Scherbaum
3.8 von 5 Sternen  Alle Rezensionen anzeigen (4 Kundenrezensionen)

Erhältlich bei diesen Anbietern.


‹  Zurück zur Artikelübersicht

Inhaltsverzeichnis

1 Was ist PostgreSQL?
1.1 Name und Schreibweise
1.2 Geschichte
1.3 Community

2 Installation
2.1 Unter Unix-artigen Systemen
2.1.1 SUSE Linux, openSUSE
2.1.2 Red Hat Linux, Fedora, CentOS
2.1.3 Debian GNU/Linux, Ubuntu
2.1.4 Mac OS X
2.2 Unter Microsoft Windows
2.2.1 Installation
2.2.2 Installation unter Microsoft WindowsVista
2.2.3 Probleme bei der Installation
2.2.4 Installation restlos löschen
2.3 Aus den Sourcen
2.3.1 Download und Auspacken der Sourcen
2.3.2 Konfigurieren und Kompilieren
2.3.3 Temporäre Installation für ein Update
2.3.4 Datenbank initialisieren
2.3.5 Datenbank starten
2.3.6 Eine eigene Datenbank erstellen
2.4 Contrib-Module installieren

3 Konfiguration
3.1 Aufbau der Datei postgresql.conf
3.1.1 Konfigurationsdateien finden
3.2 Parameter auslesen oder setzen
3.2.1 Parameter auslesen
3.2.2 Parameter ändern
3.2.3 Parameter zurücksetzen
3.3 Verbindungseinstellungen
3.4 Verschlüsselung
3.5 Systemressourcen
3.6 Transaktionslog (Write Ahead Log)
3.7 Archivierung
3.8 Der Planer
3.9 Logging
3.10 Voreinstellungen für den Client

4 Benutzerverwaltung und -authentifizierung
4.1 Benutzer -- Gruppen -- Rollen
4.1.1 Rollen anlegen
4.1.2 Passwort setzen
4.1.3 Verbindungslimit pro Rolle
4.1.4 Erweiterte Rechte
4.1.5 Gruppen zusammenfassen
4.2 Zugriffsrechte: GRANT und REVOKE
4.2.1 Zugriffsrechte vergeben
4.2.2 Eigentümer eines Objekts
4.2.3 Zugriffsrechte entfernen
4.2.4 Zugriffsrechte anzeigen
4.2.5 Spaltenbasierte Zugriffsrechte
4.2.6 Zeilenbasierte Zugriffsrechte
4.3 pg_hba.conf
4.3.1 Erste Spalte: Typ
4.3.2 Zweite Spalte: Name der Datenbank
4.3.3 Dritte Spalte: Benutzername
4.3.4 Vierte Spalte: Netzwerkadresse
4.3.5 Fünfte Spalte: Authentifizierungsmethode
4.3.6 Sechste Spalte: Optionen
4.4 pg_ident.conf
4.4.1 sameuser
4.4.2 Eigenes Mapping erstellen

5 Programme und Anwendungen
5.1 psql
5.1.1 Verbindungsparameter angeben
5.1.2 Ein- und Ausgabe steuern
5.1.3 Den Eingabeprompt konfigurieren
5.2 pgAdminIII
5.2.1 Installation
5.2.2 Nutzung
5.2.3 Features
5.3 phpPgAdmin
5.3.1 Installation
5.3.2 Konfiguration der Datenbank
5.4 OpenOffice
5.4.1 Installation des Treibers
5.4.2 Erstellen einer Datenbankverbindung
5.5 ODBC
5.5.1 Installation des Treibers
5.5.2 Anmelden einer Datenbankverbindung
5.6 Nagios
5.6.1 Überwachen des TCP-Ports
5.6.2 Nagios Plugin check_pgsql
5.6.3 check_postgres.pl
5.7 PGDoc
5.7.1 Installation
5.7.2 Anwendung
5.7.3 Erscheinungsbild der Ausgabe anpassen
5.8 Apache
5.8.1 Apache::DBI
5.8.2 mod_auth_pgsql
5.9 EMS SQL Management Studio for PostgreSQL

6 Datentypen
6.1 Numerische Datentypen
6.2 Texte
6.3 Binäre Daten
6.4 Datum und Uhrzeit
6.5 Datentyp BOOLEAN
6.6 Enumerations -- Aufzählungen
6.7 Netzwerk- und IP-Adressen speichern
6.8 Datentyp MONEY
6.9 Bit-Datentypen
6.10 XML -- Interoperabilität gewährleisten
6.11 Sequenzen
6.11.1 Was sind Sequenzen?
6.11.2 Sequenzen erzeugen und löschen
6.11.3 Eindeutige IDs für mehrere Tabellen
6.11.4 Den Namen einer automatisch erzeugten Sequenz herausfinden
6.11.5 Die letzte generierte ID herausfinden
6.11.6 Rückwärts zählende Sequenz
6.11.7 Andere Schrittweiten als +1
6.11.8 Sequenz zurücksetzen
6.11.9 Ergebnisse nummerieren
6.11.10 „Löcher“ in einer Sequenz vermeiden
6.12 Object Identifier Datentyp -- OID
6.12.1 Nutzung von OIDs
6.12.2 Nutzung in Tabellen und Funktionen
6.13 Arrays
6.13.1 Arrays in Tabellen verwenden
6.13.2 Arrayinhalte abfragen und vergleichen
6.13.3 Arrayinhalte ändern
6.13.4 Arrayinhalte löschen
6.13.5 Funktionen für Arrays
6.14 Zusammengesetzte Typen
6.14.1 Nutzung zusammengesetzter Typen
6.14.2 Pseudodatentypen
6.14.3 Weitere Datentypen
6.15 Datentypen selbst definieren
6.16 Operatoren
6.16.1 Einen Operator erstellen
6.16.2 Operatoren ändern oder löschen
6.17 Casts
6.17.1 Einen CAST erstellen
6.17.2 CAST löschen
6.17.3 Änderungen in PostgreSQL8.3

7 Erweiterungen
7.1 Locking-Modi
7.1.1 Lock-Level
7.1.2 Deadlocks
7.1.3 Advisory Locks
7.2 Indizes
7.2.1 Indextypen in PostgreSQL
7.2.2 Doppelte Einträge verhindern
7.2.3 Einen Index im laufenden Betrieb anlegen
7.2.4 Index über mehrere Spalten legen
7.2.5 Sortierreihenfolge für einen Index angeben
7.2.6 Einen partiellen Index anlegen
7.2.7 Einen funktionalen Index anlegen
7.2.8 Einen anderen Tablespace für den Index nutzen
7.2.9 Füllfaktor für einen Index angeben
7.2.10 Einen Index löschen
7.2.11 Nicht verwendete Indizes finden
7.2.12 Einen Index neu aufbauen
7.2.13 Zeilen umgruppieren
7.3 Tablespaces
7.3.1 Einen Tablespace erstellen
7.3.2 Eigentümer eines Tablespace setzen
7.3.3 Tablespace umbenennen
7.3.4 Tablespaces gezielt nutzen
7.3.5 Default-Tablespace umdefinieren
7.3.6 Default-Tablespace ändern
7.3.7 Eine Datenbank auf einen anderen Tablespace umziehen
7.3.8 Bereits vorhandene Tablespaces
7.3.9 Tablespace löschen
7.3.10 Probleme im Zusammenhang mit Tablespaces
7.4 Transaktionen
7.4.1 Was sind Transaktionen?
7.4.2 Welche Ausnahmen gibt es?
7.4.3 START TRANSACTION und BEGIN
7.4.4 COMMIT
7.4.5 ROLLBACK
7.4.6 Savepoints
7.4.7 Transaktionslevel
7.4.8 Read-only Transaktionen
7.5 TRUNCATE
7.5.1 Funktionsweise
7.5.2 Transaktionssicherheit
7.5.3 Trigger
7.5.4 Sequenzen zurücksetzen
7.6 COPY -- Daten einfügen und auslesen
7.6.1 COPY FROM -- Daten schreiben
7.6.2 COPY TO -- Daten exportieren
7.6.3 Datenformate für COPY
7.6.4 Daten mittels SELECT und COPY exportieren
7.7 LISTEN, NOTIFY und UNLISTEN
7.8 COMMENT
7.8.1 Ausgabe der Kommentare
7.8.2 Kommentare wieder löschen
7.9 Volltextsuche
7.9.1 Einführung
7.9.2 Stoppwörter
7.9.3 Suchen in einem Text
7.9.4 Ranking
7.10 Vererbung
7.10.1 Vererbte Tabellen
7.10.2 Partitionierung

8 VACUUM und ANALYZE
8.1 VACUUM
8.1.1 VACUUM für eine einzelne Tabelle
8.1.2 Eine ganze Datenbank aufräumen
8.1.3 Speicherplatz endgültig freigeben
8.1.4 VACUUM und Transaktionen
8.2 XID Wraparound
8.3 HOT
8.3.1 HOT-Daten aufbereiten
8.3.2 Mehr Platz für HOT schaffen
8.4 Der Autovacuum Daemon
8.5 Autovacuum für bestimmte Tabellen anpassen
8.6 Kostenbasiertes Vacuum
8.7 Kostenbasiertes Autovacuum
8.8 Statistics Collector

9 Clientseitige Programmierung
9.1 C, C++ und C#
9.1.1 Der Zugriff aus C-libpq
9.1.2 Der Zugriff aus C++ -- libpqxx
9.1.3 Der Zugriff aus C# -- Npgsql
9.2 Perl
9.2.1 DBI
9.3 PHP
9.3.1 Eingebaute Funktionen
9.3.2 ADOdb
9.4 Embedded SQL – ECPG

10 Serverseitige Programmierung
10.1 Interne Funktionen
10.2 Eigene Funktionen
10.2.1 Funktionen definieren
10.2.2 Bestehende Funktionen überschreiben
10.2.3 Funktionen überladen
10.2.4 Default-Parameter ab PostgreSQL8.4
10.2.5 Stabil oder flüchtig -- IMMUTABLE oder VOLATILE
10.2.6 NULL als Eingabe zulassen
10.2.7 Funktionsparameter
10.2.8 Mehrere Ergebniszeilen zurückgeben
10.2.9 Funktion unter anderer Benutzerkennung ausführen
10.2.10 Trusted und Untrusted
10.2.11 Ausführungskosten dem Planer melden
10.2.12 Eigene Datentypen und Operatoren
10.2.13 Trigger
10.3 SQL
10.4 PL/pgSQL
10.4.1 Installation
10.4.2 Aufbau einer Funktion
10.4.3 Vergleiche durchführen
10.4.4 Schleifen bilden
10.4.5 Variablen verwenden
10.4.6 SQL-Anweisungen ausführen
10.4.7 Trigger-Funktionen
10.5 PL/Perl
10.5.1 Installation
10.5.2 Aufbau einer Funktion
10.5.3 Parameter übergeben
10.5.4 Arrays und Hashes als Rückgabewerte
10.5.5 Mehrere Ergebniszeilen zurückgeben
10.5.6 use strict; in einer Funktion verwenden
10.5.7 Globale Variablen zum Zwischenspeichern nutzen
10.5.8 Anfragen in der Datenbank ausführen
10.5.9 Trigger-Funktionen
10.6 C
10.6.1 Aufbau einer C-Funktion
10.6.2 C-Funktion kompilieren und installieren
10.6.3 Funktionen mit variabler Anzahl an Parametern
10.6.4 C-Funktion in der Datenbank registrieren
10.7 PL/sh
10.7.1 Download und Installation
10.7.2 Deinstallation der Erweiterung
10.7.3 Anwendung der Sprache
10.7.4 Einschränkungen

11 Backup, Restore, Replikation
11.1 Backup im SQL-Format
11.1.1 pg_dump
11.1.2 pg_dumpall
11.1.3 Wiederherstellen der Datenbank aus dem SQL-Format
11.1.4 Reihenfolge der Objekte im Dump
11.1.5 Nur die Datenbankstruktur sichern
11.1.6 Nur Daten sichern
11.1.7 Einzelne Tabellen sichern
11.1.8 Einzelne Schemata sichern
11.1.9 INSERT statt \COPY
11.1.10 Anderes Encoding wählen
11.1.11 Datenbank beim Restore mit erstellen
11.1.12 Objekte vor dem Einfügen löschen
11.2 Backup im Tar- und im PostgreSQL-eigenen Format
11.2.1 Tar-Format
11.2.2 Custom-Format
11.2.3 Wiederherstellen der Datenbank aus dem Tar- oder Custom-Format
11.2.4 Inhalt eines Archivs anzeigen
11.2.5 Nur Teile eines Archivs wieder einspielen
11.3 Online-Backup (PITR)
11.3.1 Konfigurieren und Erstellen des Online-Backup
11.3.2 Wiederherstellen des Online-Backup
11.3.3 Point-in-Time-Recovery
11.4 Replikation mit Online-Backup
11.4.1 Vorbereitungen für einen Standby-Server
11.4.2 Aufsetzen eines Standby-Servers
11.4.3 Stoppen der Replikation
11.5 Replikation mit Slony
11.5.1 Aufbau und Funktionsweise
11.5.2 Installation
11.5.3 Konfiguration
11.5.4 Cluster initialisieren
11.5.5 Replikation starten
11.5.6 Replikation stoppen
11.6 Replikation mit pgpool-II
11.6.1 Installation
11.6.2 Konfiguration
11.6.3 pgpool-II und Slony

12 Performance-Optimierung
12.1 EXPLAIN oder: Was die Datenbank alles mitteilen kann
12.1.1 EXPLAIN erklärt
12.1.2 Mit EXPLAIN den Anfrageplan herausfinden
12.1.3 EXPLAIN ANALYZE liefert die Laufzeit
12.2 Den Planer konfigurieren
12.2.1 Viel Hauptspeicher verfügbar
12.2.2 Working Memory
12.2.3 Freier Cache des Betriebssystems
12.2.4 SSD -- Solid State Disks
12.2.5 Partitionierte Tabellen
12.2.6 Prepared Statements
12.3 Große Datenmengen einlesen
12.3.1 COPY
12.3.2 Autocommit ausschalten
12.3.3 Prepared Statements nutzen
12.3.4 Indizes und Foreign Keys entfernen
12.3.5 Konfigurationsparameter checkpoint_segments erhöhen
12.3.6 Konfigurationsparameter maintenance_work_mem erhöhen
12.3.7 Statistiken aktualisieren

13 Umsteigen von MySQL
13.1 Syntax- und Funktionsunterschiede zwischen MySQLund PostgreSQL
13.1.1 AUTO_INCREMENT
13.1.2 Erste Timestamp-Spalte automatisch setzen
13.1.3 CHECK-Klausel
13.1.4 Default-Werte
13.1.5 ZEROFILL
13.1.6 GROUP BY
13.1.7 NULL-Werte
13.1.8 IFNULL()
13.1.9 Groß- und Kleinschreibung von Tabellen- und Spaltennamen
13.1.10 CONSTRAINTs und REFERENCES
13.1.11 Datums- und Zeitangaben
13.1.12 ORDER BY RAND()
13.1.13 LIKE und ILIKE
13.1.14 Boolesche Werte
13.1.15 String-Verknüpfungen versus logische Operatoren
13.1.16 Binäre Daten
13.1.17 INSERT IGNORE und REPLACE
13.1.18 LOAD DATA
13.1.19 Kommentare
13.1.20 Einfache und doppelte Anführungszeichen
13.2 Unterschiedliche Storage-Engines
13.3 Verschiedene Datentypen
13.4 Skripts zum Portieren von Anwendungen
13.4.1 mysql2pgsql
13.5 Replikation und MySQLCluster

14 Häufige Fragen
14.1 Datenbank über das Netzwerk ansprechen
14.2 Passwort für psql angeben
14.3 Konfigurationsänderungen werden nicht übernommen
14.4 Blockierende Anfragen ermitteln
14.5 Aktuell laufende Anfragen herausfinden
14.6 Laufzeit von Anfragen ermitteln
14.7 Datenänderungen protokollieren -- Audit
14.8 Größe einer Tabelle oder Datenbank
14.9 Zugriffsrechte aller Tabellen gleichzeitig ändern
14.10 Standalone-Modus
14.11 Datenbank-Encoding ändern
14.12 Tunneln einer Verbindung per ssh
14.13 Anzahl der Verbindungen einschränken
14.14 Universell eindeutige IDs
14.15 ISBN speichern
14.16 Ergebnisse per Zufall sortieren
14.17 Unix-Timestamp ermitteln
14.18 IP-Adressen effektiv in Netzwerkbereichen suchen -- IP4R
14.19 SQL-Injections
14.20 Der Autovacuum Daemon tut anscheinend nichts
14.21 VACUUM ist abgeschaltet, Tabellen werden aber trotzdem geprüft
14.22 Datenbank nimmt keine Befehle mehr an
14.23 Autovacuum analysiert eine Tabelle nicht
14.24 Update einer Datenbank auf eine neue Version

15 Erweiterte Konfiguration
15.1 Pfadangaben
15.2 Voreinstellungen für den Client
15.3 Background Writer
15.4 Transaktionslog -- Write Ahead Log
15.5 Checkpoints
15.6 Der Planer
15.7 Laufzeit-Statistiken
15.8 Locking Management
15.9 Plugins
15.10 Vorgegebene Parameter (nicht änderbar)

A Beispiele
A.1 Beispiel zu EXPLAIN
A.2 Beispiel für einen Dead Lock
A.3 libpq
A.4 PHP
A.5 Embedded SQL -- ECPG
A.6 Trigger
A.7 Datentypen

‹  Zurück zur Artikelübersicht