Questo è il comando psql che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
psql - Terminale interattivo PostgreSQL
SINOSSI
psql [opzione...] [nomedb [nome utente]]
DESCRIZIONE
psql è un front-end per PostgreSQL basato su terminale. Ti consente di digitare query
in modo interattivo, inviali a PostgreSQL e guarda i risultati della query. In alternativa, inserire
può provenire da un file. Inoltre, fornisce una serie di meta-comandi e vari
funzionalità simili a shell per facilitare la scrittura di script e l'automazione di un'ampia varietà di attività.
VERSIONI
-a
--echo-tutto
Stampa tutte le righe di input non vuote sullo standard output man mano che vengono lette. (Questo non lo fa
si applica alle righe lette in modo interattivo.) Ciò equivale a impostare la variabile ECHO a
tutti.
-A
--no-allineamento
Passa alla modalità di uscita non allineata. (La modalità di output predefinita è altrimenti allineata.)
-b
--eco-errori
Stampa i comandi SQL non riusciti nell'output degli errori standard. Ciò equivale a impostare il
variabile ECHO agli errori.
-c command
--comando=command
Specifica che psql deve eseguire una stringa di comando, command, quindi esci. Questo è
utile negli script di shell. File di avvio (psqlrc e ~/.psqlrc) vengono ignorati con questo
opzione.
command deve essere una stringa di comando completamente analizzabile dal server
(vale a dire, non contiene funzionalità specifiche di psql) o un singolo comando barra rovesciata. così tu
non è possibile combinare i metacomandi SQL e psql con questa opzione. Per raggiungere questo obiettivo, potresti
pipe la stringa in psql, ad esempio: echo '\x \\ SELECT * FROM foo;' | psql. (\\ è
il meta-comando separatore.)
Se la stringa di comando contiene più comandi SQL, vengono elaborati in un unico
transazione, a meno che non ci siano espliciti INIZIO/COMMETTERE comandi inclusi nella stringa to
dividerlo in più operazioni. Questo è diverso dal comportamento quando il
la stessa stringa viene inviata allo standard input di psql. Inoltre, solo il risultato dell'ultimo SQL
viene restituito il comando.
A causa di questi comportamenti legacy, inserire più di un comando nel -c stringa
spesso ha risultati inaspettati. È meglio fornire più comandi allo standard di psql
input, usando echo come illustrato sopra, o tramite una shell here-document, per
esempio:
psql <
\x
SELEZIONA * DA pippo;
EOF
-d nomedb
--dbnome=nomedb
Specifica il nome del database a cui connettersi. Ciò equivale a specificare
nomedb come primo argomento non di opzione sulla riga di comando.
Se questo parametro contiene un segno = o inizia con un prefisso URI valido (postgresql://
o postgres://), viene trattato come a conninfo corda. Vedere la Sezione 31.1.1, «Collegamento
Stringhe", nella documentazione per ulteriori informazioni.
-e
--echo-query
Copia tutti i comandi SQL inviati al server anche nell'output standard. Questo è
equivalente all'impostazione della variabile ECHO alle interrogazioni.
-E
--eco-nascosto
Echo le query effettive generate da \d e altri comandi di barra rovesciata. Puoi usare questo
per studiare le operazioni interne di psql. Ciò equivale a impostare la variabile
ECHO_HIDDEN avanti.
-f Nome del file
--file=Nome del file
Usa il file Nome del file come sorgente di comandi invece di leggere comandi
in modo interattivo. Dopo che il file è stato elaborato, psql termina. Questo è in molti modi
equivalente al meta-comando \i.
If Nome del file è - (trattino), quindi l'input standard viene letto fino all'indicazione EOF o \q
meta-comando. Nota tuttavia che Readline non viene utilizzato in questo caso (come se -n ha avuto
stato specificato).
L'uso di questa opzione è leggermente diverso dalla scrittura di psql Nome del file. In generale, entrambi
farà quello che ti aspetti, ma usare -f abilita alcune belle funzionalità come errore
messaggi con numeri di riga. C'è anche una piccola possibilità che l'uso di questa opzione lo farà
ridurre i costi di avviamento. D'altra parte, la variante che utilizza l'input della shell
il reindirizzamento è (in teoria) garantito per produrre esattamente lo stesso output che avresti
ricevuto se avessi inserito tutto a mano.
-F separatore
--separatore di campo=separatore
Usa il separatore come separatore di campo per l'output non allineato. Questo è equivalente a \pset
fieldep or \f.
-h hostname
--host=hostname
Specifica il nome host della macchina su cui è in esecuzione il server. Se il valore
inizia con una barra, viene utilizzato come directory per il socket del dominio Unix.
-H
--html
Attiva l'output tabellare HTML. Questo è equivalente a \pset formato html o al \H
comando.
-l
--elenco
Elenca tutti i database disponibili, quindi esci. Le altre opzioni di non connessione vengono ignorate.
Questo è simile al meta-comando \elenco.
-L Nome del file
--file-log=Nome del file
Scrivi tutto l'output della query in un file Nome del file, oltre alla normale uscita
destinazione.
-n
--no-readline
Non utilizzare Readline per la modifica della riga e non utilizzare la cronologia dei comandi. Questo può essere
utile per disattivare l'espansione della scheda durante il taglio e l'incollaggio.
-o Nome del file
--uscita=Nome del file
Metti tutto l'output della query in un file Nome del file. Questo è equivalente al comando \o.
-p porto
--porta=porto
Specifica la porta TCP o l'estensione del file socket del dominio Unix locale su cui
il server è in attesa di connessioni. Predefinito al valore di PGPORT Industria XNUMX
variabile o, se non impostata, alla porta specificata in fase di compilazione, solitamente 5432.
-P assegnazione
--pset=assegnazione
Specifica le opzioni di stampa, nello stile di \pset. Nota che qui devi separare
nome e valore con un segno di uguale anziché uno spazio. Ad esempio, per impostare l'uscita
format in LaTeX, puoi scrivere -P format=latex.
-q
--silenzioso
Specifica che psql dovrebbe fare il suo lavoro in silenzio. Per impostazione predefinita, stampa i messaggi di benvenuto
e vari output informativi. Se viene utilizzata questa opzione, nulla di tutto ciò accade. Questo
è utile con il -c opzione. Ciò equivale a impostare la variabile SILENZIOSO avanti.
-R separatore
--record-separatore=separatore
Usa il separatore come separatore di record per l'output non allineato. Questo è equivalente a
\pset recordep comando.
-s
--singolo passo
Esegui in modalità a passaggio singolo. Ciò significa che all'utente viene richiesto prima di inviare ogni comando
al server, con la possibilità di annullare anche l'esecuzione. Usalo per eseguire il debug degli script.
-S
--linea singola
Viene eseguito in modalità a riga singola in cui una nuova riga termina un comando SQL, come punto e virgola
fa.
Note:
Questa modalità è prevista per chi insiste, ma non lo sei necessariamente
incoraggiato a usarlo. In particolare, se mescoli SQL e meta-comandi su una riga
l'ordine di esecuzione potrebbe non essere sempre chiaro per l'utente inesperto.
-t
--solo tuple
Disattiva la stampa dei nomi delle colonne e dei piè di pagina del conteggio delle righe dei risultati, ecc
equivalente al \t comando.
-T opzioni_tabella
--table-attr=opzioni_tabella
Specifica le opzioni da inserire all'interno del tag della tabella HTML. Vedere \pset per i dettagli.
-U nome utente
--nomeutente=nome utente
Connettiti al database come utente nome utente invece dell'impostazione predefinita. (Tu devi avere
permesso di farlo, ovviamente.)
-v assegnazione
--set=assegnazione
--variabile=assegnazione
Eseguire un'assegnazione variabile, come il \impostato meta-comando. Nota che devi separarti
nome e valore, se presenti, da un segno di uguale sulla riga di comando. Per annullare l'impostazione di una variabile,
tralascia il segno di uguale. Per impostare una variabile con un valore vuoto, usa il segno di uguale
ma tralascia il valore. Questi incarichi vengono eseguiti durante una fase molto iniziale di
all'avvio, quindi le variabili riservate per scopi interni potrebbero essere sovrascritte in seguito.
-V
--versione
Stampa la versione psql ed esci.
-w
--no Password
Non emettere mai una richiesta di password. Se il server richiede l'autenticazione della password e a
la password non è disponibile con altri mezzi come un file .pgpass, la connessione
tentativo fallirà. Questa opzione può essere utile in lavori batch e script in cui nessun utente
è presente per inserire una password.
Nota che questa opzione rimarrà impostata per l'intera sessione e quindi influisce sugli usi
del meta-comando \Collegare così come il tentativo di connessione iniziale.
-W
--parola d'ordine
Forza psql a richiedere una password prima di connettersi a un database.
Questa opzione non è mai essenziale, poiché psql richiederà automaticamente una password se
il server richiede l'autenticazione della password. Tuttavia, psql sprecherà una connessione
prova a scoprire che il server vuole una password. In alcuni casi vale la pena digitare
-W per evitare il tentativo di connessione extra.
Nota che questa opzione rimarrà impostata per l'intera sessione e quindi influisce sugli usi
del meta-comando \Collegare così come il tentativo di connessione iniziale.
-x
--allargato
Attiva la modalità di formattazione della tabella espansa. Questo è equivalente a \x comando.
-X,
--no-psqlrc
Non leggere il file di avvio (né il file psqlrc a livello di sistema né quello dell'utente
~/.psqlrc file).
-z
--separatore-campo-zero
Imposta il separatore di campo per l'output non allineato su un byte zero.
-0
--record-separatore-zero
Imposta il separatore di record per l'output non allineato su un byte zero. Questo è utile per
interfacciandosi, ad esempio, con xargs -0.
-1
--transazione singola
Quando psql esegue uno script, l'aggiunta di questa opzione termina INIZIO/COMMETTERE intorno alla sceneggiatura
per eseguirlo come un'unica transazione. Ciò garantisce che tutti i comandi
completa con successo o non vengono applicate modifiche.
Se lo script stesso usa INIZIO, COMMETTERE, o RITORNO, questa opzione non avrà il
effetti desiderati. Inoltre, se lo script contiene comandi che non possono essere eseguiti
all'interno di un blocco di transazione, specificando questa opzione causerà quel comando (e quindi
l'intera transazione) fallire.
-?
--aiuto[=argomento]
Mostra aiuto su psql ed esci. L'opzionale argomento parametro (impostazione predefinita per le opzioni)
seleziona quale parte di psql viene spiegata: comandi descrive i comandi barra rovesciata di psql;
options descrive le opzioni della riga di comando che possono essere passate a psql; e variabili
mostra l'aiuto sulle variabili di configurazione di psql.
EXIT STATUS
psql restituisce 0 alla shell se è terminato normalmente, 1 se si verifica un proprio errore fatale
(es. memoria esaurita, file non trovato), 2 se la connessione al server è andata male e il
la sessione non era interattiva e 3 se si è verificato un errore in uno script e nella variabile
ON_ERROR_STOP era stabilito.
USO
Collegamento a a Banca Dati
psql è una normale applicazione client PostgreSQL. Per connetterti a un database devi
bisogno di conoscere il nome del database di destinazione, il nome host e il numero di porta del
server e con quale nome utente vuoi connetterti. psql può essere detto di quelli
parametri tramite le opzioni della riga di comando, vale a dire -d, -h, -pe -U rispettivamente. Se uno
viene trovato un argomento che non appartiene ad alcuna opzione verrà interpretato come il
nome del database (o il nome utente, se il nome del database è già stato fornito). Non tutti questi
le opzioni sono richieste; ci sono utili impostazioni predefinite. Se ometti il nome host, psql lo farà
connettersi tramite un socket di dominio Unix a un server sull'host locale o tramite TCP/IP a localhost
su macchine che non hanno socket di dominio Unix. Il numero di porta predefinito è determinato in
tempo di compilazione. Poiché il server del database utilizza lo stesso valore predefinito, non sarà necessario
specificare la porta nella maggior parte dei casi. Il nome utente predefinito è il nome utente del sistema operativo,
come il nome del database predefinito. Nota che non puoi semplicemente connetterti a qualsiasi database sotto
qualsiasi nome utente. L'amministratore del database dovrebbe averti informato del tuo accesso
diritti.
Quando le impostazioni predefinite non sono corrette, puoi risparmiare un po' di digitazione impostando il pulsante
variabili ambientali PGDATABASE, PGHOST, PGPORT e / o PGUSER a valori appropriati. (Per
variabili d'ambiente aggiuntive, vedere Sezione 31.14, «Variabili d'ambiente», nel
documentazione.) È anche conveniente avere un ~/.pgpass file per evitare di avere regolarmente
per digitare le password. Vedere la Sezione 31.15, «Il file delle password», nella documentazione per
maggiori informazioni.
Un modo alternativo per specificare i parametri di connessione è in a conninfo stringa o un URI,
che viene utilizzato al posto di un nome di database. Questo meccanismo ti dà un controllo molto ampio su
la connessione. Per esempio:
$ psql "servizio=mioservizio sslmode=richiedi"
$ psql postgresql://dbmaster:5433/mydb?sslmode=require
In questo modo puoi anche usare LDAP per la ricerca dei parametri di connessione come descritto nella Sezione
31.17, "Ricerca LDAP dei parametri di connessione", nella documentazione. Vedere la Sezione 31.1.2,
“Parameter Key Words”, nella documentazione per maggiori informazioni su tutti i disponibili
opzioni di connessione.
Se non è stato possibile stabilire la connessione per qualsiasi motivo (ad es. privilegi insufficienti, server
non è in esecuzione sull'host di destinazione, ecc.), psql restituirà un errore e terminerà.
Se sia lo standard input che lo standard output sono un terminale, psql imposta il client
codifica su "auto", che rileverà la codifica client appropriata dalla locale
impostazioni (LC_CTYPE variabile d'ambiente su sistemi Unix). Se questo non funziona come
previsto, la codifica del client può essere sovrascritta utilizzando la variabile d'ambiente
PGCLIENTECODING.
Entrando SQL Comandi
Durante il normale funzionamento, psql fornisce un prompt con il nome del database a cui appartiene psql
attualmente connesso, seguito dalla stringa =>. Per esempio:
$ psql testdb
psql (9.5.2)
Digita "aiuto" per ricevere aiuto.
testdb =>
Al prompt, l'utente può digitare i comandi SQL. Normalmente, le linee di input vengono inviate al
server quando viene raggiunto un punto e virgola che termina il comando. Un capolinea non termina
un comando. Quindi i comandi possono essere distribuiti su più righe per chiarezza. Se il comando fosse
inviato ed eseguito senza errori, i risultati del comando vengono visualizzati sullo schermo.
Ogni volta che viene eseguito un comando, psql esegue anche il polling per eventi di notifica asincroni
generato da LISTEN(7) e NOTIFICA(7).
Mentre i commenti di blocco in stile C vengono passati al server per l'elaborazione e la rimozione,
I commenti standard SQL vengono rimossi da psql.
Meta-comandi
Tutto ciò che inserisci in psql che inizia con una barra rovesciata non quotata è un meta-comando psql
che viene elaborato da psql stesso. Questi comandi rendono psql più utile per l'amministrazione
o scripting. I meta-comandi sono spesso chiamati comandi barra o barra rovesciata.
Il formato di un comando psql è la barra rovesciata, seguita immediatamente da un verbo di comando,
poi qualsiasi argomento. Gli argomenti sono separati dal verbo di comando e l'uno dall'altro da
qualsiasi numero di caratteri di spaziatura.
Per includere spazi bianchi in un argomento puoi citarlo con virgolette singole. Per includere a
virgoletta singola in un argomento, scrivi due virgolette singole all'interno di un testo tra virgolette. Nulla
contenuto tra virgolette singole è inoltre soggetto a sostituzioni di tipo C per \n (nuovo
riga), \t (tab), \b (backspace), \r (ritorno a capo), \f (form feed), \cifre (ottale),
e \xcifre (esadecimale). Una barra rovesciata che precede qualsiasi altro carattere tra virgolette singole
il testo cita quel singolo carattere, qualunque esso sia.
All'interno di un argomento, il testo racchiuso tra virgolette (`) viene preso come riga di comando
che viene passato al guscio. L'output del comando (con qualsiasi nuova riga finale rimossa)
sostituisce il testo tra virgolette.
Se all'interno di un argomento vengono visualizzati due punti (:) seguiti da un nome di variabile psql, è
viene sostituito dal valore della variabile, come descritto in Interpolazione SQL.
Alcuni comandi accettano un identificatore SQL (come il nome di una tabella) come argomento. Questi argomenti
segui le regole di sintassi di SQL: le lettere senza virgolette sono obbligate a essere minuscole, mentre doppie
le virgolette (") proteggono le lettere dalla conversione tra maiuscole e minuscole e consentono l'incorporazione di spazi bianchi in
l'identificatore. All'interno delle virgolette, le virgolette accoppiate si riducono a una singola virgoletta
nel nome risultante. Ad esempio, FOO"BAR"BAZ viene interpretato come fooBARbaz e "A
strano"" nome" diventa Un nome strano.
L'analisi degli argomenti si interrompe alla fine della riga o quando è presente un'altra barra rovesciata non quotata
trovato. Una barra rovesciata non quotata viene considerata come l'inizio di un nuovo meta-comando. Lo speciale
sequenza \\ (due barre rovesciate) segna la fine degli argomenti e continua l'analisi di SQL
comandi, se presenti. In questo modo i comandi SQL e psql possono essere mescolati liberamente su una riga. Ma in qualsiasi
caso, gli argomenti di un meta-comando non possono continuare oltre la fine della riga.
Sono definiti i seguenti meta-comandi:
\a
Se il formato di output della tabella corrente non è allineato, viene commutato su allineato. Se è
non non allineato, è impostato su non allineato. Questo comando viene mantenuto per tornare indietro
Compatibilità. Vedere \pset per una soluzione più generale.
\c o \connect [ nomedb [ nome utente ] [ host ] [ porto ]] | conninfo
Stabilisce una nuova connessione a un server PostgreSQL. I parametri di connessione da utilizzare
può essere specificato utilizzando una sintassi posizionale o utilizzando la connessione conninfo
stringhe come dettagliato nella Sezione 31.1.1, «Stringhe di connessione», nella documentazione.
Quando si utilizzano parametri posizionali, se presenti tra nomedb, nome utente, host or porto sono omessi
o specificato come -, viene utilizzato il valore di quel parametro dalla connessione precedente;
se non esiste una connessione precedente, il valore predefinito di libpq per il valore del parametro è
Usato. Quando si utilizzano le stringhe di conninfo, non vengono utilizzati i valori della connessione precedente
la nuova connessione.
Se la nuova connessione viene stabilita con successo, la connessione precedente viene chiusa. Se la
tentativo di connessione fallito (nome utente errato, accesso negato, ecc.), il precedente
la connessione verrà mantenuta solo se psql è in modalità interattiva. Quando si esegue a
script non interattivo, l'elaborazione si interromperà immediatamente con un errore. Questo
distinzione è stata scelta come comodità dell'utente contro gli errori di battitura da un lato, e a
meccanismo di sicurezza che gli script non agiscano accidentalmente sul database sbagliato sul
l'altra mano.
Esempi:
=> \c miodb mioutente host.dom 6432
=> \c servizio=pippo
=> \c "host=localhost port=5432 dbname=mydb connect_timeout=10 sslmode=disable"
=> \c postgresql://tom@localhost/mydb?application_name=myapp
\C [ titolo ]
Imposta il titolo di qualsiasi tabella stampata come risultato di una query o annulla l'impostazione di tali tabelle
titolo. Questo comando è equivalente a \pset title titolo. (Il nome di questo comando
deriva da “caption”, in quanto in precedenza veniva utilizzato solo per impostare la didascalia in un HTML
tavolo.)
\CD [ elenco ]
Cambia la directory di lavoro corrente in elenco. Senza discussione, modifiche al
directory home dell'utente corrente.
Consiglio
Per stampare la tua directory di lavoro corrente, usa \! pwd.
\conninfo
Emette informazioni sulla connessione al database corrente.
\copia { tavolo [( column_list )] | ( domanda ) } { da | a } { 'nome del file' | programma
'comando' | stdin | stdout | pstdin | pstdout } [ [ con ] ( opzione [, ...] )]
Esegue una copia frontend (client). Questa è un'operazione che esegue un SQL COPIA(7)
comando, ma invece del server che legge o scrive il file specificato, psql legge
oppure scrive il file e instrada i dati tra il server e il file system locale.
Ciò significa che l'accessibilità e i privilegi dei file sono quelli dell'utente locale, non il
server e non sono richiesti privilegi di superutente SQL.
Quando il programma è specificato, command viene eseguito da psql e i dati passati da o a
command viene instradato tra il server e il client. Ancora una volta, i privilegi di esecuzione
sono quelli dell'utente locale, non del server, e nessun privilegio di superutente SQL lo è
richiesto.
Per \copy ... da stdin, le righe di dati vengono lette dalla stessa fonte che ha emesso il
comando, continuando fino a \. viene letto o il flusso raggiunge EOF. Questa opzione è utile
per popolare tabelle in linea all'interno di un file di script SQL. Per \copy ... su stdout,
l'output viene inviato nella stessa posizione dell'output del comando psql e COPY contare command
lo stato non viene stampato (poiché potrebbe essere confuso con una riga di dati). Leggere/scrivere
l'input o l'output standard di psql indipendentemente dall'origine del comando corrente o dall'opzione \o,
scrivi da pstdin o su pstdout.
La sintassi di questo comando è simile a quella di SQL COPIA(7) comando. Tutte le opzioni
diversi dall'origine/destinazione dei dati sono quelli specificati per COPIA(7). A causa di ciò,
regole di analisi speciali si applicano a \copia comando. In particolare, la variabile di psql
le regole di sostituzione e gli escape backslash non si applicano.
Consiglio
Questa operazione non è efficiente come SQL COPIA comando perché tutti i dati devono
passare attraverso la connessione client/server. Per grandi quantità di dati SQL
comando potrebbe essere preferibile.
\diritto d'autore
Mostra i termini di copyright e distribuzione di PostgreSQL.
\d[S+] [ modello ]
Per ogni relazione (tabella, vista, indice, sequenza o tabella esterna) o tipo composto
abbinando il modello, mostra tutte le colonne, i loro tipi, il tablespace (se non il
default) e qualsiasi attributo speciale come NOT NULL o defaults. Indici associati,
vengono visualizzati anche vincoli, regole e trigger. Per le tabelle estere, gli associati
viene mostrato anche il server esterno. ("La corrispondenza del modello" è definita in Patterns
sotto.)
Per alcuni tipi di relazione, \d mostra informazioni aggiuntive per ogni colonna: colonna
valori per sequenze, espressione indicizzata per indici e opzioni wrapper di dati esterni
per tavoli esteri.
La forma del comando \d+ è identica, tranne per il fatto che vengono visualizzate più informazioni: any
vengono mostrati i commenti associati alle colonne della tabella, così come la presenza di
OID nella tabella, la definizione della vista se la relazione è una vista, non predefinita
impostazione dell'identità di replica.
Per impostazione predefinita, vengono visualizzati solo gli oggetti creati dall'utente; fornire un pattern o il modificatore S a
includere oggetti di sistema.
Note:
If \d viene utilizzato senza a modello argomento, è equivalente a \dtvsE che sarà
mostra un elenco di tutte le tabelle, viste, sequenze e tabelle esterne visibili. Questo è
puramente una misura di convenienza.
\da[S] [ modello ]
Elenca le funzioni aggregate, insieme al loro tipo restituito e ai tipi di dati che esse
operare su. Se modello è specificato, solo gli aggregati i cui nomi corrispondono al modello sono
mostrato. Per impostazione predefinita, vengono visualizzati solo gli oggetti creati dall'utente; fornire un modello o il S
modificatore per includere oggetti di sistema.
\db[+] [ modello ]
Elenca i tablespace. Se modello è specificato, solo i tablespace i cui nomi corrispondono a
modello sono mostrati. Se viene aggiunto + al nome del comando, viene elencato ogni tablespace
con le opzioni associate, le dimensioni su disco, i permessi e la descrizione.
\dc[S+] [ modello ]
Elenca le conversioni tra le codifiche del set di caratteri. Se modello è specificato, solo
vengono elencate le conversioni i cui nomi corrispondono al modello. Per impostazione predefinita, solo creato dall'utente
gli oggetti sono mostrati; fornire un modello o il modificatore S per includere oggetti di sistema. Se +
viene aggiunto al nome del comando, ogni oggetto è elencato con il suo associato
descrizione.
\dC[+] [ modello ]
Elenca i cast di tipo. Se modello è specificato, solo cast i cui tipi di origine o destinazione
corrispondono al modello sono elencati. Se viene aggiunto + al nome del comando, ogni oggetto è
elencato con la relativa descrizione.
\dd[S] [ modello ]
Mostra le descrizioni degli oggetti di tipo vincolo, classe operatore, famiglia operatore,
regola e trigger. Tutti gli altri commenti possono essere visualizzati dalla rispettiva barra rovesciata
comandi per quei tipi di oggetti.
\dd mostra le descrizioni degli oggetti che corrispondono a modello, o di oggetti visibili di
il tipo appropriato se non viene fornito alcun argomento. Ma in entrambi i casi, solo oggetti che
hanno una descrizione sono elencati. Per impostazione predefinita, vengono visualizzati solo gli oggetti creati dall'utente; la fornitura
un modello o il modificatore S per includere oggetti di sistema.
Le descrizioni degli oggetti possono essere create con il COMMENTO(7) Comando SQL.
\ddp[ modello ]
Elenca le impostazioni dei privilegi di accesso predefinite. Viene mostrata una voce per ogni ruolo (e schema,
se applicabile) per cui le impostazioni dei privilegi predefinite sono state modificate dal
predefiniti incorporati. Se modello è specificato, solo le voci il cui nome del ruolo o schema
nome corrisponde al modello sono elencati.
I PRIVILEGI ALTER DEFAULT (ALTER_DEFAULT_PRIVILEGES(7)) viene utilizzato il comando per impostare
privilegi di accesso predefiniti. Il significato della visualizzazione dei privilegi è spiegato sotto
GRANT(7).
\dD[S+] [ modello ]
Elenca i domini. Se modello è specificato, solo i domini i cui nomi corrispondono al modello sono
mostrato. Per impostazione predefinita, vengono visualizzati solo gli oggetti creati dall'utente; fornire un modello o il S
modificatore per includere oggetti di sistema. Se + viene aggiunto al nome del comando, ogni oggetto
è elencato con le relative autorizzazioni e descrizione.
\dE[S+] [ modello ]
\di[S+] [ modello ]
\dm[S+] [ modello ]
\ds[S+] [ modello ]
\dt[S+] [ modello ]
\dv[S+] [ modello ]
In questo gruppo di comandi, le lettere E, i, m, s, t e v stanno per tabella straniera,
rispettivamente indice, vista materializzata, sequenza, tabella e vista. Puoi specificare qualsiasi
o tutte queste lettere, in qualsiasi ordine, per ottenere un elenco di oggetti di questo tipo.
Ad esempio, \dit elenca indici e tabelle. Se + viene aggiunto al nome del comando, ogni
l'oggetto è elencato con la sua dimensione fisica su disco e la sua descrizione associata, se
qualunque. Se modello è specificato, vengono elencati solo gli oggetti i cui nomi corrispondono al modello.
Per impostazione predefinita, vengono visualizzati solo gli oggetti creati dall'utente; fornire un pattern o il modificatore S a
includere oggetti di sistema.
\des[+] [ modello ]
Elenca i server esterni (mnemonico: “server esterni”). Se modello è specificato, solo
vengono elencati quei server il cui nome corrisponde al modello. Se viene utilizzata la forma \des+, a
viene mostrata la descrizione completa di ciascun server, inclusi ACL, tipo, versione,
opzioni e descrizione.
\det[+] [ modello ]
Elenca le tabelle estere (mnemonico: “tabelle esterne”). Se modello è specificato, solo
sono elencate le voci il cui nome tabella o nome schema corrisponde al modello. Se il modulo
Viene utilizzato \det+, vengono visualizzate anche le opzioni generiche e la descrizione della tabella esterna.
\deu[+] [ modello ]
Elenca le mappature degli utenti (mnemonico: “utenti esterni”). Se modello è specificato, solo quelli
sono elencate le mappature i cui nomi utente corrispondono al modello. Se viene utilizzata la forma \deu+,
vengono visualizzate ulteriori informazioni su ciascuna mappatura.
Attenzione
\deu+ potrebbe anche visualizzare il nome utente e la password dell'utente remoto, quindi attenzione
dovrebbe essere presa per non rivelarli.
\rugiada[+] [ modello ]
Elenca i wrapper di dati esterni (mnemonico: "wrapper esterni"). Se modello è specificato,
vengono elencati solo quei wrapper di dati esterni il cui nome corrisponde al modello. Se la
viene utilizzato il modulo \dew+, l'ACL, le opzioni e la descrizione del wrapper di dati esterni sono
anche mostrato.
\df[antwS+] [ modello ]
Elenca le funzioni, insieme ai relativi argomenti, tipi restituiti e tipi di funzione,
che sono classificati come "agg" (aggregato), "normale", "trigger" o "finestra". Per
visualizzare solo funzioni di tipo specifico, aggiungere le lettere corrispondenti a, n, t o
w al comando. Se modello è specificato, solo le funzioni i cui nomi corrispondono a
modello sono mostrati. Per impostazione predefinita, vengono visualizzati solo gli oggetti creati dall'utente; fornire un modello
o il modificatore S per includere oggetti di sistema. Se viene utilizzata la forma \df+, addizionale
vengono mostrate le informazioni su ciascuna funzione, inclusa la classificazione di sicurezza,
volatilità, proprietario, lingua, codice sorgente e descrizione.
Consiglio
Per cercare funzioni che accettano argomenti o restituiscono valori di un tipo specifico, utilizzare
la capacità di ricerca del tuo cercapersone per scorrere l'output \df.
\dF[+] [ modello ]
Elenca le configurazioni di ricerca del testo. Se modello è specificato, solo le configurazioni la cui
i nomi corrispondono al modello sono mostrati. Se viene utilizzata la forma \dF+, una descrizione completa di
viene mostrata ogni configurazione, incluso il parser di ricerca di testo sottostante e il
elenco di dizionari per ogni tipo di token del parser.
\dFd[+] [ modello ]
Elenca i dizionari di ricerca di testo. Se modello è specificato, solo i dizionari i cui nomi
corrispondono al modello sono mostrati. Se viene utilizzata la forma \dFd+, le informazioni aggiuntive sono
mostrato su ogni dizionario selezionato, incluso il modello di ricerca testuale sottostante
e i valori delle opzioni.
\dFp[+] [ modello ]
Elenca i parser di ricerca di testo. Se modello è specificato, solo i parser i cui nomi corrispondono a
modello sono mostrati. Se viene utilizzata la forma \dFp+, una descrizione completa di ogni parser è
mostrato, incluse le funzioni sottostanti e l'elenco dei tipi di token riconosciuti.
\dFt[+] [ modello ]
Elenca i modelli di ricerca di testo. Se modello è specificato, solo i modelli i cui nomi corrispondono
il modello è mostrato. Se viene utilizzata la forma \dFt+, vengono mostrate informazioni aggiuntive
su ciascun modello, inclusi i nomi delle funzioni sottostanti.
\dg[+] [ modello ]
Elenca i ruoli del database. (Poiché i concetti di "utenti" e "gruppi" sono stati unificati
in "ruoli", questo comando è ora equivalente a \du.) Se modello è specificato, solo
vengono elencati quei ruoli i cui nomi corrispondono al modello. Se viene utilizzata la forma \dg+,
vengono visualizzate informazioni aggiuntive su ciascun ruolo; attualmente questo aggiunge il commento per
ogni ruolo.
\dl
Questo è un alias per \lo_lista, che mostra un elenco di oggetti di grandi dimensioni.
\dL[S+] [ modello ]
Elenca i linguaggi procedurali. Se modello è specificato, solo le lingue i cui nomi corrispondono
il modello sono elencati. Per impostazione predefinita, vengono mostrate solo le lingue create dall'utente; fornire il
S modificatore per includere oggetti di sistema. Se + viene aggiunto al nome del comando, ogni
la lingua è elencata con il suo gestore di chiamata, validatore, privilegi di accesso e se
è un oggetto di sistema.
\dn[S+] [ modello ]
Elenca gli schemi (spazi dei nomi). Se modello è specificato, solo gli schemi i cui nomi corrispondono
il modello sono elencati. Per impostazione predefinita, vengono visualizzati solo gli oggetti creati dall'utente; fornire un
pattern o il modificatore S per includere oggetti di sistema. Se + viene aggiunto al comando
nome, ogni oggetto è elencato con le autorizzazioni e la descrizione associate, se presenti.
\fa[S+] [ modello ]
Elenca gli operatori con i relativi operandi e tipi di risultato. Se modello è specificato, solo
vengono elencati gli operatori i cui nomi corrispondono al modello. Per impostazione predefinita, solo creato dall'utente
gli oggetti sono mostrati; fornire un modello o il modificatore S per includere oggetti di sistema. Se +
viene aggiunto al nome del comando, vengono mostrate informazioni aggiuntive su ciascun operatore,
attualmente solo il nome della funzione sottostante.
\dO[S+] [ modello ]
Elenca le regole di confronto. Se modello è specificato, solo le regole di confronto i cui nomi corrispondono a
modello sono elencati. Per impostazione predefinita, vengono visualizzati solo gli oggetti creati dall'utente; fornire un modello
o il modificatore S per includere oggetti di sistema. Se + viene aggiunto al nome del comando,
ogni confronto è elencato con la sua descrizione associata, se presente. Nota che solo
vengono mostrate le regole di confronto utilizzabili con la codifica del database corrente, quindi i risultati potrebbero
variano nei diversi database della stessa installazione.
\dp[ modello ]
Elenca tabelle, viste e sequenze con i relativi privilegi di accesso. Se modello
è specificato, solo le tabelle, le viste e le sequenze i cui nomi corrispondono al modello sono
elencati.
Il Marketplace per le GRANT(7) e REVOCARE(7) i comandi vengono utilizzati per impostare i privilegi di accesso. Il significato di
la visualizzazione dei privilegi è spiegata sotto GRANT(7).
\drds [ modello di ruolo [ modello di database ]]
Elenca le impostazioni di configurazione definite. Queste impostazioni possono essere specifiche per ruolo,
specifico del database o entrambi. modello di ruolo e modello di database sono usati per selezionare
ruoli e database specifici da elencare, rispettivamente. Se omesso, o se * è specificato,
sono elencate tutte le impostazioni, comprese quelle non specifiche del ruolo o del database,
rispettivamente.
L'ALTER RUOLO (ALTER_RUOLO(7)) e ALTER DATABASE (ALTER_DATABASE(7)) i comandi sono
utilizzato per definire le impostazioni di configurazione per ruolo e per database.
\dT[S+] [ modello ]
Elenca i tipi di dati. Se modello è specificato, solo i tipi i cui nomi corrispondono al modello
sono elencati. Se viene aggiunto + al nome del comando, ogni tipo è elencato con il suo
nome e dimensione interni, i suoi valori consentiti se è un tipo enum e i suoi associati
autorizzazioni. Per impostazione predefinita, vengono visualizzati solo gli oggetti creati dall'utente; fornire un modello o il
S modificatore per includere oggetti di sistema.
\du[+] [ modello ]
Elenca i ruoli del database. (Poiché i concetti di "utenti" e "gruppi" sono stati unificati
in "ruoli", questo comando è ora equivalente a \dg.) Se modello è specificato, solo
vengono elencati quei ruoli i cui nomi corrispondono al modello. Se viene utilizzata la forma \du+,
vengono visualizzate informazioni aggiuntive su ciascun ruolo; attualmente questo aggiunge il commento per
ogni ruolo.
\dx[+] [ modello ]
Elenca le estensioni installate. Se modello è specificato, solo quelle estensioni i cui nomi
corrispondono al modello sono elencati. Se viene utilizzata la forma \dx+, tutti gli oggetti appartenenti a
sono elencate tutte le estensioni corrispondenti.
\di[+] [ modello ]
Elenca i trigger di eventi. Se modello è specificato, solo quegli eventi attivati i cui nomi
corrispondono al modello sono elencati. Se viene aggiunto + al nome del comando, ogni oggetto è
elencato con la relativa descrizione.
\e o \modifica [ Nome del file ] [ numero_linea ]
If Nome del file è specificato, il file viene modificato; dopo l'uscita dall'editor, il suo contenuto è
ricopiato nel buffer della query. se no Nome del file è dato, il buffer di query corrente è
copiato in un file temporaneo che viene quindi modificato allo stesso modo.
Il nuovo buffer di query viene quindi analizzato nuovamente secondo le normali regole di psql, dove
l'intero buffer viene trattato come una singola riga. (Quindi non puoi creare script in questo modo.
Usa il \i per questo.) Ciò significa che se la query termina con (o contiene) un punto e virgola, è
viene immediatamente eseguito. Altrimenti aspetterà semplicemente nel buffer delle query; genere
punto e virgola o \g per inviarlo o \r per annullare.
Se viene specificato un numero di riga, psql posizionerà il cursore sulla riga specificata di
il file o il buffer di query. Nota che se viene fornito un singolo argomento di tutte le cifre, psql
presuppone che sia un numero di riga, non un nome di file.
Consiglio
Vedi sotto AMBIENTE per come configurare e personalizzare il tuo editor.
\eco testo [...]
Stampa gli argomenti sullo standard output, separati da uno spazio e seguiti da a
nuova linea. Questo può essere utile per intercalare le informazioni nell'output degli script. Per
esempio:
=> \eco `data`
mar 26 ott 21:40:57 CEST 1999
Se il primo argomento è un -n non quotato, la nuova riga finale non viene scritta.
Consiglio
Se si utilizza il \o comando per reindirizzare l'output della query che potresti voler utilizzare
\qeco invece di questo comando.
\ef[ descrizione della funzione [ numero_linea ]]
Questo comando recupera e modifica la definizione della funzione denominata, sotto forma di a
CREA OR SOSTITUIRE FUNZIONE comando. La modifica viene eseguita allo stesso modo di \edit.
Dopo la chiusura dell'editor, il comando aggiornato attende nel buffer delle query; digita punto e virgola
o \g per inviarlo o \r per annullarlo.
La funzione di destinazione può essere specificata solo per nome o per nome e argomenti, per
esempio foo(intero, testo). I tipi di argomento devono essere forniti se ce n'è più di uno
funzione omonima.
Se non viene specificata alcuna funzione, uno spazio vuoto CREA FUNZIONE il modello è presentato per
la modifica.
Se viene specificato un numero di riga, psql posizionerà il cursore sulla riga specificata di
il corpo della funzione. (Si noti che il corpo della funzione in genere non inizia al primo
riga del file.)
Consiglio
Vedi sotto AMBIENTE per come configurare e personalizzare il tuo editor.
\codifica [ codifica ]
Imposta la codifica del set di caratteri del client. Senza un argomento, questo comando mostra il
codifica corrente.
\F [ stringa ]
Imposta il separatore di campo per l'output della query non allineato. L'impostazione predefinita è la barra verticale
(|). Guarda anche \pset per un modo generico di impostare le opzioni di output.
\G [ Nome del file ]
\g[ |command ]
Invia il buffer di input della query corrente al server e facoltativamente memorizza le query
uscita in Nome del file o reindirizza l'output al comando shell command. Il file o
comando viene scritto solo se la query restituisce con successo zero o più tuple, non
se la query non riesce o è un comando SQL che non restituisce dati.
Un \g nudo è essenzialmente equivalente a un punto e virgola. Un \g con argomento è un "one-shot"
alternativa al \o comando.
\gimpostato [ prefisso ]
Invia il buffer di input della query corrente al server e memorizza l'output della query in
variabili psql (vedi Variabili). La query da eseguire deve restituire esattamente una riga.
Ogni colonna della riga è memorizzata in una variabile separata, denominata come la
colonna. Per esempio:
=> SELEZIONA 'Ciao' AS var1, 10 AS var2
-> \gset
=> \eco :var1 :var2
ciao 10
Se specifichi un file prefisso, quella stringa viene anteposta ai nomi delle colonne della query per
creare i nomi delle variabili da utilizzare:
=> SELEZIONA 'Ciao' AS var1, 10 AS var2
-> \gset risultato_
=> \eco :var_risultato1 :var_risultato2
ciao 10
Se il risultato di una colonna è NULL, la variabile corrispondente non è impostata anziché essere impostata.
Se la query non riesce o non restituisce una riga, nessuna variabile viene modificata.
\h o \help [ command ]
Fornisce aiuto sulla sintassi sul comando SQL specificato. Se command non è specificato, quindi psql
elencherà tutti i comandi per i quali è disponibile la guida alla sintassi. Se command offre
asterisco (*), viene mostrata la guida alla sintassi su tutti i comandi SQL.
Note:
Per semplificare la digitazione, i comandi composti da più parole non devono essere
citato. Quindi va bene scrivere \aiuto alterare tavolo.
\H o \html
Attiva il formato di output della query HTML. Se il formato HTML è già attivo, viene commutato
torna al formato di testo allineato predefinito. Questo comando è per compatibilità e
convenienza, ma vedi \pset sull'impostazione di altre opzioni di output.
\i o \include Nome del file
Legge l'input dal file Nome del file e lo esegue come se fosse stato digitato sul
tastiera.
If Nome del file è - (trattino), quindi l'input standard viene letto fino all'indicazione EOF o \q
meta-comando. Questo può essere usato per alternare input interattivi con input da file.
Nota che il comportamento Readline verrà utilizzato solo se è attivo al livello più esterno.
Note:
Se vuoi vedere le righe sullo schermo man mano che vengono lette devi impostare il
variabile ECHO a tutti.
\ir o \include_relative Nome del file
Il comando \ir è simile a \i, ma risolve i nomi di file relativi in modo diverso. quando
eseguendo in modalità interattiva, i due comandi si comportano in modo identico. Tuttavia, quando
invocato da uno script, \ir interpreta i nomi dei file relativi alla directory in cui
lo script si trova, piuttosto che la directory di lavoro corrente.
\l[+] o \list[+] [ modello ]
Elenca i database nel server e mostra i loro nomi, proprietari, set di caratteri
codifiche e privilegi di accesso. Se modello è specificato, solo i database i cui nomi
corrispondono al modello sono elencati. Se + viene aggiunto al nome del comando, le dimensioni del database,
vengono visualizzati anche i tablespace predefiniti e le descrizioni. (Le informazioni sulla taglia sono solo
disponibile per i database a cui l'utente corrente può connettersi.)
\lo_esportazione legge Nome del file
Legge l'oggetto grande con OID legge dal database e lo scrive in Nome del file. Nota
che questo è leggermente diverso dalla funzione del server lo_esportazione, che agisce con il
permessi dell'utente che il server di database esegue come e sul file del server
.
Consiglio
Usa il \lo_lista per scoprire l'OID dell'oggetto grande.
\lo_import Nome del file [ commento ]
Memorizza il file in un oggetto di grandi dimensioni PostgreSQL. Facoltativamente, associa il dato
commento con l'oggetto. Esempio:
pippo => \lo_import '/home/peter/pictures/photo.xcf' 'a immagine of me'
lo_import 152801
La risposta indica che l'oggetto di grandi dimensioni ha ricevuto l'ID oggetto 152801, che può essere
utilizzato per accedere in futuro all'oggetto grande appena creato. Per amore di
leggibilità, si consiglia di associare sempre un commento leggibile dall'uomo a ogni
oggetto. Sia gli OID che i commenti possono essere visualizzati con il \lo_lista comando.
Nota che questo comando è leggermente diverso dal lato server lo_import perché
agisce come utente locale sul file system locale, piuttosto che come utente del server e
file system.
\lo_lista
Mostra un elenco di tutti i grandi oggetti PostgreSQL attualmente archiviati nel database, insieme
con eventuali commenti forniti per loro.
\lo_scollega legge
Elimina l'oggetto di grandi dimensioni con OID legge dalla banca dati.
Consiglio
Usa il \lo_lista per scoprire l'OID dell'oggetto grande.
\o o \out [ Nome del file ]
\o o \out [ |command ]
Consente di salvare i risultati della query futura nel file Nome del file o reindirizzare i risultati futuri a
il comando della shell command. Se non viene specificato alcun argomento, l'output della query viene reimpostato su
l'uscita standard.
"Risultati query" include tutte le tabelle, le risposte ai comandi e gli avvisi ottenuti dal
server di database, nonché l'output di vari comandi di barra rovesciata che interrogano il
database (come \d), ma non i messaggi di errore.
Consiglio
Per intervallare l'output di testo tra i risultati della query, utilizzare \qeco.
\p o \print
Stampa il buffer della query corrente sullo standard output.
\parola d'ordine [ nome utente ]
Modifica la password dell'utente specificato (per impostazione predefinita, l'utente corrente). Questo
il comando richiede la nuova password, la crittografa e la invia al server come
ETÀ RUOLO comando. Questo assicura che la nuova password non appaia in chiaro
nella cronologia dei comandi, nel registro del server o altrove.
\richiesta [ testo ] Nome
Richiede all'utente di fornire del testo, che è assegnato alla variabile Nome. Un optional
stringa di richiesta, testo, può essere specificato. (Per i prompt composti da più parole, circonda il testo con
virgolette singole.)
Per impostazione predefinita, \prompt usa il terminale per l'input e l'output. Tuttavia, se il -f command
è stato utilizzato l'interruttore di linea, \prompt utilizza l'input standard e l'output standard.
\pset[ opzione [ APPREZZIAMO ]]
Questo comando imposta le opzioni che influenzano l'output delle tabelle dei risultati della query. opzione
indica quale opzione deve essere impostata. La semantica di APPREZZIAMO variano a seconda del file
opzione selezionata. Per alcune opzioni, omettendo APPREZZIAMO fa sì che l'opzione venga attivata o disattivata o
disinserito, come descritto nell'opzione specifica. Se non viene menzionato tale comportamento,
poi omettendo APPREZZIAMO determina solo la visualizzazione dell'impostazione corrente.
\pset senza argomenti visualizza lo stato corrente di tutte le opzioni di stampa.
Le opzioni di stampa regolabili sono:
sistema
Il Marketplace per le APPREZZIAMO deve essere un numero. In generale, più alto è il numero, più confini e
linee avranno le tabelle, ma i dettagli dipendono dal formato particolare. In HTML
format, questo si tradurrà direttamente nell'attributo border=.... Nella maggior parte degli altri
formatta solo i valori 0 (senza bordo), 1 (linee di divisione interne) e 2 (tabella
frame) ha senso e i valori superiori a 2 verranno trattati come border = 2. Il
i formati latex e latex longtable consentono inoltre un valore di 3 per aggiungere la divisione
linee tra le righe di dati.
colonne
Imposta la larghezza di destinazione per il formato avvolto e anche il limite di larghezza per
determinare se l'uscita è sufficientemente ampia da richiedere il cercapersone o passare al
visualizzazione verticale in modalità automatica estesa. Zero (il valore predefinito) causa la larghezza di destinazione
essere controllato dalla variabile d'ambiente COLONNE, o la larghezza dello schermo rilevata
if COLONNE non è impostato. Inoltre, se le colonne sono zero, il formato avvolto
influisce solo sull'output dello schermo. Se le colonne sono diverse da zero, l'output di file e pipe è
avvolto a quella larghezza pure.
espanso (o x)
If APPREZZIAMO è specificato che deve essere acceso o spento, il che abilita o disabilita
modalità estesa o automatica. Se APPREZZIAMO viene omesso il comando alterna tra on e
impostazioni disattivate. Quando la modalità espansa è abilitata, i risultati della query vengono visualizzati in due
colonne, con il nome della colonna a sinistra e i dati a destra. Questa modalità è
utile se i dati non entrassero nello schermo nella normale modalità “orizzontale”. In
l'impostazione automatica, la modalità espansa viene utilizzata ogni volta che l'output della query è più ampio
rispetto allo schermo, altrimenti viene utilizzata la modalità normale. L'impostazione automatica è solo
efficace nei formati allineati e avvolti. In altri formati, si comporta sempre
come se la modalità espansa fosse disattivata.
fieldep
Specifica il separatore di campo da utilizzare nel formato di output non allineato. In questo modo uno
può creare, ad esempio, output separato da tabulazione o virgola, che altri programmi
potrebbe preferire. Per impostare una scheda come separatore di campo, digita \pset fieldsep '\t'. Il
il separatore di campo predefinito è '|' (una barra verticale).
fieldep_zero
Imposta il separatore di campo da utilizzare nel formato di output non allineato su un byte zero.
footer
If APPREZZIAMO è specificato che deve essere acceso o spento che abiliterà o disabiliterà
visualizzazione del piè di pagina della tabella (il (n righe) contano). Se APPREZZIAMO viene omesso il comando
attiva o disattiva la visualizzazione del piè di pagina.
formato
Imposta il formato di output su uno tra non allineato, allineato, avvolto, html, asciidoc,
latex (usa tabular), latex-longtable o troff-ms. Le abbreviazioni uniche sono
consentito. (Ciò significherebbe che una lettera è sufficiente.)
il formato non allineato scrive tutte le colonne di una riga su una riga, separate da
separatore di campo attualmente attivo. Questo è utile per creare un output che potrebbe essere
destinato ad essere letto da altri programmi (ad esempio, separato da tabulazioni o
formato separato da virgole).
il formato allineato è l'output di testo standard, leggibile e ben formattato; questo
è l'impostazione predefinita.
il formato avvolto è come allineato ma avvolge valori di dati larghi attraverso le righe per rendere il
l'output si adatta alla larghezza della colonna di destinazione. La larghezza del bersaglio è determinata come descritto
sotto l'opzione colonne. Nota che psql non tenterà di avvolgere l'intestazione della colonna
titoli; pertanto, il formato avvolto si comporta come allineato se la larghezza totale
necessario per le intestazioni di colonna supera l'obiettivo.
I formati html, asciidoc, latex, latex-longtable e troff-ms producono tabelle
che sono destinati ad essere inclusi nei documenti utilizzando il rispettivo mark-up
linguaggio. Non sono documenti completi! Questo potrebbe non essere necessario in HTML,
ma in LaTeX devi avere un wrapper di documenti completo. anche longtable in lattice
richiede i pacchetti LaTeX longtable e booktabs.
stile di linea
Imposta lo stile di disegno della linea del bordo su ascii, old-ascii o unicode. Unico
sono ammesse abbreviazioni. (Ciò significherebbe che una lettera è sufficiente.) L'impostazione predefinita
l'impostazione è ascii. Questa opzione ha effetto solo sui formati di output allineati e a capo.
lo stile ascii utilizza caratteri ASCII semplici. Le nuove righe nei dati vengono mostrate usando un +
simbolo nel margine destro. Quando il formato avvolto avvolge i dati da una riga
al successivo senza un carattere di nuova riga, viene mostrato un punto (.) nella mano destra
margine della prima riga, e ancora nel margine sinistro della riga successiva.
lo stile old-ascii usa semplici caratteri ASCII, usando lo stile di formattazione usato in
PostgreSQL 8.4 e versioni precedenti. Le nuove righe nei dati vengono mostrate utilizzando un simbolo : in posizione
del separatore di colonna di sinistra. Quando i dati vengono spostati da una riga all'altra
successivo senza un carattere di nuova riga, a ; il simbolo è usato al posto della mano sinistra
separatore di colonne.
lo stile unicode utilizza i caratteri di disegno a riquadri Unicode. Vengono mostrate le nuove righe nei dati
utilizzando un simbolo di ritorno a capo nel margine destro. Quando i dati sono racchiusi
da una riga all'altra senza un carattere di nuova riga, viene mostrato un simbolo di puntini di sospensione
nel margine destro della prima riga, e ancora nel margine sinistro di
la riga seguente.
Quando l'impostazione del bordo è maggiore di zero, determina anche l'opzione stile di linea
i caratteri con cui vengono tracciate le linee di confine. I caratteri ASCII semplici funzionano
ovunque, ma i caratteri Unicode hanno un aspetto migliore sui display che li riconoscono.
nullo
Imposta la stringa da stampare al posto di un valore null. L'impostazione predefinita è stampare
niente, che può essere facilmente scambiato per una stringa vuota. Ad esempio, si potrebbe
preferisce \pset null '(null)'.
locale numerico
If APPREZZIAMO è specificato che deve essere acceso o spento che abiliterà o disabiliterà
visualizzazione di un carattere specifico della locale per separare gruppi di cifre a sinistra di
l'indicatore decimale. Se APPREZZIAMO viene omesso il comando alterna tra normale e
output numerico specifico della locale.
cercapersone
Controlla l'uso di un programma cercapersone per l'output di query e aiuto di psql. Se l'ambiente
variabile PAGER è impostato, l'output viene reindirizzato al programma specificato. Altrimenti a
viene utilizzato il valore predefinito dipendente dalla piattaforma (come more).
Quando l'opzione cercapersone è disattivata, il programma cercapersone non viene utilizzato. Quando l'opzione cercapersone
è attivo, il cercapersone viene utilizzato quando appropriato, ad esempio, quando l'uscita è verso un terminale
e non si adatta allo schermo. L'opzione cercapersone può anche essere impostata su sempre, che
fa sì che il cercapersone venga utilizzato per tutte le uscite del terminale indipendentemente dal fatto che si adatti
sullo schermo. \pset cercapersone senza a APPREZZIAMO attiva e disattiva l'uso del cercapersone.
pager_min_lines
Se pager_min_lines è impostato su un numero maggiore dell'altezza della pagina, il pager
il programma non verrà chiamato a meno che non ci siano almeno così tante righe di output a
mostrare. L'impostazione predefinita è 0.
recordep
Specifica il separatore di record (riga) da utilizzare nel formato di output non allineato. Il
l'impostazione predefinita è un carattere di nuova riga.
recordep_zero
Imposta il separatore di record da utilizzare nel formato di output non allineato su un byte zero.
tableattr (o T)
In formato HTML, specifica gli attributi da inserire all'interno del tag della tabella. Questo
potrebbe ad esempio essere cellpadding o bgcolor. Nota che probabilmente non vuoi
specificate il bordo qui, poiché questo è già gestito da \pset border. se no APPREZZIAMO
è dato, gli attributi della tabella non sono impostati.
In formato longtable latex, controlla la larghezza proporzionale di ogni colonna
contenente un tipo di dati allineato a sinistra. È specificato come separato da spazi
elenco di valori, ad es. '0.2 0.2 0.6'. Le colonne di output non specificate usano l'ultimo
valore specificato.
titolo
Imposta il titolo della tabella per tutte le tabelle stampate successivamente. Questo può essere usato per dare
i tag descrittivi dell'output. se no APPREZZIAMO è dato, il titolo non è impostato.
tuple_only (o t)
If APPREZZIAMO è specificato che deve essere acceso o spento che abiliterà o disabiliterà
modalità solo tuple. Se APPREZZIAMO viene omesso il comando alterna tra normale e
output di sole tuple. L'output regolare include informazioni aggiuntive come la colonna
intestazioni, titoli e piè di pagina vari. In modalità solo tuple, solo i dati effettivi della tabella
è mostrato.
unicode_border_linestyle
Imposta lo stile di disegno del bordo per lo stile di linea unicode su uno dei singoli o
Doppio.
unicode_column_linestyle
Imposta lo stile di disegno delle colonne per lo stile di linea unicode su uno dei singoli o
Doppio.
unicode_header_linestyle
Imposta lo stile di disegno dell'intestazione per lo stile di linea unicode su uno dei singoli o
Doppio.
Le illustrazioni di come appaiono questi diversi formati possono essere viste nella sezione ESEMPI.
Consiglio
Ci sono vari comandi di scelta rapida per \pset. Vedere \a, \C, \H, \t, \Te \x.
\q o \quit
Chiude il programma psql. In un file di script, viene terminata solo l'esecuzione di quello script.
\qeco testo [...]
Questo comando è identico a \eco tranne che l'output verrà scritto nella query
canale di uscita, come impostato da \o.
\r o \reset
Reimposta (cancella) il buffer delle query.
\S [ Nome del file ]
Stampa la cronologia della riga di comando di psql su Nome del file. Se Nome del file è omesso, la storia è
scritto sullo standard output (usando il cercapersone se appropriato). Questo comando non è
disponibile se psql è stato compilato senza il supporto Readline.
\impostato [ Nome [ APPREZZIAMO [ ... ] ] ]
Imposta la variabile psql Nome a APPREZZIAMO, o se viene dato più di un valore, al
concatenazione di tutti. Se viene fornito un solo argomento, la variabile viene impostata con
un valore vuoto. Per annullare l'impostazione di una variabile, utilizzare il \non settato comando.
\impostato senza alcun argomento visualizza i nomi e i valori di tutti i psql . attualmente impostati
variabili.
I nomi delle variabili validi possono contenere lettere, cifre e trattini bassi. Vedi la sezione
Variabili di seguito per i dettagli. I nomi delle variabili fanno distinzione tra maiuscole e minuscole.
Sebbene tu possa impostare qualsiasi variabile su qualsiasi cosa tu voglia, psql ne tratta diverse
variabili come speciali. Sono documentati nella sezione sulle variabili.
Note:
Questo comando non è correlato al comando SQL SET(7).
\setenv Nome [ APPREZZIAMO ]
Imposta la variabile d'ambiente Nome a APPREZZIAMOo se il file APPREZZIAMO non viene fornito, si disinserisce
la variabile d'ambiente. Esempio:
testdb => \setenv PAGER meno
testdb => \setenv MENO -imx4F
\sf[+] descrizione della funzione
Questo comando recupera e mostra la definizione della funzione denominata, sotto forma di a
CREA OR SOSTITUIRE FUNZIONE comando. La definizione viene stampata sulla query corrente
canale di uscita, come impostato da \o.
La funzione di destinazione può essere specificata solo per nome o per nome e argomenti, per
esempio foo(intero, testo). I tipi di argomento devono essere forniti se ce n'è più di uno
funzione omonima.
Se viene aggiunto + al nome del comando, le righe di output sono numerate, con il simbolo
la prima riga del corpo della funzione è la riga 1.
\t
Attiva o disattiva la visualizzazione delle intestazioni dei nomi delle colonne di output e del piè di pagina del conteggio delle righe. Questo comando
è equivalente a \pset tuples_only ed è fornito per comodità.
\T opzioni_tabella
Specifica gli attributi da inserire all'interno del tag della tabella nel formato di output HTML. Questo
comando è equivalente a \pset tableattr opzioni_tabella.
\ tempo [ on | MENO ]
Senza parametro, alterna la visualizzazione di quanto tempo impiega ogni istruzione SQL, in
millisecondi. Con parametro, imposta lo stesso.
\non settato Nome
Annulla l'impostazione (elimina) la variabile psql Nome.
\w o \write Nome del file
\w o \write |command
Emette il buffer della query corrente nel file Nome del file o lo invia al comando della shell
command.
\guarda [ secondo ]
Esegui ripetutamente il buffer di query corrente (come \g) fino a quando non viene interrotto o la query
non riesce. Attendi il numero di secondi specificato (predefinito 2) tra le esecuzioni.
\X [ on | MENO | auto ]
Imposta o attiva la modalità di formattazione della tabella espansa. Come tale è equivalente a \pset
allargato.
\z[ modello ]
Elenca tabelle, viste e sequenze con i relativi privilegi di accesso. Se un
modello è specificato, solo tabelle, viste e sequenze i cui nomi corrispondono al modello
sono elencati.
Questo è un alias per \dp ("privilegi di visualizzazione").
\! [ command ]
Sfugge a una shell separata o esegue il comando della shell command. Gli argomenti sono
non ulteriormente interpretato; la shell li vedrà così come sono. In particolare, la variabile
le regole di sostituzione e gli escape backslash non si applicano.
\? [ argomento ]
Mostra le informazioni della guida. L'opzionale argomento parametro (predefinito sui comandi) seleziona
quale parte di psql è spiegata: comandi descrive i comandi barra rovesciata di psql; opzioni
descrive le opzioni della riga di comando che possono essere passate a psql; e variabili mostra
aiuto sulle variabili di configurazione di psql.
Modelli
I vari comandi \d accettano a modello parametro per specificare i nomi degli oggetti da essere
visualizzato. Nel caso più semplice, un modello è solo il nome esatto dell'oggetto. Il
i caratteri all'interno di un modello sono normalmente piegati in minuscolo, proprio come nei nomi SQL;
ad esempio, \dt FOO visualizzerà la tabella denominata foo. Come nei nomi SQL, posizionando il doppio
le virgolette attorno a un motivo smettono di piegarsi in minuscolo. Se hai bisogno di includere an
vero carattere di virgolette doppie in uno schema, scrivilo come una coppia di virgolette all'interno
una sequenza di doppi apici; di nuovo questo è in accordo con le regole per SQL citate
identificatori. Ad esempio, \dt "FOO""BAR" visualizzerà la tabella denominata FOO"BAR (non
foo"bar). A differenza delle normali regole per i nomi SQL, puoi mettere le doppie virgolette semplicemente
parte di un pattern, ad esempio \dt FOO"FOO"BAR mostrerà la tabella denominata
fooFOObar.
Ogni volta che il modello parametro è completamente omesso, i comandi \d visualizzano tutto
oggetti che sono visibili nel percorso di ricerca dello schema corrente — questo è equivalente a
usando * come modello. (Un oggetto si dice visibile se lo schema che lo contiene è
nel percorso di ricerca e nessun oggetto dello stesso tipo e nome appare prima nel
percorso di ricerca. Questo è equivalente all'affermazione che l'oggetto può essere referenziato da
nome senza una qualificazione esplicita dello schema.) Per vedere tutti gli oggetti nel database
indipendentemente dalla visibilità, usa *.* come modello.
All'interno di un modello, * corrisponde a qualsiasi sequenza di caratteri (incluso nessun carattere) e ?
corrisponde a qualsiasi singolo carattere. (Questa notazione è paragonabile al nome del file shell di Unix
pattern). Ad esempio, \dt int* visualizza le tabelle i cui nomi iniziano con int. Ma
tra virgolette, * e ? perdono questi significati speciali e vengono semplicemente abbinati
letteralmente.
Un modello che contiene un punto (.) viene interpretato come un modello del nome dello schema seguito da
un modello di nome oggetto. Ad esempio, \dt foo*.*bar* mostra tutte le tabelle la cui tabella
name include le barre che si trovano negli schemi il cui nome dello schema inizia con foo. Quando nessun punto
appare, allora il modello corrisponde solo agli oggetti che sono visibili nello schema corrente
percorso di ricerca. Ancora una volta, un punto tra virgolette perde il suo significato speciale ed è
corrispondeva letteralmente.
Gli utenti avanzati possono utilizzare notazioni di espressioni regolari come le classi di caratteri, per
esempio [0-9] in modo che corrisponda a qualsiasi cifra. Tutti i caratteri speciali delle espressioni regolari funzionano come
specificato nella Sezione 9.7.3, «Espressioni regolari POSIX», nella documentazione, eccetto
per . che viene preso come separatore come detto sopra, * che viene tradotto in
notazione delle espressioni regolari .*, ? che è tradotto in ., e $ che è abbinato
letteralmente. È possibile emulare questi caratteri del modello quando necessario scrivendo ? per ., (R+|)
per R*, o (R|) per R?. $ non è necessario come carattere di espressione regolare poiché il
pattern deve corrispondere all'intero nome, a differenza della consueta interpretazione di regular
espressioni (in altre parole, $ viene aggiunto automaticamente al modello). Scrivi * a
l'inizio e/o la fine se non si desidera che il pattern sia ancorato. Notare che
tra virgolette, tutti i caratteri speciali delle espressioni regolari perdono il loro speciale
significati e sono abbinati letteralmente. Inoltre, i caratteri speciali delle espressioni regolari
sono abbinati letteralmente nei modelli dei nomi degli operatori (cioè, l'argomento di \do).
Tecnologia Caratteristiche
Variabili
psql fornisce funzionalità di sostituzione delle variabili simili alle comuni shell di comando Unix.
Le variabili sono semplicemente coppie nome/valore, dove il valore può essere qualsiasi stringa di qualsiasi
lunghezza. Il nome deve essere composto da lettere (comprese le lettere non latine), cifre e
sottolineature.
Per impostare una variabile, usa il meta-comando psql \impostato. Per esempio,
testdb => \impostato foo bar
imposta la variabile foo sulla barra del valore. Per recuperare il contenuto della variabile,
precedere il nome con i due punti, ad esempio:
testdb => \eco : pippo
bar
Funziona sia con i normali comandi SQL che con i metacomandi; ci sono più dettagli in SQL
Interpolazione, sotto.
Se chiami \impostato senza un secondo argomento, la variabile è impostata, con una stringa vuota
come valore. Per annullare l'impostazione (ovvero eliminare) una variabile, utilizzare il comando \non settato. Per mostrare il
valori di tutte le variabili, chiamare \impostato senza alcun argomento.
Note:
Gli argomenti di \impostato sono soggetti alle stesse regole di sostituzione degli altri
comandi. Così puoi costruire riferimenti interessanti come \set :foo
'qualcosa' e ottenere "soft link" o "variabili variabili" di fama Perl o PHP,
rispettivamente. Sfortunatamente (o fortunatamente?), non c'è modo di fare nulla
utile con questi costrutti. D'altra parte, \set bar :foo è un perfetto
modo valido per copiare una variabile.
Alcune di queste variabili sono trattate in modo speciale da psql. Rappresentano certi
impostazioni delle opzioni che possono essere modificate in fase di esecuzione modificando il valore della variabile,
o in alcuni casi rappresentano lo stato mutevole di psql. Anche se puoi usare questi
variabili per altri scopi, questo non è raccomandato, poiché il comportamento del programma potrebbe
crescere davvero strano molto rapidamente. Per convenzione, tutte le variabili trattate in modo speciale'
i nomi sono costituiti da tutte le lettere ASCII maiuscole (e possibilmente da cifre e caratteri di sottolineatura).
Per garantire la massima compatibilità in futuro, evitare di utilizzare tali nomi di variabili per
i tuoi scopi. Segue un elenco di tutte le variabili trattate in modo speciale.
IMPEGNO AUTOMATICO
Quando è attivo (impostazione predefinita), ogni comando SQL viene eseguito automaticamente in caso di esito positivo
completamento. Per posticipare il commit in questa modalità, devi inserire a INIZIO or ENTRA IN
TRANSAZIONE comando SQL. Quando è disattivato o non è impostato, i comandi SQL non vengono confermati fino a quando
emetti esplicitamente COMMETTERE or FINE. La modalità di autocommit-off funziona emettendo un
implicito INIZIO per te, appena prima di qualsiasi comando che non sia già in a
blocco delle transazioni e non è esso stesso a INIZIO o altro comando di controllo delle transazioni,
né un comando che non può essere eseguito all'interno di un blocco di transazione (come VUOTO).
Note:
In modalità autocommit-off, è necessario abbandonare esplicitamente qualsiasi transazione fallita entro
entrare ABORTO or RITORNO. Tieni anche presente che se esci dalla sessione
senza impegno, il tuo lavoro andrà perso.
Note:
La modalità di attivazione automatica è il comportamento tradizionale di PostgreSQL, ma
autocommit-off è più vicino alle specifiche SQL. Se preferisci l'autocommit-off,
potresti volerlo impostare nel file psqlrc a livello di sistema o nel tuo ~/.psqlrc file.
COMP_KEYWORD_CASE
Determina la lettera maiuscola da utilizzare quando si completa una parola chiave SQL. Se impostato su
inferiore o superiore, la parola completata sarà rispettivamente in minuscolo o maiuscolo.
Se impostato su preserva-inferiore o preserva-upper (predefinito), la parola completata sarà
essere nel caso della parola già inserita, ma le parole sono state completate senza
tutto ciò che viene inserito sarà rispettivamente in minuscolo o maiuscolo.
NOMEDB
Il nome del database a cui sei attualmente connesso. Questo è impostato ogni volta
ci si connette a un database (incluso l'avvio del programma), ma può essere disattivato.
ECHO
Se impostato su all, tutte le righe di input non vuote vengono stampate sullo standard output così come sono
leggere. (Questo non si applica alle righe lette in modo interattivo.) Per selezionare questo comportamento
all'avvio del programma, utilizzare l'interruttore -a. Se impostato su query, psql stampa ogni query
allo standard output man mano che viene inviato al server. L'interruttore per questo è -e. Se impostato
agli errori, solo le query non riuscite vengono visualizzate nell'output degli errori standard. Il
passare per questo è -b. Se non impostato, o se impostato su nessuno (o qualsiasi altro valore oltre a quelli
sopra) non vengono visualizzate query.
ECHO_HIDDEN
Quando questa variabile è impostata su on e un comando barra rovesciata interroga il database, il
query viene mostrata per prima. Questa funzione ti aiuta a studiare gli interni di PostgreSQL e
fornire funzionalità simili nei propri programmi. (Per selezionare questo comportamento su
avvio del programma, utilizzare l'interruttore -E.) Se imposti la variabile al valore noexec,
le query vengono solo mostrate ma non vengono effettivamente inviate al server ed eseguite.
CODIFICA
La codifica del set di caratteri del client corrente.
FETCH_COUNT
Se questa variabile è impostata su un valore intero > 0, i risultati di SELEZIONA le domande sono
recuperato e visualizzato in gruppi di altrettante righe, piuttosto che nell'impostazione predefinita
comportamento di raccolta dell'intero set di risultati prima della visualizzazione. Quindi solo a
viene utilizzata una quantità limitata di memoria, indipendentemente dalle dimensioni del set di risultati.
Le impostazioni da 100 a 1000 vengono comunemente utilizzate quando si abilita questa funzione. Tieni a mente
che quando si utilizza questa funzione, una query potrebbe non riuscire dopo essere già stata visualizzata
alcune righe.
Consiglio
Sebbene sia possibile utilizzare qualsiasi formato di output con questa funzione, l'impostazione predefinita è allineata
il formato tende ad avere un brutto aspetto perché ogni gruppo di FETCH_COUNT le righe saranno
formattati separatamente, portando a larghezze di colonna variabili tra i gruppi di righe.
Gli altri formati di output funzionano meglio.
CONTROLLO STORICO
Se questa variabile è impostata su ignorespace, le righe che iniziano con uno spazio non lo sono
inserito nell'elenco della cronologia. Se impostato su un valore di ignoreups, le righe che corrispondono a
la riga della cronologia precedente non viene inserita. Un valore di ignorebo combina i due
opzioni. Se non impostato, o se impostato su nessuno (o su qualsiasi altro valore oltre a quelli sopra), all
le righe lette in modalità interattiva vengono salvate nell'elenco cronologico.
Note:
Questa caratteristica è stata spudoratamente plagiata da Bash.
ARCHIVIO
Il nome del file che verrà utilizzato per memorizzare l'elenco della cronologia. Il valore predefinito è
~/.psql_history. Ad esempio, mettendo:
\set FILE STORICO ~/.psql_history- :NOMEDB
in ~/.psqlrc farà sì che psql mantenga una cronologia separata per ogni database.
Note:
Questa caratteristica è stata spudoratamente plagiata da Bash.
HISTSIZE
Il numero di comandi da memorizzare nella cronologia dei comandi. Il valore predefinito è 500.
Note:
Questa caratteristica è stata spudoratamente plagiata da Bash.
HOST
L'host del server del database a cui sei attualmente connesso. Questo è impostato ogni volta
ci si connette a un database (incluso l'avvio del programma), ma può essere disattivato.
IGNORANTE
Se non impostato, invio di un carattere EOF (di solito Control+D) a una sessione interattiva
di psql chiuderà l'applicazione. Se impostato su un valore numerico, tanti EOF
i caratteri vengono ignorati prima della chiusura dell'applicazione. Se la variabile è impostata
ma non ha un valore numerico, il valore predefinito è 10.
Note:
Questa caratteristica è stata spudoratamente plagiata da Bash.
LASTOIDE
Il valore dell'ultimo OID interessato, come restituito da an INSERT or \lo_import
comando. Questa variabile è garantita solo per essere valida fino a dopo il risultato di
è stato visualizzato il comando SQL successivo.
ON_ERROR_ROLLBACK
Quando è impostato su on, se un'istruzione in un blocco di transazione genera un errore, il
l'errore viene ignorato e la transazione continua. Quando è impostato su interattivo, ad esempio
gli errori vengono ignorati solo nelle sessioni interattive e non durante la lettura dello script
File. Quando non è impostato o è disattivato, un'istruzione in un blocco di transazione che genera
un errore interrompe l'intera transazione. La modalità di ripristino degli errori funziona tramite l'emissione
un implicito PUNTO DI RISPARMIO per te, appena prima di ogni comando che è in una transazione
blocco e quindi tornare al punto di salvataggio se il comando non riesce.
ON_ERROR_STOP
Per impostazione predefinita, l'elaborazione del comando continua dopo un errore. Quando questa variabile è impostata
su on, l'elaborazione verrà invece interrotta immediatamente. In modalità interattiva, psql lo farà
tornare al prompt dei comandi; in caso contrario, psql uscirà, restituendo il codice di errore 3 a
distinguere questo caso dalle condizioni di errore fatale, che vengono riportate utilizzando l'errore
codice 1. In entrambi i casi, tutti gli script attualmente in esecuzione (lo script di livello superiore, se
qualsiasi e qualsiasi altro script che potrebbe essere stato invocato) verrà terminato
subito. Se la stringa di comando di livello superiore conteneva più comandi SQL,
l'elaborazione si interromperà con il comando corrente.
PORT
La porta del server di database a cui sei attualmente connesso. Questo è impostato ogni
volta che ci si connette a un database (incluso l'avvio del programma), ma può essere annullato.
RICHIESTA1
RICHIESTA2
RICHIESTA3
Questi specificano come dovrebbero apparire i problemi di prompt di psql. Vedere Richiesta di seguito.
SILENZIOSO
L'impostazione di questa variabile su on equivale all'opzione della riga di comando -q. È
probabilmente non troppo utile in modalità interattiva.
LINEA SINGOLA
L'impostazione di questa variabile su on equivale all'opzione della riga di comando -S.
SINGOLO PASSO
L'impostazione di questa variabile su on equivale all'opzione della riga di comando -s.
UTENTE
L'utente del database con cui sei attualmente connesso. Questo è impostato ogni volta che tu
connettersi a un database (incluso l'avvio del programma), ma può essere disattivato.
VERBOSITÀ
Questa variabile può essere impostata sui valori predefiniti, dettagliata o concisa per controllare il
verbosità delle segnalazioni di errore.
SQL Interpolazione
Una caratteristica fondamentale delle variabili psql è che puoi sostituirle ("interpolare") in
istruzioni SQL regolari, nonché gli argomenti dei meta-comandi. Inoltre, psql
fornisce funzionalità per garantire che i valori delle variabili vengano utilizzati come valori letterali SQL e
gli identificatori sono opportunamente citati. La sintassi per l'interpolazione di un valore senza alcuno
virgolette è anteporre il nome della variabile con due punti (:). Per esempio,
testdb => \impostato foo 'il mio_tavolo'
testdb => SELEZIONA * DA :pippo;
interrogherebbe la tabella my_table. Si noti che questo potrebbe non essere sicuro: il valore di
la variabile viene copiata letteralmente, quindi può contenere virgolette sbilanciate o persino una barra rovesciata
comandi. Devi assicurarti che abbia senso dove lo metti.
Quando un valore deve essere utilizzato come valore letterale o identificatore SQL, è più sicuro organizzarlo
per essere citato. Per citare il valore di una variabile come un valore letterale SQL, scrivi due punti
seguito dal nome della variabile tra virgolette singole. Per citare il valore come SQL
identificatore, scrivi due punti seguiti dal nome della variabile tra virgolette. Queste
i costrutti gestiscono correttamente le virgolette e altri caratteri speciali incorporati all'interno di
valore variabile. L'esempio precedente sarebbe più sicuro scritto in questo modo:
testdb => \impostato foo 'il mio_tavolo'
testdb => SELEZIONA * DA :"pippo";
L'interpolazione delle variabili non verrà eseguita all'interno di letterali SQL tra virgolette e
identificatori. Pertanto, una costruzione come ':foo' non funziona per produrre un preventivo
letterale dal valore di una variabile (e non sarebbe sicuro se funzionasse, poiché
non gestirebbe correttamente le virgolette incorporate nel valore).
Un esempio di utilizzo di questo meccanismo consiste nel copiare il contenuto di un file in una tabella
colonna. Prima carica il file in una variabile e poi interpola il valore della variabile
come stringa tra virgolette:
testdb => \impostato contenuto `gatto mio_file.txt`
testdb => INSERT INTO mio_tavolo VALORI (:'contenuto');
(Nota che questo non funzionerà ancora se my_file.txt contiene byte NUL. psql no
supporta i byte NUL incorporati nei valori delle variabili.)
Poiché i due punti possono apparire legalmente nei comandi SQL, un apparente tentativo di interpolazione
(ovvero :nome, :'nome' o :"nome") non viene sostituito a meno che la variabile denominata non sia
attualmente impostato. In ogni caso, puoi sfuggire ai due punti con una barra rovesciata per proteggerlo
sostituzione.
La sintassi dei due punti per le variabili è SQL standard per i linguaggi di query incorporati, come
ECPG. Le sintassi dei due punti per le sezioni di array e i cast di tipi sono estensioni PostgreSQL,
che a volte può entrare in conflitto con l'uso standard. La sintassi tra virgolette per
l'escape del valore di una variabile come un valore letterale o identificatore SQL è un'estensione psql.
suggerimento
I problemi di prompt di psql possono essere personalizzati in base alle tue preferenze. Le tre variabili
RICHIESTA1, RICHIESTA2e RICHIESTA3 contengono stringhe e sequenze di escape speciali che
descrivere l'aspetto del prompt. Il prompt 1 è il normale prompt che viene emesso
quando psql richiede un nuovo comando. Il prompt 2 viene emesso quando è previsto più input
durante l'input del comando perché il comando non è stato terminato con un punto e virgola o a
preventivo non è stato chiuso. Il prompt 3 viene emesso quando si esegue un SQL COPIA comanda e tu sei
dovrebbe digitare i valori di riga sul terminale.
Il valore della variabile prompt selezionata viene stampato letteralmente, tranne dove una percentuale
si incontra il segno (%). A seconda del carattere successivo, lo è un certo altro testo
sostituito invece. Le sostituzioni definite sono:
%M
Il nome host completo (con nome di dominio) del server del database o [locale] se il
la connessione è su un socket di dominio Unix o [local:/dir/nome], se il dominio Unix
socket non si trova nella posizione di default compilata.
%m
Il nome host del server di database, troncato al primo punto, o [locale] se
la connessione è su un socket di dominio Unix.
%>
Il numero di porta su cui è in ascolto il server di database.
%n
Il nome utente della sessione del database. (L'espansione di questo valore potrebbe cambiare durante a
sessione del database come risultato del comando SET SESSIONE AUTORIZZAZIONE.)
%/
Il nome del database corrente.
%~
Come %/, ma l'output è ~ (tilde) se il database è il database predefinito.
%#
Se l'utente della sessione è un superutente del database, allora un #, altrimenti un >. (Il
l'espansione di questo valore potrebbe cambiare durante una sessione di database come risultato di
il comando SET SESSIONE AUTORIZZAZIONE.)
%R
Nel prompt 1 normalmente =, ma ^ se in modalità a riga singola e ! se la sessione è
disconnesso dal database (cosa che può accadere se \Collegare non riesce). Al prompt 2
la sequenza è sostituita da -, *, una virgoletta singola, una doppia virgoletta o un dollaro
sign, a seconda che psql si aspetti più input perché il comando non lo era
terminato ancora, perché sei all'interno di un /* ... */ commento, o perché lo sei
all'interno di una stringa tra virgolette o con caratteri di escape in dollari. Nel prompt 3 la sequenza non produce
qualsiasi cosa.
%x
Stato della transazione: una stringa vuota quando non è in un blocco di transazione o * quando è in
un blocco di transazione, o ! quando in un blocco di transazione non riuscito, o ? quando il
lo stato della transazione è indeterminato (ad esempio, perché non c'è connessione).
%l
Il numero di riga all'interno dell'istruzione corrente, a partire da 1.
%cifre
Il carattere con il codice ottale indicato viene sostituito.
%:Nome:
Il valore della variabile psql Nome. Vedere la sezione Variabili per i dettagli.
%`command`
L'output di command, simile alla normale sostituzione “back-tick”.
%[...%]
I prompt possono contenere caratteri di controllo del terminale che, ad esempio, modificano il
colore, sfondo o stile del testo del prompt o modificare il titolo del
finestra del terminale. Affinché le funzioni di modifica della riga di Readline funzionino
correttamente, questi caratteri di controllo non stampabili devono essere designati come invisibili da
circondandoli con %[ e %]. Più coppie di questi possono verificarsi all'interno di
richiesta. Per esempio:
testdb=> \set PROMPT1 '%[%033[1;33;40m%]%n@%/%R%[%033[0m%]%# '
risulta in un prompt in grassetto (1;) giallo su nero (33;40) su compatibile con VT100,
terminali a colori.
Per inserire un segno di percentuale nel prompt, scrivi %%. I prompt predefiniti sono '%/%R%# '
per i prompt 1 e 2 e '>> ' per il prompt 3.
Note:
Questa caratteristica è stata spudoratamente plagiata da tcsh.
Riga di comando Editing
psql supporta la libreria Readline per una comoda modifica e recupero delle righe. Il
la cronologia dei comandi viene salvata automaticamente all'uscita da psql e ricaricata quando psql
si avvia. È supportato anche il completamento delle schede, sebbene la logica di completamento non renda
pretendere di essere un parser SQL. Anche le query generate dal completamento delle schede possono interferire
con altri comandi SQL, ad es. SET TRANSACTION ISOLATION LEVEL. Se per qualche motivo tu
non mi piace il completamento della scheda, puoi disattivarlo inserendolo in un file chiamato
.inputrc nella tua home directory:
$se psql
attiva il completamento della disabilitazione
$endif
(Questo non è un psql ma una funzionalità Readline. Leggi la sua documentazione per ulteriori informazioni
dettagli.)
AMBIENTE
COLONNE
Se \pset colonne è zero, controlla la larghezza per il formato avvolto e la larghezza per
determinare se l'output ampio richiede il cercapersone o deve essere impostato su verticale
formattare in modalità automatica espansa.
PAGER
Se i risultati della query non si adattano allo schermo, vengono reindirizzati tramite questo comando.
I valori tipici sono più o meno. L'impostazione predefinita dipende dalla piattaforma. L'uso del
il cercapersone può essere disabilitato utilizzando il \pset comando.
PGDATABASE
PGHOST
PGPORT
PGUSER
I parametri di connessione predefiniti (vedi Sezione 31.14, «Variabili d'ambiente», nel
documentazione).
PSQL_EDITOR
EDITOR
VISIVO
Editor utilizzato dal \e e \ ef comandi. Le variabili vengono esaminate nell'ordine
elencato; viene utilizzato il primo impostato.
Gli editor predefiniti integrati sono vi sui sistemi Unix e notepad.exe su Windows
sistemi.
PSQL_EDITOR_LINENUMBER_ARG
Quando \e or \ ef viene utilizzato con un argomento numero di riga, questa variabile specifica il
argomento della riga di comando utilizzato per passare il numero della riga iniziale all'editor dell'utente. Per
editor come Emacs o vi, questo è un segno più. Includere uno spazio finale nel
valore della variabile se è necessario che ci sia spazio tra il nome dell'opzione e la riga
numero. Esempi:
PSQL_EDITOR_LINENUMBER_ARG='+'
PSQL_EDITOR_LINENUMBER_ARG='--line '
L'impostazione predefinita è + sui sistemi Unix (corrispondente all'editor predefinito vi e utile
per molti altri editor comuni); ma non esiste un valore predefinito sui sistemi Windows.
PSQL_HISTORY
Posizione alternativa per il file della cronologia dei comandi. Viene eseguita l'espansione della tilde (~).
PSQLRC
Percorso alternativo del file .psqlrc dell'utente. Viene eseguita l'espansione della tilde (~).
SHELL
Comando eseguito dal \! comando.
TMPDIR
Directory per la memorizzazione dei file temporanei. L'impostazione predefinita è /tmp.
Questa utility, come la maggior parte delle altre utility PostgreSQL, utilizza anche le variabili di ambiente
supportato da libpq (vedere la Sezione 31.14, «Variabili d'ambiente», nella documentazione).
Usa psql online usando i servizi onworks.net