Inhaltsverzeichnis
PostgreSQL-Konfiguration
Nachdem PostgreSQL installiert ist,
Erstellen Sie eine PostGIS-Datenbank
设置数据库权限
Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux So installieren und verwenden Sie PostgreSQL und PostGIS unter Linux

So installieren und verwenden Sie PostgreSQL und PostGIS unter Linux

Feb 07, 2018 am 09:30 AM
linux postgresql

Dieser Artikel stellt hauptsächlich die Installation und Verwendung von PostgreSQL und PostGIS unter Linux vor und analysiert und erklärt die Punkte, auf die man achten muss. Ich hoffe, dass er allen helfen kann.

PostgreSQL und PostGIS installieren

PostgreSQL und PostGIS sind bereits beliebte Open-Source-Projekte und wurden in die Yum- oder Apt-Pakete der wichtigsten Linux-Distributionen aufgenommen. Für Ubuntu installieren Sie beispielsweise einfach die folgenden Pakete:


$ sudo apt-get install postgresql-client postgresql postgis -y
Nach dem Login kopieren

Für die RedHat-Serie installieren Sie bitte:


$ sudo yum install postgresql-server postgresql postgis
Nach dem Login kopieren

Nach der Erstinstallation werden standardmäßig eine Datenbank namens postgres und ein Datenbankbenutzer namens postgres generiert. Hierbei ist zu beachten, dass auch ein Linux-Systembenutzer namens postgres generiert wird. Wenn wir in Zukunft PostgreSQL betreiben, sollten wir dies in diesem neu erstellten Postgres-Benutzer tun.

PostgreSQL-Konfiguration

Wenn Sie vom Quellcode installieren

Es wird nicht empfohlen, vom Quellcode zu installieren. Ich habe versucht, von der Quelle zu installieren Code ist zu mühsam und verschiedene Make-Installationen sind fehleranfällig. Schließlich habe ich es mit rpm installiert. Aber da ich einige Zeit mit der Recherche verbracht habe und es erfolgreich installiert habe, werde ich es aufzeichnen – es können jedoch Fehler auftreten. Wenn Leser also die Installation vom Quellcode aus durchführen möchten, seien Sie bitte bereit, ein Rollback durchzuführen.

Wenn Sie die Quellkompilierung verwenden und die Installation durchführen, erfordert dieser Abschnitt eine zusätzliche Konfiguration.

Es scheint, dass die Installation der CentOS-Serie auch erfordert...

Nach der Standard-Make-Installation lautet das PostgreSQL-Installationsverzeichnis: /usr/local/pgsql/

Zunächst müssen Sie gemäß Zur Referenz in diesem Link die Umgebungsvariablen


$ set $PGDATA = "/usr/local/pgsql/database"
Nach dem Login kopieren

konfigurieren. Nach dem Ausführen von pg_ctl starten Sie jedoch Es wird ein Fehler angezeigt:


pg_ctl: directory "/usr/local/pgsql/database" is not a database cluster directory
Nach dem Login kopieren

In diesem Fall müssen Sie die Schritte in der offiziellen PostGreSQL-Dokumentation befolgen, um eine echte Datenbank zu erstellen:

PostgreSQL: Dokumentation: 9.1: Erstellen eines Datenbankclusters

Erstellen Sie zuerst ein Benutzerkonto mit dem Namen postgres


$ usradd postgres
$ sudo chown postgres /usr/local/pgsql/database
Nach dem Login kopieren

Dann Geben Sie dieses Konto ein und erstellen Sie eine Datenbank


$ sudo su postgres
$ initdb -D /usr/local/pgsql/database/
Nach dem Login kopieren

Zu diesem Zeitpunkt gibt die Shell Folgendes aus:


The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "C".
The default database encoding has accordingly been set to "SQL_ASCII".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /usr/local/pgsql/database ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
creating template1 database in /usr/local/pgsql/database/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
pg_ctl -D /usr/local/pgsql/database/ -l logfile start
Nach dem Login kopieren

Herzlichen Glückwunsch, Sie können PostgreSQL als nächstes starten:


