[LINUX] Über den Unterschied zwischen PostgreSQL su und sudo

Einführung

Jetzt, da ich Ingenieur geworden bin und mit Linux und PostgreSQL in Kontakt gekommen bin, werde ich das Gelernte als Aufzeichnung aufbewahren. Die Umgebung ist CentOS 7.2. Verwenden Sie PostgreSQL.

postgres user und psql befehl

Verwenden Sie den Befehl psql, um mit der Datenbank zu arbeiten. Der Befehl psql ist ein Befehl zum Bedienen der Datenbank vom Terminal aus. Dieser Befehl kann jedoch nicht von allen Benutzern verwendet werden. (Es scheint möglich, wenn Sie die Einstellung ändern.) Wechseln Sie beim Betrieb der Datenbank zum Benutzer postgres (oder zu einem Benutzer, der den Befehl psql verwenden kann) anstelle des Root-Benutzers oder allgemeinen Benutzers, und führen Sie den Befehl psqk aus, um die Datenbank zu betreiben. Die Befehle su und sudo werden beim Wechseln zwischen Benutzern verwendet.

Über den Befehl su

Der Befehl su ist ein Ersatzbenutzer, ein Superuser oder ein Switch-Benutzer. Ich habe es nachgeschlagen, aber ich wusste nicht, wofür es steht. Es bedeutet, Benutzer zu wechseln.

su - postgres

Wechseln zum Postgres-Benutzer.

In Bezug auf das Vorhandensein oder Fehlen von Bindestrichen

Beachten Sie das Vorhandensein oder Fehlen von "-". Wenn ein "-" vorhanden ist, wird die Umgebung so initialisiert, als ob Sie sich direkt angemeldet hätten. Das heißt, das aktuelle Verzeichnis ist das Ausgangsverzeichnis des neuen Benutzers, und alle Umgebungsvariablen werden initialisiert. Wenn kein "-" vorhanden ist, bleibt die aktuelle Umgebung unverändert und nur der Benutzer wird gewechselt. (Nakajima Yoshikazu "LinuC Lehrbuch LinuC Level 1 Version 10.0 kompatibel" S. 425)

Es scheint, dass.

su -
Passwort:

Wenn Sie den Benutzernamen weglassen, werden Sie zum Root-Benutzer gewechselt und nach einem Kennwort gefragt.

su - postgres
#Wechseln Sie den Benutzer zu postgres
psql test
#Greifen Sie mit dem Befehl psql auf den Testserver zu
¥d
#Sie können die Tabellen auf dem Testserver mit \ mark (oder Backslash) auflisten. D.
¥d table
#Sie können die Spalten in dieser Tabelle auch auflisten, indem Sie den Tabellennamen nach \ d eingeben.

Nachdem Sie mit dem Befehl su zum Benutzer postgres gewechselt haben, geben Sie den Zielserver mit dem Befehl psql an. Sie schreiben SQL-Anweisungen wie SELECT. Wenn Sie den Benutzer wechseln, bleibt dieser unverändert, sodass Sie mit Strg + d zum ursprünglichen Benutzer zurückkehren können.

Über den sudo-Befehl

Im Fall des Befehls sudo können Sie von sudo aus SQL-Anweisungen in eine Zeile schreiben.

sudo -u postgres psql table -c "SELECT~";

Wechseln Sie den Benutzer postgres mit der Option u aus dem Befehl sudo, geben Sie die DB-aufgerufene Tabelle aus dem Befehl psql an. Da Sie den Befehl nacheinander eingeben, können Sie die SQL-Anweisung eingeben, indem Sie sie in die Option c und in doppelte Anführungszeichen setzen.

sudo -u postgres psql table -f /var/test.sql

Wenn die SQL-Anweisung in einer Datei organisiert ist, kann sie auch ausgeführt werden, indem die Option c in die Option f geändert wird. Im obigen Fall wird die Datei test.sql unter / var ausgeführt.

Da der Befehl sudo jedoch jedes Mal die Benutzer wechseln und SQL-Anweisungen schreiben muss, Es ist möglicherweise besser, einmal mit dem Befehl su zu wechseln, wenn Sie SQL-Anweisungen mehrmals schreiben.

Zusammenfassung

