Grundlagen postgresql

Preview:

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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!

Recommended