pg_ctl -D /usr/local/pgsql/database/ -l /usr/local/pgsql/database/psql.log start
Nach dem Login kopieren

Nachdem PostgreSQL installiert ist,

geben Sie das Postgres-Konto ein und rufen Sie die PostgreSQL-Konsole auf:


$ sudo su postgres
$ psql
Nach dem Login kopieren

Dies entspricht: Der Systembenutzer postgres meldet sich als Datenbankbenutzer mit demselben Namen bei der Datenbank an. Ansonsten müssen wir den Benutzer jedes Mal in den Parametern angeben Wir führen psql aus, was man leicht vergisst.

Legen Sie ein Passwort in psql fest – es ist zu beachten, dass das hier festgelegte Passwort nicht das Passwort des Postgres-Systemkontos ist, sondern das Benutzerpasswort in der Datenbank:


postgres=# \password postgres
Nach dem Login kopieren

Dann geben Sie einfach nach Aufforderung das Passwort ein.

PostGIS aus dem Quellcode installieren

Wenn Sie PostgreSQL aus dem Quellcode installieren möchten, müssen Sie zunächst feststellen, welche Version von PostgreSQL Sie installiert haben

Dann Gehen Sie zu PostGIS. Gehen Sie zur Webseite, um zu überprüfen, welcher Version von PostGIS sie entspricht.

Laden Sie abschließend die entsprechende Quelle entsprechend der PostGIS-Version herunter

Der endgültige Import ist sehr mühsam. Der Autor bleibt bei diesem Schritt hängen, daher habe ich die Installation vom Quellcode endgültig aufgegeben. .

PostGIS-Erweiterung importieren

Je nach verschiedenen Versionen von Postgresql und Postgis unterscheidet sich der Pfad geringfügig, hauptsächlich weil der Pfad Versionsinformationen enthält:


$ sudo su postgres
$ createdb template_postgis
$ createlang plpgsql template_postgis
$ psql -d template_postgis -f /usr/share/postgresql/9.5/contrib/postgis-2.2/postgis.sql
$ psql -d template_postgis -f /usr/share/postgresql/9.5/contrib/postgis-2.2/spatial_ref_sys.sql
Nach dem Login kopieren

Im obigen Vorgang wurde eine leere Datenbank namens „template_postgis“ erstellt. Diese Datenbank ist leer und gehört dem Postgres-Benutzer. Achten Sie darauf, dieser Datenbank keine Daten hinzuzufügen. Der Grund, warum diese Datenbank als „Vorlage“ bezeichnet wird, bedeutet, dass sie zur Ableitung verwendet wird.

Der entsprechende PostGIS-Pfad kann anders sein. Wenn dies fehlschlägt, versuchen Sie es mit dem oben genannten Pfad und suchen Sie nach einigen .sql-Dateien, die Sie ausprobieren können.

.shp-Datei in eine PostGIS-Datenbank konvertieren

.shp-in eine .sql-Datei konvertieren

Suchen Sie zunächst die Datei, die konvertiert werden muss, sofern dies der Fall ist Es muss konvertiert werden. Die .shp-Datei lautet: /tmp/demo.shp. Gehen Sie dann wie folgt vor:


$ sudo su postgres
$ cd /tmp
$ shp2pgsql -W GBK -s 3857 ./demo.shp entry > demo.sql
Nach dem Login kopieren

Hier müssen wir jeweils die Bedeutung erklären Teil des letzten Satzes:

  • -W GBK: Wenn Ihre .shp-Datei chinesische Schriftzeichen enthält, fügen Sie bitte diese Option hinzu

  • -s 3857 : Geben Sie das Referenzkoordinatensystem der Datei an. Meine .shp-Datei verwendet EPSG:3857

  • ./demo.shp: Der Pfad der .shp-Datei

  • Eintrag: zeigt an, dass Sie möchte den Namen der importierten Datenbanktabelle – vorausgesetzt, dass diese .shp-Datei jeden Eintrag darstellt, also habe ich ihn „Eintrag“ genannt

  • demo.sql

Nachdem Sie die .sql-Datei erhalten haben, können Sie sie direkt in die PostgreSQL-Datenbank importieren.

