PostgreSQL stellt eine Startdatei (.psqlrc) bereit, die ausgeführt wird, bevor eine Verbindung zur Datenbank hergestellt wird, wenn das Dienstprogramm psql verwendet wird. Mit der .psqlrc-Datei können Sie alle Ihre wichtigen Abfragen mit einem Wort-Alias mit dem Befehl „set“ platzieren und im psql-Terminal ausführen, anstatt große Abfragen einzugeben. Wenn Sie die .psqlrc-Datei nicht im Home-Verzeichnis des Benutzers „postgres“ sehen, können Sie sie explizit erstellen. Ich habe es ausprobiert und fand es sehr hilfreich.
Punkte auf .psqlrc:- .psqlrc ist eine Startdatei, die beim Verbinden mit dem Cluster ausgeführt wird.
- .psqlrc-Datei befindet sich im Benutzer-Home-Verzeichnis „postgres“.
- psql-Optionen -X oder -c, die .psqlrc-Datei nicht lesen.
- .psqlrc-Datei ist für die vollständige Sitzungsebene, nicht für die Datenbankebene.
Mein Terminal-Screenshot:
Mal sehen, wie man das implementiert.
Syntax:
set <alias-variable-name> 'query'Hinweis:Wenn Ihre Abfrage einfache oder doppelte Anführungszeichen enthält, verwenden Sie in der Abfrage „oder “. Beispielabfragen zum Einfügen in eine .psqlrc-Datei mit Alias:
vi ~/.psqlrc
set PAGER OFF
set waits 'SELECT pg_stat_activity.procpid, pg_stat_activity.current_query, pg_stat_activity.waiting, now() - pg_stat_activity.query_start as "totaltime", pg_stat_activity.backend_start FROM pg_stat_activity WHERE pg_stat_activity.current_query !~ '%IDLE%'::text AND pg_stat_activity.waiting = true;;'
set locks 'select pid,mode,current_query from pg_locks,pg_stat_activity where granted=false and locktype='transactionid' and pid=procpid order by pid,granted;;'
:wq!
Verwendung:
postgres=# :waits
procpid | current_query | waiting | totaltime | backend_start
---------+-------------------------------+---------+-----------------+----------------------------------
9223 | insert into locks VALUES (1); | t | 00:00:18.901773 | 2011-10-08 00:29:10.065186+05:30
(1 row)
postgres=# :locks
pid | mode | current_query
------+-----------+-------------------------------
9223 | ShareLock | insert into locks VALUES (1);
(1 row)
War es nicht hilfreich. Genießen… :). Wir werden mit weiteren Sachen zurück sein.