Grundlegende Einführung und Bereitstellung von Postgresql

Als IT-Techniker bin ich mit Datenbanken kein Unbekannter, ich habe mysql- und sqlserver-Datenbanken direkt genutzt und mich auch systematisch mit Oracle-Datenbanken beschäftigt, von postgresql-Datenbanken habe ich nur im GIS-Bereich und bei ausländischen Unternehmen gehört, also ich bin interessiert.
Lernen Sie, indem Sie relevante Online-Lernmaterialien sortieren und Postgresql tatsächlich in der lokalen Konstruktionsumgebung erstellen und bereitstellen und kurz verwenden. Zeichnen Sie es hier für kontinuierliches und eingehendes Lernen in der Zukunft auf und bieten Sie auch Referenzen für Nachzügler. Es gibt zwangsläufig Auslassungen im Artikel Ich hoffe, dass die Korrekturen der Leser sehr geschätzt werden!

1. Grundlegende Einführung

1.1 Grundlegende Informationen

PostgreSQL ist ein leistungsstarkes Open-Source-Datenbanksystem. Nach mehr als 15 Jahren aktiver Entwicklung und kontinuierlicher Verbesserung hat PostgreSQL in der Branche einen hohen Ruf in Bezug auf Zuverlässigkeit, Stabilität und Datenkonsistenz erlangt. Derzeit kann PostgreSQL auf allen wichtigen Betriebssystemen ausgeführt werden, einschließlich Linux, Unix und Windows.
PostgreSQL ist eine vollständige Transaktionssicherheitsdatenbank, die umfangreiche Datentypen (z. B. JSON- und JSONB-Typen, Array-Typen) und benutzerdefinierte Typen unterstützt. Die PostgreSQL-Datenbank bietet eine reichhaltige Schnittstelle, die ihre Funktionen leicht erweitern kann. Sie können beispielsweise Ihren eigenen Indextyp unter dem GiST-Framework implementieren, die Verwendung der C-Sprache zum Schreiben benutzerdefinierter Funktionen und Trigger unterstützen und auch die Verwendung gängiger Programmiersprachen unterstützen um benutzerdefinierte Funktionen zu schreiben. Definieren Sie die Funktion. PL/Perl bietet die Möglichkeit, benutzerdefinierte Funktionen in der Perl-Sprache zu schreiben, und natürlich PL/Python, PL/Java, PL/Tcl usw.

Als Datenbank auf Unternehmensebene ist PostgreSQL stolz auf seine verschiedenen erweiterten Funktionen, wie z. Planung und Optimierung komplexer Abfragen und vorab erstellte Protokolle für die Fehlertoleranz. Es unterstützt internationale Zeichensätze, Multi-Byte-Kodierungen und unterstützt Vorgänge wie Sortieren, Fallbehandlung und Formatierung in lokalen Sprachen. Es verfügt außerdem über eine vollständige Skalierbarkeit für die große Datenmenge, die verwaltet werden kann, und die gleichzeitige Zugriffszeit, die von einer großen Anzahl von Benutzern zugelassen wird.

1.2 Vorteile

Die PostgreSQL-Datenbank hat folgende Vorteile:
Die PostgreSQL-Datenbank ist derzeit die leistungsstärkste Open-Source-Datenbank, sie ist die Abfragesprache, die dem Industriestandard SQL92 am nächsten kommt, und realisiert mindestens 160 der 179 Hauptfunktionen, die im SQL:2011-Standard erforderlich sind (Hinweis: Kein Datenbankverwaltungssystem implementiert derzeit alle wichtigen Funktionen des SQL:2011-Standards vollständig).
Stabil und zuverlässig: PostgreSQL ist die einzige Open-Source-Datenbank, die keinen Datenverlust erreichen kann. Aktuell wird berichtet, dass einige Banken im In- und Ausland die PostgreSQL-Datenbank nutzen.
Open Source spart Geld: Die PostgreSQL-Datenbank ist Open Source und kostenlos und verwendet ein BSD-ähnliches Protokoll, sodass es im Grunde keine Einschränkungen bei der Verwendung und Zweitentwicklung gibt.
Breite Unterstützung: Die PostgreSQL-Datenbank unterstützt eine große Anzahl gängiger Entwicklungssprachen, darunter C, C++, Perl, Python, Java, Tcl und PHP.
Die PostgreSQL-Community ist aktiv: PostgreSQL veröffentlicht grundsätzlich alle 3 Monate eine Patch-Version, was bedeutet, dass bekannte Fehler bald behoben und auf die Bedürfnisse von Anwendungsszenarien zeitnah reagiert wird.

