12
Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst. Brownbag PostgreSQL vorgestellt am 20.04.2012 in Pforzheim Miriam Bergmann inovex GmbH

Grundlagen postgresql

Embed Size (px)

Citation preview

Page 1: Grundlagen postgresql

Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.

Brownbag PostgreSQL

vorgestellt am 20.04.2012 in Pforzheim

Miriam Bergmann inovex GmbH

Page 2: Grundlagen postgresql

Agenda

1.  Was ist Postgresql? 2.  History, Daten und Fakten 3.  Features 4.  Aufbau 5.  Look and Feel 6.  Benutzerverwaltung 7.  Backup und Restore 8.  Administratives

...

11.07.12 2

Page 3: Grundlagen postgresql

Was ist PostreSQL?

•  Das fortschrittlichste Open Source Datenbankmanagementsystem (sagt zumindest Postgresql über sich selbst)

•  Open Source •  Lizenz: BSD

•  relationales Datenbankmanagementsystem

... das übliche zu Anfang

11.07.12 3

Page 4: Grundlagen postgresql

History, Daten und Fakten

•  Um 1980 unter der Sonne Kaliforniens entstanden •  Ursprünglich aus dem Ingres Projekt entstanden •  Früher bekannt als Postgres •  Seit Mitte der 90er Jahre Postrgesql

•  Postgresql läuft auf den meisten Unix Plattformen, und ab 8.x auch auf Windows

•  Installation für verschiedene Linux Distributionen „normal“ via Paketmanagement

•  Aktuell Version 9.1 •  Weitestgehend SQL ANSI Standard konform

... erstmal ein paar Hintergrundinfos

11.07.12 4

Page 5: Grundlagen postgresql

Features

•  Umfassendes Transaktionskonzept, das Multiversion Concurrency Control unterstützt

•  Referenzielle Integrität •  Mengenoperationen •  Trigger und gespeicherte Prozeduren (stored procedures) sind in

verschiedenen Sprachen •  Schnittstellen zu vielen Programmiersprachen

... Was hat das denn zu bieten?

11.07.12 5

Page 6: Grundlagen postgresql

Aufbau

•  - Installationspfad defaultmäßig nach /var/lib/postgresql/[Versionsnummer]/main

•  base •  global •  pg_clog •  pg_multixact •  pg_stat_tmp •  pg_subtrans •  pg_tblspc •  pg_twophase •  pg_xlog

•  Confs nach /etc/postgresql/[Versionsnummer]/main/

... ok – und wie muss ich mir das nun vorstellen?

11.07.12 6

Page 7: Grundlagen postgresql

Look and Feel

•  Psql – Kommandozeilenprogramm •  \? •  \h [Befehlsname] Hilfe •  \q quit •  \c [dbname] connect to database •  \l list databases •  \du describe users

•  pgAdmin – grafisches Tool

... auf der Datenbank angekommen

11.07.12 7

Page 8: Grundlagen postgresql

Benutzerverwaltung

•  Benutzerrollen - können Privilegien zugeordnet bekommen ähnlich mysql (Grants)

•  Gruppenrollen •  Rolle ohne Login Attribut - Benutzerrolle kann einer Gruppenrolle

zugeordnet werden •  Bestimmte Sessioneinstellungen können pro Gruppenrolle

gesetzt werden •  Berechtigungen müssen nicht für jeden User einzeln gesetzt

werden

... Benutzerrollen und Gruppenrollen

11.07.12 8

Page 9: Grundlagen postgresql

Backup und Restore

pg_dump: •  Optionen z.B.

•  -a nur Daten •  -c löscht vorher alle Objekte

pg_dumpall Restore:

•  psql -d [datenbank] -f dump.sql

pg_restore Zum Ausgeben des Dumps nach STDT Out oder zum Einspielen von Dumps im Format .tar.gz o.ä.

... pg_dump und pg_restore

11.07.12 9

Page 10: Grundlagen postgresql

Administratives

Speicherverwaltung:

11.07.12 10

Shared Buffer Pool - Cached häufig angefragte Zeilen (clock-sweep alogroithm) -> würden im OS Cache nicht lange vorgehalten werden Schreiben/Lesen von WAL usw erfolgt via normaler Betriebssystemoperationen -> OS Cache wird verwendet

Page 11: Grundlagen postgresql

Administratives

•  VACUUM: •  Aufgrund von Multiversion Concurrency Control •  Tabellen und Indizes defragmentieren und neuorganisieren •  Tabellen bereinigen •  reibungsloser Ablauf und Transaktionen •  Statusinfos aktualisieren

•  ANALYZE -> Statistikpflege •  REINDEX -> Rebuild Index

11.07.12 11

Page 12: Grundlagen postgresql

Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.

inovex GmbH Pforzheim Karlsruher Straße 71 D-75179 Pforzheim

München Konrad-Zuse-Platz 1 D-81829 München

Köln Kaiser-Wilhelm-Ring 27-29 D-50672 Köln

Vielen Dank für eure Aufmerksamkeit!