postgresql Tutorial
Erste Schritte mit postgresql
Suche…
Bemerkungen
Dieser Abschnitt bietet einen Überblick über die Bedeutung von postgresql und warum ein Entwickler sie verwenden möchte.
Es sollte auch alle großen Themen innerhalb von postgresql erwähnen und auf die verwandten Themen verweisen. Da die Dokumentation für postgresql neu ist, müssen Sie möglicherweise erste Versionen dieser verwandten Themen erstellen.
Versionen
Ausführung | Veröffentlichungsdatum | EOL-Datum |
---|---|---|
9.6 | 2016-09-29 | 2021-09-01 |
9,5 | 2016-01-07 | 2021-01-01 |
9.4 | 2014-12-18 | 2019-12-01 |
9.3 | 2013-09-09 | 2018-09-01 |
9.2 | 2012-09-10 | 2017-09-01 |
9.1 | 2011-09-12 | 2016-09-01 |
9,0 | 2010-09-20 | 2015-09-01 |
8.4 | 2009-07-01 | 2014-07-01 |
Installation unter GNU + Linux
Bei den meisten GNU + Linux-Betriebssystemen kann PostgreSQL problemlos mit dem Paketmanager des Betriebssystems installiert werden.
Red Hat Familie
Ressourcen finden Sie hier: https://yum.postgresql.org/repopackages.php
Laden Sie das Repository mit dem Befehl auf den lokalen Computer herunter
yum -y install https://download.postgresql.org/pub/repos/yum/X.X/redhat/rhel-7-x86_64/pgdg-redhatXX-X.X-X.noarch.rpm
Verfügbare Pakete anzeigen:
yum list available | grep postgres*
Notwendige Pakete sind: postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib
Diese werden mit dem folgenden Befehl installiert: yum -y install postgresqlXX postgresqlXX-server postgresqlXX-libs postgresqlXX-contrib
Nach der Installation müssen Sie den Datenbankdienst als Dienstbesitzer starten (Standard ist postgres). Dies geschieht mit dem Befehl pg_ctl.
sudo -su postgres
./usr/pgsql-X.X/bin/pg_ctl -D /var/lib/pgsql/X.X/data start
Um auf die DB in CLI zuzugreifen, geben Sie psql
Debian-Familie
Geben Sie unter Debian und abgeleiteten Betriebssystemen Folgendes ein:
sudo apt-get install postgresql
Dadurch wird das PostgreSQL-Serverpaket in der Standardversion installiert, die von den Paketrepositorys des Betriebssystems angeboten wird.
Wenn die standardmäßig installierte Version nicht die gewünschte ist, können Sie mit dem Paket-Manager nach bestimmten Versionen suchen, die gleichzeitig angeboten werden können.
Sie können auch das Yum-Repository verwenden, das vom PostgreSQL-Projekt (bekannt als PGDG ) bereitgestellt wird , um eine andere Version zu erhalten. Dies ermöglicht möglicherweise Versionen, die noch nicht von Paketpaketen des Betriebssystems angeboten werden.
So installieren Sie PostgreSQL über MacPorts unter OSX
Um PostgreSQL unter OSX installieren zu können, müssen Sie wissen, welche Versionen derzeit unterstützt werden.
Verwenden Sie diesen Befehl, um zu sehen, welche Versionen Sie zur Verfügung haben.
sudo port list | grep "^postgresql[[:digit:]]\{2\}[[:space:]]"
Sie sollten eine Liste erhalten, die ungefähr wie folgt aussieht:
postgresql80 @8.0.26 databases/postgresql80
postgresql81 @8.1.23 databases/postgresql81
postgresql82 @8.2.23 databases/postgresql82
postgresql83 @8.3.23 databases/postgresql83
postgresql84 @8.4.22 databases/postgresql84
postgresql90 @9.0.23 databases/postgresql90
postgresql91 @9.1.22 databases/postgresql91
postgresql92 @9.2.17 databases/postgresql92
postgresql93 @9.3.13 databases/postgresql93
postgresql94 @9.4.8 databases/postgresql94
postgresql95 @9.5.3 databases/postgresql95
postgresql96 @9.6beta2 databases/postgresql96
In diesem Beispiel die neueste Version von PostgreSQL, die in Version 9.6 unterstützt wird. Wir werden diese also installieren.
sudo port install postgresql96-server postgresql96
Sie sehen ein Installationsprotokoll wie folgt:
---> Computing dependencies for postgresql96-server
---> Dependencies to be installed: postgresql96
---> Fetching archive for postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96
---> Attempting to fetch postgresql96-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96
---> Installing postgresql96 @9.6beta2_0
---> Activating postgresql96 @9.6beta2_0
To use the postgresql server, install the postgresql96-server port
---> Cleaning postgresql96
---> Fetching archive for postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2 from https://packages.macports.org/postgresql96-server
---> Attempting to fetch postgresql96-server-9.6beta2_0.darwin_15.x86_64.tbz2.rmd160 from https://packages.macports.org/postgresql96-server
---> Installing postgresql96-server @9.6beta2_0
---> Activating postgresql96-server @9.6beta2_0
To create a database instance, after install do
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
---> Cleaning postgresql96-server
---> Computing dependencies for postgresql96
---> Cleaning postgresql96
---> Updating database of binaries
---> Scanning binaries for linking errors
---> No broken files found.
Das Protokoll enthält Anweisungen zu den restlichen Installationsschritten. Wir machen dies als Nächstes.
sudo mkdir -p /opt/local/var/db/postgresql96/defaultdb
sudo chown postgres:postgres /opt/local/var/db/postgresql96/defaultdb
sudo su postgres -c '/opt/local/lib/postgresql96/bin/initdb -D /opt/local/var/db/postgresql96/defaultdb'
Nun starten wir den Server:
sudo port load -w postgresql96-server
Stellen Sie sicher, dass wir eine Verbindung zum Server herstellen können:
su postgres -c psql
Sie werden eine Aufforderung von postgres sehen:
psql (9.6.1)
Type "help" for help.
postgres=#
Hier können Sie eine Abfrage eingeben, um festzustellen, ob der Server ausgeführt wird.
postgres=#SELECT setting FROM pg_settings WHERE name='data_directory';
Und sehen Sie die Antwort:
setting
------------------------------------------
/opt/local/var/db/postgresql96/defaultdb
(1 row)
postgres=#
Geben Sie zum Beenden \ q ein:
postgres=#\q
Und Sie werden wieder an der Shell-Eingabeaufforderung sein.
Herzliche Glückwünsche! Sie haben jetzt eine PostgreSQL-Instanz unter OS / X.
Postgres.app für Mac OSX
Ein äußerst einfaches Tool zum Installieren von PostgreSQL auf einem Mac ist durch Herunterladen von Postgres.app verfügbar.
Sie können die Einstellungen so ändern, dass PostgreSQL im Hintergrund ausgeführt wird oder nur, wenn die Anwendung ausgeführt wird.
PostgreSQL unter Windows installieren
Zwar ist die Verwendung eines Unix-basierten Betriebssystems (z. B. Linux oder BSD) als Produktionsserver empfehlenswert. Sie können PostgreSQL jedoch problemlos unter Windows installieren (hoffentlich nur als Entwicklungsserver).
Laden Sie die Windows-Installations-Binärdateien von EnterpriseDB herunter: http://www.enterprisedb.com/products-services-training/pgdownload Dies ist ein Drittanbieter-Unternehmen, das von Kernteilnehmern des PostgreSQL-Projekts gegründet wurde, die die Binärdateien für Windows optimiert haben.
Wählen Sie die neueste stabile (Nicht-Beta) Version (9.5.3 zum Zeitpunkt des Schreibens). Wahrscheinlich möchten Sie das Win x86-64-Paket. Wenn Sie jedoch eine 32-Bit-Version von Windows ausführen, die auf älteren Computern üblich ist, wählen Sie stattdessen Win x86-32 aus.
Hinweis: Das Wechseln zwischen Beta- und stabilen Versionen erfordert komplexe Aufgaben wie Dump und Restore. Ein Upgrade innerhalb der Beta- oder stabilen Version erfordert nur einen Neustart des Dienstes.
Sie können überprüfen, ob Ihre Windows-Version 32 oder 64-Bit ist, indem Sie Systemsteuerung -> System und Sicherheit -> System -> Systemtyp aufrufen. Daraufhin wird "## - bit Operating System" angezeigt. Dies ist der Pfad für Windows 7, bei anderen Windows-Versionen kann es etwas anders sein.
Wählen Sie im Installationsprogramm die Pakete aus, die Sie verwenden möchten. Zum Beispiel:
- pgAdmin ( https://www.pgadmin.org ) ist eine kostenlose grafische Benutzeroberfläche für die Verwaltung Ihrer Datenbank. Ich kann sie nur wärmstens empfehlen. In 9.6 wird dies standardmäßig installiert.
- PostGIS ( http://postgis.net ) bietet Geodaten-Analysefunktionen für GPS-Koordinaten, Entfernungen usw., die bei GIS-Entwicklern sehr beliebt sind.
- Das Sprachpaket enthält erforderliche Bibliotheken für die offiziell unterstützte Verfahrenssprache PL / Python, PL / Perl und PL / Tcl.
- Andere Pakete wie pgAgent, pgBouncer und Slony sind für größere Produktionsserver nützlich und werden nur bei Bedarf geprüft.
Alle diese optionalen Pakete können später über "Application Stack Builder" installiert werden.
Hinweis: Es gibt auch andere nicht offiziell unterstützte Sprachen wie PL / V8 , PL / Lua PL / Java.
Öffnen Sie pgAdmin und stellen Sie eine Verbindung zu Ihrem Server her, indem Sie auf den Namen doppelklicken, z. "PostgreSQL 9.5 (localhost: 5432).
Von diesem Punkt aus können Sie Anleitungen wie das ausgezeichnete Buch PostgreSQL: Up and Running, 2. Ausgabe ( http://shop.oreilly.com/product/0636920032144.do ) folgen.
Optional: Manueller Dienststarttyp
PostgreSQL wird als Dienst im Hintergrund ausgeführt, der sich geringfügig von den meisten Programmen unterscheidet. Dies ist bei Datenbanken und Webservern üblich. Der Standard-Starttyp ist Automatisch, was bedeutet, dass er immer ohne Eingabe von Ihnen ausgeführt wird.
Warum möchten Sie den PostgreSQL-Dienst manuell steuern? Wenn Sie Ihren PC zeitweise als Entwicklungsserver verwenden und ihn beispielsweise auch zum Spielen von Videospielen verwenden, kann PostegreSQL Ihr System während des Betriebs etwas verlangsamen.
Warum sollten Sie keine manuelle Steuerung wünschen? Das Starten und Stoppen des Dienstes kann problematisch sein, wenn Sie es häufig tun.
Wenn Sie keinen Geschwindigkeitsunterschied bemerken und den Aufwand lieber vermeiden möchten, belassen Sie den Starttyp als Automatisch und ignorieren den Rest dieser Anleitung. Andernfalls...
Gehen Sie zu Systemsteuerung -> System und Sicherheit -> Verwaltung.
Wählen Sie "Dienste" aus der Liste aus, klicken Sie mit der rechten Maustaste auf das Symbol und wählen Sie Senden an -> Desktop aus, um ein Desktop-Symbol für einen bequemeren Zugriff zu erstellen.
Schließen Sie das Fenster Verwaltung, und starten Sie Dienste über das soeben erstellte Desktopsymbol.
Scrollen Sie nach unten, bis Sie einen Dienst mit einem Namen wie postgresql-x ## - 9 sehen. # (Z. B. "postgresql-x64-9.5").
Klicken Sie mit der rechten Maustaste auf den Postgres-Dienst, und wählen Sie Eigenschaften -> Starttyp -> Manuell -> Übernehmen -> OK. Sie können es genauso leicht wieder auf automatisch umstellen.
Wenn Sie andere mit PostgreSQL in Verbindung stehende Dienste wie "pgbouncer" oder "PostgreSQL Scheduling Agent - pgAgent" in der Liste sehen, können Sie auch deren Starttyp in "Manuell" ändern, da sie nicht viel nutzen, wenn PostgreSQL nicht läuft. Dies bedeutet zwar mehr Ärger bei jedem Start und Stopp, also liegt es an Ihnen. Sie verwenden nicht so viele Ressourcen wie PostgreSQL selbst und haben möglicherweise keine spürbaren Auswirkungen auf die Systemleistung.
Wenn der Dienst ausgeführt wird, wird der Status "Gestartet" angezeigt, andernfalls wird er nicht ausgeführt.
Klicken Sie zum Starten mit der rechten Maustaste und wählen Sie Start. Eine Ladeaufforderung wird angezeigt und sollte bald darauf von selbst verschwinden. Wenn Sie einen Fehler erhalten, versuchen Sie es ein zweites Mal. Wenn dies nicht funktioniert, gab es ein Problem mit der Installation, möglicherweise weil Sie einige Einstellungen in Windows geändert haben. Die meisten Benutzer ändern sich nicht. Daher ist es möglicherweise ein wenig kompliziert, das Problem zu finden.
Klicken Sie mit der rechten Maustaste auf den Dienst, und wählen Sie Stopp.
Wenn beim Versuch, eine Verbindung zu Ihrer Datenbank herzustellen, eine Fehlermeldung angezeigt wird, überprüfen Sie die Dienste, um sicherzustellen, dass sie ausgeführt wird.
Weitere sehr spezifische Details zur EDB-Installation von PostgreSQL, z. B. die Python-Laufzeitversion im offiziellen Sprachpaket einer bestimmten PostgreSQL-Version, finden Sie immer im offiziellen EBD-Installationshandbuch . Ändern Sie die Version im Link zur Hauptversion Ihres Installationsprogramms.
Installieren Sie Postgresql with Brew auf dem Mac
Homebrew nennt sich " den fehlenden Paketmanager für macOS ". Es kann zum Erstellen und Installieren von Anwendungen und Bibliotheken verwendet werden. Nach der Installation können Sie den Befehl brew
, um PostgreSQL und seine Abhängigkeiten wie folgt zu installieren:
brew update
brew install postgresql
Homebrew installiert im Allgemeinen die neueste stabile Version. Wenn Sie ein anderes brew search postgresql
, listet brew search postgresql
die verfügbaren Versionen auf. Wenn PostgreSQL mit bestimmten Optionen brew info postgresql
werden soll, listet brew info postgresql
auf, welche Optionen unterstützt werden. Wenn Sie eine nicht unterstützte Build-Option benötigen, müssen Sie den Build möglicherweise selbst durchführen, können jedoch weiterhin Homebrew verwenden, um die allgemeinen Abhängigkeiten zu installieren.
Starten Sie den Server:
brew services start postgresql
Öffnen Sie die PostgreSQL-Eingabeaufforderung
psql
Wenn psql sich darüber beschwert, dass für Ihren Benutzer keine entsprechende Datenbank vorhanden ist, führen Sie createdb
.
Installieren Sie PostgreSQL von Source unter Linux
Abhängigkeiten:
- GNU Make Version> 3.80
- ein ISO / ANSI C-Compiler (zB gcc)
- ein Extraktor wie Teer oder Gzip
- zlib-devel
- readline-devel oder libedit-devel
Quellen: Link zur neuesten Quelle (9.6.3)
Jetzt können Sie die Quelldateien extrahieren:
tar -xzvf postgresql-9.6.3.tar.gz
Für die Konfiguration von PostgreSQL gibt es eine Vielzahl unterschiedlicher Optionen:
Vollständiger Link zur vollständigen Installationsprozedur
Kleine Liste der verfügbaren Optionen:
-
--prefix=PATH
für alle Dateien -
--exec-prefix=PATH
Pfad für die von der Architektur abhängige Datei -
--bindir=PATH
Pfad für ausführbare Programme -
--sysconfdir=PATH
Pfad für Konfigurationsdateien -
--with-pgport=NUMBER
einen Port für Ihren Server an -
--with-perl
addiert Perl-Unterstützung -
--with-python
fügt Python-Unterstützung hinzu -
--with-openssl
fügt die Unterstützung von--with-openssl
hinzu -
--with-ldap
fügt LDAP-Unterstützung hinzu -
--with-blocksize=BLOCKSIZE
Seitengröße in KB setzen-
BLOCKSIZE
muss eine Potenz von 2 und zwischen 1 und 32 haben
-
-
--with-wal-segsize=SEGSIZE
Größe des WAL-Segments in MB--with-wal-segsize=SEGSIZE
-
SEGSIZE
muss eine Potenz von 2 zwischen 1 und 64 sein
-
Gehen Sie in den neu erstellten Ordner und führen Sie das Skript cofigure mit den gewünschten Optionen aus:
./configure --exec=/usr/local/pgsql
Führen Sie make
, um die Objektdateien zu erstellen
Führen Sie make install
, um PostgreSQL aus den erstellten Dateien zu installieren
Führen Sie make clean
, make clean
Für die Erweiterung wechseln Sie das Verzeichnis cd contrib
, führen Sie make
und make install