Inhalt. Vorwort...11. 1 Die Eigenschaften von PostgreSQL...15. 2 Das ideale DBMS...45. 3 Der Datenbankadministrator...59



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

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

Datenbanken unter Linux

Microsoft SQL Server 2005 für Administratoren

Inhalt. 1. MySQL-Einführung Datenbankentwurf 27

Arbeiten mit einem lokalen PostgreSQL-Server

Inhaltsverzeichnis. 1 Hallo 13

Hinweise zur Installation von MySQL

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

Die Analyse großer Datensätze mittels freier Datenbanksysteme Dr Dirk Meusel

MaxDB-Schulungsthemen

DOKUMENTATION ky2help V 3.6 Servertests

SQL Server 2005 Der schnelle Einstieg

Inhaltsverzeichnis. Inhaltsverzeichnis

OP-LOG

INSTALLATIONSANLEITUNG der Version 2.1 (Jänner 2014)

Wie mache ich eine Datensicherung vom SQL Server Express

FME Desktop. Data in Motion

Vorwort Azure Cloud Computing mit Microsoft Danksagungen Kontakt zum Autor... 13

Externe Authentifizierung. Externe Authentifizierung IACBOX.COM. Version Deutsch

1 ALLGEMEINES ZU DYNAMICS NAV Geschichte zu Dynamics NAV Datenbank Wo bekommt man Hilfe zu Dynamics NAV?...

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor Die grafischen Tools des SQL Server Eine neue Datenbank erstellen 87

Synchronisation von redundanten Datenbeständen

Allgemeines zu Datenbanken

Microsoft SQL Server Konfigurierung, Administration, Programmierung

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

Kopplung von Datenbanken

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Einführung in SQL Datenbanken bearbeiten

MS-SQL Client Installation

Installationsbeschreibung Flottenmanager 7.1

NTCS ÜBRNAHME AUF NEUEN SERVER. 15/06/25 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Ora Education GmbH. Lehrgang: Oracle WebLogic Server 11g: Advanced Administration

Administering Microsoft SQL Server 2012/2014 Database (M20462) M /

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

Systemanforderungen für MuseumPlus und emuseumplus

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Microsoft SQL Server 2005 Konfigurierung, Administration,

Konfiguration Datenbank-Parameter

Microsoft SQL Server 2000 Programmierung

SMARTtill Server mit Manager

Weblogic Server: Administration für Umsteiger

Grundlagen relationaler Datenbanken Access Grundlagenseminar Access Aufbauseminar Von Excel 2010 zu Access

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

NET.Compact Framework

Installation von my - Colex lokal

Inhaltsverzeichnis. Vorwort Installation eines Nagios-Servers Monitoring von Netzwerkdruckern... 61

Tutorial Windows XP SP2 verteilen

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Planung für Organisation und Technik

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

Windows 8/8.1 RecImg-Manager

Installation Microsoft SQL Server 2008 Express

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank

MCSE Crash Test SQL Server 7 Systemadministration

Transaktionsverwaltung

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

MySQL Administration. Seminarunterlage. Version 3.02 vom

Entwurf einer einfachen Datenbank zur Wunschzettel- Verwaltung

Vor- und Nachteile speicheroptimierter Tabellen

Datenübernahme easyjob 3.0 zu easyjob 4.0

Whitepaper. Produkt: combit Relationship Manager / combit address manager. SQL Server Backup mit SQLBackupAndFTP

Datenbanksysteme 1. Organisation. Prof. Stefan F. Keller. Ausgabe Copyright 2005 HSR SS 2005

Backup und Datensicherung von Plone-Systemen. Vortragender: Christian Becker

Mit dem 6. Rundbrief gelange ich mit einem Update des Zeitservers an Alle.

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

BLOB oder wie kommt das Bild in

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Verbinden von IBM Informix mit Openoffice mittels JDBC

Methoden und Werkzeuge des Requirements Engineering DOORS Fabian Lücke, Miroslav Kolev

Acrolinx IQ. Verbindungen mit externen Terminologiedatenbanken 2.9

QUALIFIKATIONSPROFIL DR. SIMONE DANNENBERG

QUALIFIKATIONSPROFIL DR. SIMONE DANNENBERG

APAS ist das Ergebnis unserer langjährigen Erfahrung im Bereich der Mess-, Prüf- und Automatisierungstechnik.

