grundlagen postgresql

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

Upload: inovex-gmbh

Post on 12-Jul-2015

513 views

Category:

Technology


0 download

TRANSCRIPT

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!