


So installieren und verwenden Sie PostgreSQL und PostGIS unter Linux
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
Für die RedHat-Serie installieren Sie bitte:
$ sudo yum install postgresql-server postgresql postgis
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"
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
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
Dann Geben Sie dieses Konto ein und erstellen Sie eine Datenbank
$ sudo su postgres $ initdb -D /usr/local/pgsql/database/
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
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
Nachdem PostgreSQL installiert ist,
geben Sie das Postgres-Konto ein und rufen Sie die PostgreSQL-Konsole auf:
$ sudo su postgres $ psql
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
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
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
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;
newdb: neuer Datenbankname
originaldb: das ist das vorherige template_postgis
dbuser:你的账户名,我一般使用 postgres
导入 .sql 文件
sudo su postgres psql \c newdb \i demo.sql \d
可以看到,.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?
这是因为 PostgreSQL 默认不对外开放权限,只对监听环回地址。要修改的话,需要找到 postgresql.conf 文件,修改值 listen_addresses:
listen_addresses = '*'
相关推荐:
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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

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.

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

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

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.

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.

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.

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.