Wiederherstellen der Beispieldatenbanken zum Buch Microsoft Project 2010

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Architekturen. Von der DB basierten zur Multi-Tier Anwendung. DB/CRM (C) J.M.Joller

Bibliografische Informationen digitalisiert durch

Installationsanleitung BalticScore 3.0

i i apitel apitel K K Inhalt Inhalt

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc

Datenbanken auf Sybase SQL-Anywhere

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

PL/SQL und Ingres. Der beste Weg, die Zukunft vorauszusagen, ist, sie zu gestalten. John Naisbitt (*1930), amerik. Prognostiker

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

datenfabrik.phone Telefonnummern mit den SQL Server Integration Services validieren

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version oder Wechsel von Version auf Version 3.0.

1.6 Zusammenfassung... 19

ODBC-Treiber Programmübersicht

Whitepaper. Produkt: combit Relationship Manager / address manager. Integration der Ansicht "Adressen" in eigene Solution

Daten in der Cloud mit Access, Office 365 und Apps foroffice Dirk Eberhardt

Visuelles Programmieren. mit der neuen. Moskito Workbench

Datenbank und Informationssysteme

I. Travel Master CRM Installieren

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

DB2 SQL, der Systemkatalog & Aktive Datenbanken

Oracle 9i Einführung Performance Tuning

Inhalt. Vorwort 11. Inhalt der Buch-CD Einführung 17

Transkript:

Inhalt Vorwort...11 1 Die Eigenschaften von PostgreSQL...15 1.1 Die Geschichte von PostgreSQL...16 1.2 Die Lizenz von PostgreSQL...17 1.3 Grundlegende Konzepte von Postgres...17 1.3.1 Die Eigenschaften von Postgres im Überblick...20 1.3.2 Limits...24 1.3.3 Die Datentypen von Postgres...25 1.3.4 Zusammenfassung...44 2 Das ideale DBMS...45 2.1 Der Zweck eines RDBMS...46 2.2 Installation...52 2.3 Leichte Konfiguration...53 2.4 Leichte Administrierbarkeit...53 2.5 Möglichst konform mit ANSI SQL92...54 2.6 Das Gesamtsystem soll möglichst rasch reagieren...54 2.7 Die Datensicherheit soll groß sein...55 2.8 Das DBMS soll möglichst mächtig sein...56 2.9 Erweiterungen durch den Anwender...57 3 Der Datenbankadministrator...59 3.1 Was ist eigentlich ein Datenbankadministrator?...60 3.2 Die verschiedenen Rollen eines DBA...70 3.3 Werkzeuge zur Administration...71 3.3.1 Postgres Manager...72 3.3.2 DbVisualizer...87 3.3.3 pgaccess...94 3.3.4 Zusammenfassung...105 4 Installation und Konfiguration...107 4.1 Die Linux-Version...108 4.2 Die Windows-Version...108 4.3 Installation...108 4.4 Konfiguration...127 4.4.1 Setup nach der Installation...127 4.4.2 Frontend-Installation unter Windows...128

6 Inhalt 4.4.3 Konfiguration des Servers...129 4.4.4 Start und Stop des Servers...129 4.4.5 Den Datenbankserver benutzen...140 4.4.6 Benutzerverwaltung unter Postgres...146 4.4.7 Authentifizierungsmöglichkeiten...149 4.5 Programme in der Postgres-Distribution... 154 4.6 Mehrere Postmaster gleichzeitig starten... 156 4.7 Zusammenfassung... 158 5 Das Design einer Datenbank... 159 5.1 Grundbegriffe... 161 5.2 Erstellung eines Datenmodells... 174 5.2.1 Anforderungsanalyse...175 5.2.2 Database Performance Design...188 5.3 Plan zur Gruppen- und Benutzerverwaltung... 193 5.3.1 Gruppen- und Benutzerverwaltung...193 5.3.2 Anlegen und Löschen von Benutzern und Benutzergruppen...194 5.3.3 Zusätzliche Faktoren bei der Privilegienvergabe...199 5.4 Bereitstellung von Testdaten und Test der Datenbasis... 203 5.4.1 Erstellung von Migrationsprozeduren...203 5.4.2 Befüllen der Testdatenbank...203 5.4.3 Verifikation der Datenbasis...204 5.4.4 Automatische Testdatengenerierung...204 5.4.5 Zusammenfassung...205 6 Tools für das Datenbank-Design... 207 6.1 Database Organizer... 208 6.2 Data Architect... 213 6.3 Case Studio 2... 223 6.4 Zusammenfassung... 231 7 Die Programmiersprache SQL... 233 7.1 Grundlagen von SQL... 234 7.2 Die Geschichte von SQL... 234 7.3 Die Grundlagen von SQL... 235 7.3.1 Ermitteln von Daten...240 7.3.2 Sortierung von Daten...243 7.3.3 Gruppierungen...255 7.3.4 Zusammenfassung...272 7.4 Identifikation von Datensätzen mit OIDs... 273