Beschrieb den Unterschied zwischen su und sudo für den Wechsel zum Postgres-Benutzer. Ich denke, es ist tiefer, aber ich werde von jetzt an lernen.

Recommended Posts

Über den Unterschied zwischen PostgreSQL su und sudo
Über den Unterschied zwischen "==" und "is" in Python
Über die Beziehung zwischen Git und GitHub
Was ist der Unterschied zwischen "pip" und "conda"?
Was ist der Unterschied zwischen Unix und Linux?
Kann BERT den Unterschied zwischen "Ame (Süßigkeiten)" und "Ame (Regen)" verstehen?
Was ist der Unterschied zwischen usleep, nanosleep und clock_nanosleep?
Wie man Argparse benutzt und den Unterschied zwischen Optparse
Unterschied zwischen Prozess und Job
Unterschied zwischen "categoryical_crossentropy" und "sparse_categorical_crossentropy"
Unterschied zwischen Regression und Klassifikation
Unterschied zwischen MicroPython und CPython
Unterschied zwischen ps a und ps -a
Unterschied zwischen Return und Print-Python
Was ist der Unterschied zwischen symbolischen und harten Links?
Verstehen Sie den Unterschied zwischen der kumulativen Zuordnung zu Variablen und der kumulativen Zuordnung zu Objekten
Unterschied zwischen Vordergrundprozess und Hintergrundprozess, prinzipiell verstanden
Unterschied zwischen Ruby und Python Split
Unterschied zwischen list () und [] in Python
Unterschied zwischen SQLAlchemy filter () und filter_by ()
Unterschied zwischen == und ist in Python
(Hinweis) Unterschied zwischen Gateway und Standard-Gateway
Unterschied zwischen Numpys Randint und Randoms Randint
Unterschied zwischen sortiert und sortiert (Denkmal)
Unterschied zwischen der Python2-Serie und der Python3-Serie dict.keys ()
[Python] Unterschied zwischen Funktion und Methode
Unterschied zwischen SQLAlchemy flush () und commit ()
Python - Unterschied zwischen exec und eval
[Python] Unterschied zwischen randrange () und randint ()
[Python] Unterschied zwischen sortiert und sortiert (Colaboratory)
Ich untersuchte das Verhalten bezüglich des Unterschieds zwischen Hard Link und Symbolic Link
Linux (Über Benutzer und su / sudo-Befehle)
[Xg Boost] Unterschied zwischen Softmax und Softprob
Unterschied zwischen Anweisungen (Anweisungen) und Ausdrücken (Ausdrücken) in Python
[Einführung in Python] Was ist der Unterschied zwischen einer Liste und einem Taple?
[Django ORM] Unterschied zwischen Werten () und nur ()
Unterschiede in der Beziehung zwischen PHP und Python schließlich und beenden
Unterschied zwischen @classmethod und @staticmethod in Python
Unterschied zwischen Anhängen und + = in der Python-Liste
Unterschied zwischen nicht lokal und global in Python
Unterschied zwischen linearer Regression, Ridge-Regression und Lasso-Regression
[Python] Unterschied zwischen Klassenmethode und statischer Methode
Unterschied zwischen Docker-Compose-Datei env_file und .env-Datei
Die subtile Beziehung zwischen Gentoo und Pip
[Python] Unterschied zwischen Rand- und Randn-Ausgabe
Geschwindigkeitsunterschied zwischen wsgi, Flasche und Flasche
Unterschied zwischen numpy.ndarray und list (Dimension, Größe)
Über _ und __
Unterschied zwischen ls -l und cat Befehl
Differenz- und Kompatibilitätsprüfung zwischen Keras und tf.keras # 1
Über das Verhalten von copy, deepcopy und numpy.copy
Die Antwort von "1/2" unterscheidet sich zwischen Python2 und 3
Unterschied zwischen Variablen und Selbst. Variablen in der [Python] -Klasse
Python-Handspiel (Interoperation zwischen CSV und PostgreSQL)
Bayes Modellierung-Schätzung des Unterschieds zwischen den beiden Gruppen-
Über den Test
Über die Warteschlange
[Einführung in das Modell für Infektionskrankheiten] Was ist der Unterschied zwischen der April-Epidemie und dieser Epidemie? .. .. ‼
Untersuchung des Zusammenhangs zwischen Eisausgaben und Temperatur