2. Vergleichen Sie MySQL und Orakel

2.1 PostgreSQL VS. Oracle

Die Oracle-Datenbank ist derzeit die leistungsstärkste kommerzielle Datenbank, und PostgreSQL ist die leistungsstärkste Open-Source-Datenbank.
Der Unterschied zwischen PostgreSQL und Oracle besteht darin, dass PostgreSQL über mehr Funktionen zur Unterstützung von Internetfunktionen verfügt. Beispielsweise unterstützt der PostgreSQL-Datentyp Netzwerkadressentypen, XML-Typen, JSON-Typen, UUID-Typen und Array-Typen und verfügt über leistungsstarke Funktionen für reguläre Ausdrücke. Zum Beispiel kann der Abgleich regulärer Ausdrücke in der Where-Bedingung verwendet werden, und das auch in Sprachen wie Python und Perl geschrieben sein, gespeicherte Prozeduren usw. Außerdem ist PostgreSQL kleiner. PostgreSQL kann perfekt auf einem Computer mit kleinem Arbeitsspeicher ausgeführt werden, z. B. einem 512-MB-Cloud-Host, während die Oracle-Datenbank im Grunde auf einigen Gigabyte Cloud-Host ausgeführt werden kann. Das Oracle-Installationspaket ist oft mehr als mehrere GB groß, während das PostgreSQL-Installationspaket nur einige zehn MB groß ist. PostgreSQL kann einfach in jeder Umgebung installiert werden. Die Installation der Oracle-Datenbank dauert Stunden, während PostgreSQL in Minuten installiert werden kann.

2.2 Postgresql VS Mysql

Sowohl Postgresql als auch Mysql sind Open-Source-Datenbanken.
PostgreSQL hat die folgenden Vorteile.
Leistungsstarke Funktionen: Unterstützung aller gängigen Multi-Table-Join-Abfragemethoden wie „Hash JOIN“, „Sort Merge JOIN“ usw.; Feldtypen unterstützen auch Array-Typen, und sogar einige Geschäftsfunktionen müssen nicht mehr geschrieben werden, um sie zu implementieren. verwenden Sie sie einfach direkt Die Funktionalität der Datenbank macht es möglich.
Umfassende Tools zur Leistungsoptimierung und Messinformationen: Es gibt eine große Anzahl von Leistungsansichten in der PostgreSQL-Datenbank, mit denen Probleme leicht lokalisiert werden können (z. B. können Sie sehen, wie SQL ausgeführt wird, Sie können sehen, wer wartet und welcher Datensatz durchgesperrt ist die Schlossansicht usw.) . PostgreSQL hat eine spezielle Architektur und einen speziellen Prozess zum Sammeln von Leistungsdaten entwickelt, darunter Statistiken zu physischen E/A-Vorgängen und Leistungsdaten zu Tabellen-Scans und Index-Scans.
Gute Online-Betriebsfunktion: Wenn PostgreSQL eine Nullspalte hinzufügt, definiert es im Wesentlichen nur die Spalte in der Systemtabelle, ohne die physische Struktur zu aktualisieren, wodurch PostgreSQL das Hinzufügen einer Spalte sofort abschließen kann. PostgreSQL unterstützt auch die Funktion der Online-Indexerstellung, und der Aktualisierungsvorgang kann während des Indexerstellungsprozesses entsperrt werden.
Ab PostgreSQL9.1 unterstützt es die Funktion der synchronen Replikation (synchrone Replikation), und die Hochverfügbarkeitslösung ohne Datenverlust kann durch die Replikation zwischen Master und Slave realisiert werden.
Es bietet sich an, Plug-Ins zu schreiben, um die Funktionen der PostgreSQL-Datenbank zu erweitern: um neue Funktionen des mobilen Internets zu unterstützen, wie beispielsweise räumliche Indizes.Wenn
der Datenzugriff der Anwendung sehr einfach ist, ist es auch sehr sinnvoll, MySQL zu verwenden für das Backend. Wenn die Anwendung jedoch komplex ist und Sie nicht zu viele Entwicklungsressourcen verbrauchen möchten, ist PostgreSQL eine sehr kluge Wahl.