Inhalt 7 7.5 Datenbank-Transaktionen...275 7.5.1 Transaktionen explizit definieren...276 7.5.2 Transaction Isolation...279 7.5.3 Locking...280 7.6 Sequenzen (und der Datentyp Serial)...287 7.7 Schemata...291 7.7.1 Das public-schema bei Postgres...292 7.7.2 Das Anlegen eines Schemas...293 7.7.3 Das Löschen eines Schemas...293 7.7.4 Der Schema-Suchpfad...293 7.7.5 Ändern des Schema-Suchpfades...294 7.7.6 Schemata und Benutzerberechtigungen...296 7.7.7 Das Schema für den Systemkatalog...297 7.8 Erweiterte Select-Befehle...298 7.8.1 Erzeugen von Tabellen mit SELECT...298 7.8.2 Einfügen von Datensätzen mit SELECT...299 7.8.3 Temporäre Tabellen...300 7.8.4 Beschränkung der Abfrageergebnisse mit LIMIT (und OFFSET)...302 7.8.5 Bedingte Ersetzungen mit CASE...304 7.8.6 SQL-Funktionen im Überblick...306 7.8.7 Sonstige wichtige Funktionen...311 7.8.8 Zusammenfassung...325 7.9 Indizes...326 7.9.1 Indextypen bei Postgres...327 7.9.2 Erzeugen und Löschen von Indizes...328 7.9.3 Abschließende Bemerkungen zu Indizes...335 7.10 Der SQL-Optimierer...335 7.10.1 Die vom Planer verwendeten Statistiken...336 7.10.2 Die Beeinflussung des Query-Planers...337 7.11 Das Tunen der Konfigurationsparameter...341 7.12 Hardwaretuning...345 7.12.1 Der Einfluß von Disk I/O...345 7.12.2 Speicher...347 7.12.3 Mehrprozessormaschinen...347 7.12.4 Zusammenfassung...348 8 Server-Programmierung...349 8.1 Server-Programmierung in Postgres mit PL/pgSQL...350 8.1.1 Anlegen von PL/pgSQL in einer Datenbank...350 8.1.2 PL/pgSQL-Funktionen schreiben...351 8.1.3 Tips für die Entwicklung mit PL/pgSQL...390

8 Inhalt 8.2 Weitere Serverprogrammiersprachen... 392 8.3 Manuelle Installation von Serverprogrammiersprachen... 393 8.4 Vorteile von Serverprogrammiersprachen... 394 8.5 Zusammenfassung... 395 9 Applikationsentwicklung... 397 9.1 Das API für C... 398 9.2 Das API für Embedded SQL (ECPG)... 413 9.3 Postgres-Applikationen mit PHP... 418 9.4 Applikationsentwicklung mit C#, Mono und Postgres... 429 9.4.1 Linux, C# und Mono...429 9.4.2 Installation von Mono...432 9.4.3 Datenbankzugriff aus C#...432 9.4.4 Datenbankzugriff mit C# unter ASP.NET...440 9.5 Applikationsentwicklung mit Java und Postgres... 454 9.5.1 Aufbau von JDBC...454 9.5.2 Installation des Postgres-JDBC-Treibers...456 9.5.3 Anwendungen mit JDBC und Postgres...456 9.6 Applikationsentwicklung mit Perl... 465 9.6.1 Installation des Pg-Moduls...465 9.6.2 Verbindung zur Datenbank...466 9.6.3 Datenbankabfragen mit dem Pg-Modul...467 9.6.4 Ein Beispielprogramm...468 9.6.5 Installation des DBI-Treibers...471 9.6.6 Verbindung mit dem DBI-Interface...472 9.6.7 Datenbankabfragen mit dem DBI-Interface...473 9.6.8 Ein Beispiel für das DBI-Interface...474 9.6.9 Die Datenausgabe der Perl-Programme...477 9.6.10 Abschließende Bemerkungen...478 9.7 Applikationsentwicklung mit Python... 478 9.7.1 Bezug des PyGreSQL-Moduls...478 9.7.2 Verbindung zur Datenbank mit PyGreSQL...478 9.7.3 Abfragen mit PyGreSQL...479 9.7.4 Fehlerbehandlung bei PyGreSQL...480 9.7.5 Ein Beispielprogramm für PyGreSQL...480 9.8 Postgres und ODBC... 483 9.8.1 Installation des ODBC-Treibers...484 9.8.2 OpenOffice und ODBC...487 9.8.3 Zusammenfassung...492

