Psql: Difference between revisions

From Linuxwiki
Jump to navigation Jump to search
Linuxwiki>Wikiadmin
No edit summary
Linuxwiki>Wikiadmin
Line 31: Line 31:
=== Interaktivt läge ===
=== 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:
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'''
  '''postgres=# \help'''
Avsluta:
Avsluta:
  '''postgres=# \quit''' \q funkar också men inte \exit.
  '''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 ] [,]]




[[Kategori:PostgreSQL]]
[[Kategori:PostgreSQL]]

Revision as of 09:57, 6 April 2023

psql, olika parametrar

-h <hostname>
-p <port>
-d <database>
-U <user>

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 ] [,]]


Kategori:PostgreSQL