3. Installation und Bereitstellung

3.1 Installationsumgebung

服务器环境:centos7
postgresql版本:postgresql-14.0

3.2 Installationsschritte

  1. Laden Sie das Installationspaket herunter
    Bildbeschreibung hier einfügen
  2. Entpacken und kompilieren
yum -y install gcc gcc-c++ readline-devel zlib-devel
tar -zvxf postgresql-14.0.tar.gz
cd postgresql-14.0
./configure
make && make install
/usr/local/目录下会生产pgsql目录
  1. Benutzer und Berechtigungen
useradd postgres
chown -R postgres:postgres pgsql/
  1. Initialisieren Sie die Datenbank
进入bin目录
su postgres
./initdb /usr/local/pgsql/data
  1. Start-up
./pg_ctl -D /usr/local/pgsql/data -l logfile start
#开启
/home/postgres/pgsql/bin/pg_ctl  -D /home/postgres/data/ -l logfile start
#查看状态
/home/postgres/pgsql/bin/pg_ctl -D /home/postgres/data/ -l logfile status
#停止
/home/postgres/pgsql/bin/pg_ctl -D /home/postgres/data/ -l logfile stop

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

  1. Ändern der Konfiguration
    Nach der Initialisierung können Sie die generierten Datenverzeichnisdaten und die zugehörigen Daten- und Konfigurationsdateien im postgresql-Verzeichnis pg_hba.conf und postgresql.conf sehen, eine davon
    ist die Zugriffssteuerungskonfiguration (127.0.0.1 wird in die vertrauenswürdige Client-IP geändert Das Netzwerksegment ermöglicht den Fernzugriff),
    eine davon ist die Hauptkonfigurationsdatei von postgresql (listen_address=localhost wird in ein Sternchen geändert, damit es das gesamte Netzwerk abhört)

Konfigurieren Sie die vom Server zugelassenen Authentifizierungsmethoden in pg_hba.conf und fügen Sie die folgende Zeile hinzu.

TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 password

Postgresql.conf Bearbeiten oder fügen Sie die folgende Zeile hinzu, damit PostgreSQL Verbindungsanfragen von jeder IP annehmen und den ursprünglich auskommentierten Port öffnen kann

listen_addresses = '*'
port = 5432
  1. pgsql neu starten
./pg_ctl -D /usr/local/pgsql/data/ -l logfile restart

Bildbeschreibung hier einfügen

  1. Anmelden und Passwort ändern
./psql
ALTER USER postgres WITH PASSWORD '123456';
psql -d postgres -p 5432 -U postgres -h Localhost
  1. Die Navicat-Fernverbindung ist erfolgreich
    Bildbeschreibung hier einfügen

4. Booten Sie automatisch

  1. Suchen Sie das Startskript unter dem Installationspaket
postgresql-14.0/contrib/start-scripts/linux
  1. Startskript kopieren
cp postgresql-14.0/contrib/start-scripts/linux /etc/init.d/postgresql
  1. Skriptkonfiguration ändern
# Installation prefix
prefix=/usr/local/pgsql
# Data directory
PGDATA="/usr/local/pgsql/data"
# Who to run the postmaster as, usually "postgres".  (NOT "root")
PGUSER=postgres
# Where to keep a log file
PGLOG="$PGDATA/serverlog"
  1. Ausführungsberechtigungen erhöhen
chmod a+x /etc/init.d/postgresql
  1. Registrieren Sie sich, um automatisch zu starten
chkconfig命令将该脚本注册为开机启动便可:
chkconfig --add postgresql

Überprüfung neu starten

ps -ef|grep postgresql

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

5. pgadmin-Client

https://www.pgadmin.org/download/

Bildbeschreibung hier einfügen

6. Referenzen

https://www.postgresql.org/
https://www.pgadmin.org/
https://blog.51cto.com/u_15289334/3321664
https://blog.csdn.net/Victory_Lei/article/details/121414749

Supongo que te gusta

Origin blog.csdn.net/shy871/article/details/125234837
Recomendado
Clasificación