Inhalt 9 10 Replikation, Connection Pooling und Reporting...493 10.1 Datenreplikation...494 10.1.1 Replikation mit SLONY-I...494 10.2 RServ (oder erserver)...501 10.2.1 Usogres...501 10.2.2 Vacuum von Large Objects mit vacuumlo...501 10.2.3 Installation...502 10.2.4 vacuumlo ausführen...502 10.3 Connection-Pooling...503 10.3.1 pgpool...503 10.3.2 Weitere Connection-Pools...507 10.4 Reporting...507 10.4.1 Jasper Reports...507 10.4.2 ireport...508 10.4.3 OpenReports und OpenReports Designer...508 10.4.4 Kugar...509 10.4.5 Weitere Reporting-Engines...512 10.5 pg_autovacuum...513 10.5.1 Installation und Konfiguration...513 10.5.2 Zusammenfassung...515 11 Die Arbeiten eines Administrators...517 11.1 Konfiguration von Postgres...518 11.2 Start und Stop des Datenbankservers...518 11.3 Benutzerverwaltung...519 11.4 Datenbank-Modifikationen...519 11.4.1 Änderungen an Datenbanken...519 11.4.2 Änderungen an Tabellen...521 11.4.3 Änderungen an weiteren Datenbankobjekten...522 11.4.4 Abschließende Bemerkung zu Datenbankänderungen...523 11.5 Das Informationsschema...523 11.5.1 domains...524 11.5.2 domain_constraints...525 11.5.3 routines...525 11.5.4 schemata...525 11.5.5 tables...526 11.5.6 triggers...527 11.5.7 views...527 11.5.8 table_constraints...528 11.6 Der Systemkatalog...528 11.7 Backup und Recovery...534 11.7.1 Backup des Datenverzeichnisses...534 11.7.2 Rücksicherung eines Backups des Datenverzeichnisses...535 11.7.3 Backup eines Datenbank-Clusters im laufenden Betrieb...535

10 Inhalt 11.7.4 Der Inhalt eines Dumps...536 11.7.5 Die Parameter von pg_dumpall...539 11.7.6 Backup einer einzelnen Datenbank im laufenden Betrieb...541 11.7.7 Rücksicherung der Daten des Dumps...544 11.7.8 Abschließende Betrachtungen zu Backup und Restore...551 11.8 initdb und Locales... 552 11.9 Tägliche Routinetätigkeiten des DBAs... 553 11.9.1 Vacuum...553 11.9.2 Periodisches Re-Indizieren...554 11.9.3 Pflege der Logdateien...555 11.10 Beobachtung der Datenbankaktivitäten... 555 11.10.1 Werkzeuge des Betriebssystems zur Beobachtung...556 11.10.2 Die Statistiken des Statistics Collector...556 11.10.3 Beobachtung der Locks...558 11.11 Überprüfung des Platzbedarfs auf Speichermedien... 558 11.11.1 Herausfinden des Platzverbrauchs...558 11.11.2 Datenbankgröße ermitteln mit Hilfsprogrammen...560 11.11.3 Abschließende Bemerkung zum Beobachten des Platzbedarfs...561 11.12 Datenimport und -export... 562 11.12.1 Datenexport mit COPY...562 11.12.2 Datenimport mit COPY...563 11.12.3 Anmerkungen...564 11.13 Datenmigration und Releasewechsel... 564 11.13.1 Zusammenfassung...564 12 Portierung von anderen Systemen... 567 12.1 Oracle... 568 12.1.1 Portierungen von PL/SQL...568 12.1.2 Tools...569 12.1.3 Fazit...572 12.2 Portierungen von mysql... 572 12.3 Portierungen von MS-SQL... 573 12.4 Portierungen von FileMaker Pro... 574 12.5 Zusammenfassung... 576 Anhang A Ausblick auf Version 8.0... 578 Anhang B Die Vertriebslizenz von Postgres... 582 Stichwortverzeichnis... 583