Erstellen Sie eine PostGIS-Datenbank

Hier müssen Sie die vorherige Vorlage verwenden.


sudo su postgres
psql
CREATE DATABASE newdb WITH TEMPLATE originaldb OWNER dbuser;
Nach dem Login kopieren
  • newdb: neuer Datenbankname

  • originaldb: das ist das vorherige template_postgis

  • dbuser:你的账户名,我一般使用 postgres

导入 .sql 文件


sudo su postgres
psql
\c newdb
\i demo.sql
\d
Nach dem Login kopieren

可以看到,.sql 文件已经被导入了。

设置数据库权限

OK,现在我们在本机(服务器 IP 假设是 192.168.1.111)用以下命令登录 psql,会发现一段输出:


$ psql -h 192.168.1.111 -p 5432
psql: could not connect to server: Connection refused
    Is the server running on host "100.94.110.105" and accepting
    TCP/IP connections on port 5432?
Nach dem Login kopieren

这是因为 PostgreSQL 默认不对外开放权限,只对监听环回地址。要修改的话,需要找到 postgresql.conf 文件,修改值 listen_addresses:


listen_addresses = '*'
Nach dem Login kopieren

相关推荐:

Python连接PostgreSQL数据库的方法

PHP连接不上PostgreSQL的问题

PHP 读取Postgresql中的数组_PHP教程

Das obige ist der detaillierte Inhalt vonSo installieren und verwenden Sie PostgreSQL und PostGIS unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So starten Sie Apache So starten Sie Apache Apr 13, 2025 pm 01:06 PM

