Zuvor haben wir darüber gesprochen, wie man die PostgreSQL-Datenbank unter Linux aus der Quelle installiert.
In diesem Artikel sehen wir uns die 15 besten praktischen Beispiele für PostgreSQL-DBA-Befehle an .
Wenn Sie ein mySQL-Administrator sind, sehen Sie sich unseren Artikel mit 15 Beispielen für mysqladmin-Befehle an, den wir vor einiger Zeit besprochen haben.
1. Wie ändere ich das Passwort des PostgreSQL-Root-Benutzers?
$ /usr/local/pgsql/bin/psql postgres postgres Password: (oldpassword) # ALTER USER postgres WITH PASSWORD 'tmppassword'; $ /usr/local/pgsql/bin/psql postgres postgres Password: (tmppassword)
Das Ändern des Passworts für einen normalen Postgres-Benutzer ist ähnlich wie das Ändern des Passworts des Root-Benutzers. Der Root-Benutzer kann das Passwort jedes Benutzers ändern, und die normalen Benutzer können ihre Passwörter nur wie bei Unix ändern.
# ALTER USER username WITH PASSWORD 'tmppassword';
2. Wie richte ich das PostgreSQL SysV-Startskript ein?
$ su - root # tar xvfz postgresql-8.3.7.tar.gz # cd postgresql-8.3.7 # cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql # chmod a+x /etc/rc.d/init.d/postgresql
3. Wie überprüfe ich, ob der PostgreSQL-Server betriebsbereit ist?
$ /etc/init.d/postgresql status Password: pg_ctl: server is running (PID: 6171) /usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data" [Note: The status above indicates the server is up and running] $ /etc/init.d/postgresql status Password: pg_ctl: no server running [Note: The status above indicates the server is down]
4. Wie starte, stoppe und starte ich die PostgreSQL-Datenbank neu?
# service postgresql stop Stopping PostgreSQL: server stopped ok # service postgresql start Starting PostgreSQL: ok # service postgresql restart Restarting PostgreSQL: server stopped ok
5. Wie finde ich heraus, welche Version von PostgreSQL ich verwende?
$ /usr/local/pgsql/bin/psql test Welcome to psql 8.3.7, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit test=# select version(); version ---------------------------------------------------------------------------------------------------- PostgreSQL 8.3.7 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) (1 row) test=#
5. Wie erstelle ich einen PostgreSQL-Benutzer?
Es gibt zwei Methoden, mit denen Sie Benutzer erstellen können.
Methode 1: Erstellen des Benutzers in der PSQL-Eingabeaufforderung mit dem Befehl CREATE USER.
# CREATE USER ramesh WITH password 'tmppassword'; CREATE ROLE
Methode 2: Erstellen des Benutzers in der Shell-Eingabeaufforderung mit dem Befehl createuser.
$ /usr/local/pgsql/bin/createuser sathiya Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n CREATE ROLE
6. Wie erstelle ich eine PostgreSQL-Datenbank?
Es gibt zwei Methoden, mit denen Sie zwei Datenbanken erstellen können.
Methode 1: Erstellen der Datenbank in der PSQL-Eingabeaufforderung mit dem Befehl createuser.
# CREATE DATABASE mydb WITH OWNER ramesh; CREATE DATABASE
Methode 2: Erstellen der Datenbank in der Shell-Eingabeaufforderung mit dem Befehl createdb.
$ /usr/local/pgsql/bin/createdb mydb -O ramesh CREATE DATABASE
* -O Besitzername ist die Option in der Kommandozeile.
7. Wie erhalte ich eine Liste von Datenbanken in einer Postgresql-Datenbank?
# \l [Note: This is backslash followed by lower-case L] List of databases Name | Owner | Encoding ----------+----------+---------- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8
8. Wie lösche/lösche ich eine vorhandene PostgreSQL-Datenbank?
# \l List of databases Name | Owner | Encoding ----------+----------+---------- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8 # DROP DATABASE mydb; DROP DATABASE
9. Hilfe zu PostgreSQL-Befehlen erhalten
\? zeigt die PSQL-Eingabeaufforderungshilfe an. \h CREATE zeigt Hilfe zu allen Befehlen, die mit CREATE beginnen, wenn Sie etwas Bestimmtes wollen, wie zB Hilfe zum Erstellen von Indizes, dann müssen Sie CREATE INDEX. geben.
# \? # \h CREATE # \h CREATE INDEX
10. Wie erhalte ich eine Liste aller Tabellen in einer Postgresql-Datenbank?
# \d
Bei einer leeren Datenbank erhalten Sie „Keine Beziehungen gefunden“. Nachricht für den obigen Befehl.
11. Wie schalte ich das Timing ein und überprüfe, wie lange die Ausführung einer Abfrage dauert?
# \timing — Wenn Sie danach eine Abfrage ausführen, wird angezeigt, wie viel Zeit dafür benötigt wurde.
# \timing Timing is on. # SELECT * from pg_catalog.pg_attribute ; Time: 9.583 ms
12. Wie kann man eine PostgreSQL-Datenbank und -Tabelle sichern und wiederherstellen?
Wir haben bereits besprochen, wie man Postgres-Datenbanken und -Tabellen mit dem Dienstprogramm pg_dump und psql sichert und wiederherstellt.
13. Wie kann ich die Liste der verfügbaren Funktionen in PostgreSQL anzeigen?
Um mehr über die Funktionen zu erfahren, sagen Sie \df+
# \df # \df+
14. Wie bearbeite ich PostgreSQL-Abfragen in Ihrem bevorzugten Editor?
# \e
\e öffnet den Editor, in dem Sie die Abfragen bearbeiten und speichern können. Dadurch wird die Abfrage ausgeführt.
15. Wo finde ich die PostgreSQL-Verlaufsdatei?
Ähnlich wie bei der ~/.bash_history-Datei von Linux speichert postgreSQL alle ausgeführten SQL-Befehle in einer Verlaufsdatei namens ~/.psql_history, wie unten gezeigt.
$ cat ~/.psql_history alter user postgres with password 'tmppassword'; \h alter user select version(); create user ramesh with password 'tmppassword'; \timing select * from pg_catalog.pg_attribute;