Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Grundlagen postgresql
1. Brownbag PostgreSQL
vorgestellt am 20.04.2012 in Pforzheim
Miriam Bergmann
inovex GmbH
Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.
2. 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
3. Was ist PostreSQL?
... das übliche zu Anfang
• Das fortschrittlichste Open Source Datenbankmanagementsystem
(sagt zumindest Postgresql über sich selbst)
• Open Source
• Lizenz: BSD
• relationales Datenbankmanagementsystem
11.07.12 3
4. History, Daten und Fakten
... erstmal ein paar Hintergrundinfos
• 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
11.07.12 4
5. Features
... Was hat das denn zu bieten?
• 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
11.07.12 5
6. Aufbau
... ok – und wie muss ich mir das nun vorstellen?
• - 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/
11.07.12 6
7. Look and Feel
... auf der Datenbank angekommen
• Psql – Kommandozeilenprogramm
• ?
• h [Befehlsname] Hilfe
• q quit
• c [dbname] connect to database
• l list databases
• du describe users
• pgAdmin – grafisches Tool
11.07.12 7
8. Benutzerverwaltung
... Benutzerrollen und Gruppenrollen
• 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
11.07.12 8
9. Backup und Restore
... pg_dump und pg_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.ä.
11.07.12 9
10. Administratives
Speicherverwaltung:
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
11.07.12 10
11. 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
12. Vielen Dank für eure Aufmerksamkeit!
inovex GmbH
Pforzheim München Köln
Karlsruher Straße 71 Konrad-Zuse-Platz 1 Kaiser-Wilhelm-Ring 27-29
D-75179 Pforzheim D-81829 München D-50672 Köln
Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.