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.
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 übliche zu Anfang

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

       •  Open Source
            •  Lizenz: BSD
       •  relationales Datenbankmanagementsystem




11.07.12                                                            3
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
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
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
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
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
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
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
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
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.

Grundlagen postgresql

  • 1.
    Brownbag PostgreSQL vorgestellt am20.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 undFakten ... 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 hatdas 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 undGruppenrollen •  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üreure 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.