Bagaimana cara menggabungkan variabel psql?


8

Bagaimana saya bisa menggabungkan dua variabel psql (klien PostgreSQL)? Saya ingin membuat path absolut dengan menggabungkan variabel path direktori dan variabel nama file.

Saya sudah mencoba ini:

\set path '/tmp/'
\set file 'foo'
\echo :path:file

Tapi psql memberi spasi antara path dan file, dan output:

/tmp/ foo

Jawaban:


8
\set path '/tmp/'
\set file 'foo'
\set pf :path:file \echo :pf
/tmp/foo

Mengapa ini bekerja? Saya mengutip manualnya di sini :

\ set [nama [nilai [...]]]

Tetapkan nama variabel internal ke nilai atau, jika lebih dari satu nilai diberikan, ke gabungan dari semuanya . [...]

Tekankan milikku.


1
Bahkan lebih baik dari milik saya
dezso

4

Coba ini:

\set path /tmp/
\set file foo
\qecho :path:file \o | sed s/\ //
/tmp/foo

\qechomenulis ke saluran keluaran kueri (tidak seperti \echo, yang menulis ke keluaran standar). \o |kemudian mengalihkan output ke perintah selanjutnya.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.