Psql

From Linuxwiki
Revision as of 17:04, 11 May 2026 by Linadmin (talk | contribs) (14 revisions imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

psql, olika parametrar

-h <hostname>
-p <port>
-d <database>
-U <user>
-P pager=OFF tar bort scrollfunktionen

Exempel

psql -h myhost -p 5432 -d mydb -U myuser
psql postgresql://myuser@myhost:5432/mydb

mydb och myuser är samma som operativsystemets användarnamn. myhost är på ett unix-system samma som socket-connection.

Köra direkt från promten och sql-script

För att köra ett kommando direkt från promten och få tillbaka svaret:

psql -c "SELECT current_time"
   timetz
---------------
18:48:32.484+01
(1 row)


Vill man istället exekvera en fil med flera SQL-satser:

psql -f examples.sql


Det går även att kombinera -c och -f

psql -c "SELECT current_time" -f examples.sql "SELECT current_time"


Interaktivt läge

Startar man psql utan -c eller -f så får man såklart ett interaktivt läge där man anger sina kommandon som man önskar. Bra att börja med är:

postgres=# \help

Avsluta:

postgres=# \quit \q funkar också men inte \exit.

Hjälp

Förutom \help så finns \h och \?. \h ger hjälp om ett specifikt sql-kommando och \? ger hjälp om ett meta-kommando (t ex \quit).

Exempel:

postgres=# \h DELETE
Command: DELETE
Description: Delete rows of a table
Syntax:
[ WITH [ RECURSIVE ] with_query [, ...] ]
DELETE FROM [ ONLY ] table [ [ AS ] alias ]
[ USING usinglist ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ AS output_name ] [,]]


Metakommandon

Några av de metakommandon som kan köras i psql

  • \d och \dn mfl som ger information
  • \d+ <tabellnamn> ger de kolumner som finns i den tabellen
  • \dt och \td+ som listar tabeller (+ ger ännu mer info) i databasen
  • \x för att formattera output
  • \timing för exekveringstiming
  • \i och \o för att editera input / output
  • \set och \unset för att substituera variabler (parametrar)
  • \! för att köra OS-kommandon
  • \crosstabview för crosstabvyer
  • \if, \elif, \else, endif för villkorskörning
  • \? visar vilka kommandon som finns
  • \r avbryter ett SQL-kommando
  • \encoding ger en annan encoding for klienten. Ex: \encoding latin1

.psqlrc

Automatiska startuppfiler kan t ex vara .psqlrc



Kategori:PostgreSQL