Die Schritte zum Starten von Apache sind wie folgt: Installieren Sie Apache (Befehl: sudo apt-Get-Get-Installieren Sie Apache2 oder laden Sie ihn von der offiziellen Website herunter). (Optional, Linux: sudo systemctl

Was tun, wenn der Port Apache80 belegt ist Was tun, wenn der Port Apache80 belegt ist Apr 13, 2025 pm 01:24 PM

Wenn der Port -80 -Port der Apache 80 besetzt ist, lautet die Lösung wie folgt: Finden Sie den Prozess, der den Port einnimmt, und schließen Sie ihn. Überprüfen Sie die Firewall -Einstellungen, um sicherzustellen, dass Apache nicht blockiert ist. Wenn die obige Methode nicht funktioniert, konfigurieren Sie Apache bitte so, dass Sie einen anderen Port verwenden. Starten Sie den Apache -Dienst neu.

So überwachen Sie die NGINX SSL -Leistung auf Debian So überwachen Sie die NGINX SSL -Leistung auf Debian Apr 12, 2025 pm 10:18 PM

In diesem Artikel wird beschrieben, wie die SSL -Leistung von NGINX -Servern auf Debian -Systemen effektiv überwacht wird. Wir werden Nginxexporter verwenden, um Nginx -Statusdaten in Prometheus zu exportieren und sie dann visuell über Grafana anzeigen. Schritt 1: Konfigurieren von Nginx Erstens müssen wir das Modul stub_status in der nginx -Konfigurationsdatei aktivieren, um die Statusinformationen von Nginx zu erhalten. Fügen Sie das folgende Snippet in Ihre Nginx -Konfigurationsdatei hinzu (normalerweise in /etc/nginx/nginx.conf oder deren inklusive Datei): location/nginx_status {stub_status

So richten Sie im Debian -System einen Recyclingbehälter ein So richten Sie im Debian -System einen Recyclingbehälter ein Apr 12, 2025 pm 10:51 PM

In diesem Artikel werden zwei Methoden zur Konfiguration eines Recycling -Bin in einem Debian -System eingeführt: eine grafische Schnittstelle und eine Befehlszeile. Methode 1: Verwenden Sie die grafische Schnittstelle Nautilus, um den Dateimanager zu öffnen: Suchen und starten Sie den Nautilus -Dateimanager (normalerweise als "Datei") im Menü Desktop oder Anwendungen. Suchen Sie den Recycle Bin: Suchen Sie nach dem Ordner recycelner Behälter in der linken Navigationsleiste. Wenn es nicht gefunden wird, klicken Sie auf "Andere Speicherort" oder "Computer", um sie zu suchen. Konfigurieren Sie Recycle Bin-Eigenschaften: Klicken Sie mit der rechten Maustaste auf "Recycle Bin" und wählen Sie "Eigenschaften". Im Eigenschaftenfenster können Sie die folgenden Einstellungen einstellen: Maximale Größe: Begrenzen Sie den im Recycle -Behälter verfügbaren Speicherplatz. Aufbewahrungszeit: Legen Sie die Erhaltung fest, bevor die Datei automatisch im Recyclingbehälter gelöscht wird

Die Bedeutung von Debian Sniffer für die Netzwerküberwachung Die Bedeutung von Debian Sniffer für die Netzwerküberwachung Apr 12, 2025 pm 11:03 PM

Obwohl in den Suchergebnissen "Debiansniffer" und ihre spezifische Anwendung bei der Netzwerküberwachung nicht direkt erwähnt werden, können wir schließen, dass sich "Sniffer" auf ein Tool für Netzwerkpaket -Capture -Analyse bezieht, und seine Anwendung im Debian -System unterscheidet sich nicht wesentlich von anderen Linux -Verteilungen. Die Netzwerküberwachung ist entscheidend für die Aufrechterhaltung der Netzwerkstabilität und die Optimierung der Leistung, und Tools für die Analyse der Paketerfassung spielen eine Schlüsselrolle. Im Folgenden werden die wichtige Rolle von Tools zur Netzwerküberwachung (z. B. in Debian-Systemen ausgeführt) erklärt: Der Wert von Netzwerküberwachungstools: Schneller Fehlerstandort: Echtzeitüberwachung von Netzwerkmetriken, wie z.

So optimieren Sie die Leistung von Debian Readdir So optimieren Sie die Leistung von Debian Readdir Apr 13, 2025 am 08:48 AM

In Debian -Systemen werden Readdir -Systemaufrufe zum Lesen des Verzeichnisinhalts verwendet. Wenn seine Leistung nicht gut ist, probieren Sie die folgende Optimierungsstrategie aus: Vereinfachen Sie die Anzahl der Verzeichnisdateien: Teilen Sie große Verzeichnisse so weit wie möglich in mehrere kleine Verzeichnisse auf und reduzieren Sie die Anzahl der gemäß Readdir -Anrufe verarbeiteten Elemente. Aktivieren Sie den Verzeichnis -Inhalt Caching: Erstellen Sie einen Cache -Mechanismus, aktualisieren Sie den Cache regelmäßig oder bei Änderungen des Verzeichnisinhalts und reduzieren Sie häufige Aufrufe an Readdir. Speicher -Caches (wie Memcached oder Redis) oder lokale Caches (wie Dateien oder Datenbanken) können berücksichtigt werden. Nehmen Sie eine effiziente Datenstruktur an: Wenn Sie das Verzeichnis -Traversal selbst implementieren, wählen Sie effizientere Datenstrukturen (z.

So starten Sie den Apache -Server neu So starten Sie den Apache -Server neu Apr 13, 2025 pm 01:12 PM

Befolgen Sie die folgenden Schritte, um den Apache -Server neu zu starten: Linux/MacOS: Führen Sie sudo systemCTL RESTART APache2 aus. Windows: Net Stop Apache2.4 und dann Net Start Apache2.4 ausführen. Führen Sie Netstat -a | Findstr 80, um den Serverstatus zu überprüfen.

So lösen Sie das Problem, dass Apache nicht gestartet werden kann So lösen Sie das Problem, dass Apache nicht gestartet werden kann Apr 13, 2025 pm 01:21 PM

Apache kann aus den folgenden Gründen nicht beginnen: Konfigurationsdatei -Syntaxfehler. Konflikt mit anderen Anwendungsports. Berechtigungen Ausgabe. Aus dem Gedächtnis. Prozess -Deadlock. Dämonversagen. Selinux -Berechtigungen Probleme. Firewall -Problem. Software -Konflikt.

See all articles