GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erstellen Sie eine PostgreSQL-Datenbank ohne Root-Rechte

Sie können PostgreSQL ohne Root-Privilegien ausführen, indem Sie eine neue Instanz erstellen (die PostgreSQL als „Cluster“ bezeichnet) und starten.

Sie können die Ubuntu-Init-Skripte, Wrapper-Tools wie pg_ctlcluster nicht verwenden , usw., wenn Sie dies tun. Sie dürfen nur die eigenen Tools von PostgreSQL verwenden.

Um die neue PostgreSQL-Instanz mit dem Superuser zu erstellen, der Ihrem Benutzernamen, dem Datenverzeichnis in Ihrem Home-Verzeichnis und standardmäßig aktivierter md5-Authentifizierung entspricht, verwenden Sie:

initdb -D $HOME/my_postgres -A md5 -U $USER

Stellen Sie wie gewünscht ein; siehe initdb --help .

Sie müssen dann postgresql.conf bearbeiten um den port zu ändern auf einen nicht standardmäßigen, da Ihr System wahrscheinlich sein eigenes Postgres auf dem Standardport 5432 ausführt. (Wenn Sie den Zugriff ausschließlich auf Sie beschränken möchten, können Sie stattdessen listen_addresses = '' und unix_socket_directories = /home/myuser/postgres_socket oder Wasauchimmer. Aber es ist einfacher, einfach einen anderen Port zu verwenden.)

So starten Sie es:

pg_ctl -D $HOME/my_postgres -w start

Um sich damit zu verbinden, geben Sie den gewählten Port an:

psql -p 5434 ...

(Wenn Sie unix_socket_directories geändert haben Sie sollten auch den Pfad angeben, den Sie angegeben haben, z. B. -h /home/myuser/postgres_socket .)

Um psql zu machen usw. verbinden Sie sich standardmäßig mit Ihrem Postgres, bearbeiten Sie Ihren ~/.bashrc so etwas hinzufügen wie

export PGPORT=5434

Beachten Sie jedoch, dass sich dies auch auf den Standardport für Verbindungen zu anderen Hosts auswirkt.

Um es zu stoppen:

pg_ctl -D $HOME/my_postgres -w stop

Sie können es aber auch einfach herunterfahren, ohne es zu stoppen, es kümmert sich nicht darum und wird sich sicher erholen, wenn Sie es das nächste Mal starten.

Um es automatisch zu starten, wenn Sie sich anmelden, wenn es in Ihrem Home-Verzeichnis eingerichtet ist, müssen Sie die Run-at-Startup-Funktionen Ihrer Desktop-Umgebung verwenden. Sie variieren je nach Umgebung und Version, daher kann ich hier keine Details angeben; es ist anders für GNOME 3, Unity (ubuntu), KDE, XFCE usw.

Beachten Sie, dass dieser Ansatz immer noch die Pakete des Systems verwendet für PostgreSQL. Dies ist wichtig, denn wenn Sie (sagen wir) PostgreSQL 9.4 deinstallieren und 9.6 installieren, funktioniert Ihre Kopie in Ihrem Home-Verzeichnis nicht mehr. Wenn Sie möchten, dass es vollständig unabhängig von Systempaketen ist, was Sie wahrscheinlich tun, wenn Sie das System nicht kontrollieren, sollten Sie PostgreSQL aus den Quellen kompilieren oder das binäre Installationsprogramm verwenden, um es in Ihrem Home-Verzeichnis zu installieren.


Linux
  1. PostgreSQL-Datenbankserver

  2. So erstellen Sie eine Datenbank in cPanel

  3. So sichern und wiederherstellen Sie eine Datenbank in PostgreSQL

  4. zsh ohne root-Zugriff installieren?

  5. ssh über einen Router ohne Portweiterleitung

So erstellen Sie eine Datenbank in PostgreSQL

Installieren Sie PostgreSQL auf Ubuntu 20.04

So installieren Sie PostgreSQL 14 in RHEL 8 Linux

Wie erstelle ich eine PostgreSQL-Datenbank?

Wie man eine Datenbank in MySQL erstellt

15 praktische PostgreSQL-Datenbankverwaltungsbefehle