Thread: "man psql" \set documentation error
Running an application and \set'ing its output in a variable requires use of the backtick '`' operator. Under the heading "SQL INTERPOLATION", the examples should be as follows (the difference being use of backticks instead of single quotes around the command to be executed): Current (wrong): testdb=> \set content '\'' 'cat my_file.txt' '\'' Correct: testdb=> \set content '\'' `cat my_file.txt` '\'' Current (wrong): testdb=> \set content 'sed -e "s/'/\\\\\\'/g" < my_file.txt' Correct: testdb=> \set content `sed -e "s/'/\\\\\\'/g" < my_file.txt` Cheers, Derrell
Derrell.Lipman@UnwiredUniverse.com wrote: > Running an application and \set'ing its output in a variable requires use of > the backtick '`' operator. Under the heading "SQL INTERPOLATION", the > examples should be as follows (the difference being use of backticks instead > of single quotes around the command to be executed): > > Current (wrong): > testdb=> \set content '\'' 'cat my_file.txt' '\'' > > Correct: > testdb=> \set content '\'' `cat my_file.txt` '\'' > > > > Current (wrong): > testdb=> \set content 'sed -e "s/'/\\\\\\'/g" < my_file.txt' > > Correct: > testdb=> \set content `sed -e "s/'/\\\\\\'/g" < my_file.txt` > I just checked and it looks fine in current sources. Does it look right in your browser: http://candle.pha.pa.us/main/writings/pgsql/sgml/app-psql.html -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian <pgman@candle.pha.pa.us> writes: > Derrell.Lipman@UnwiredUniverse.com wrote: >> Running an application and \set'ing its output in a variable requires use of >> the backtick '`' operator. Under the heading "SQL INTERPOLATION", the >> examples should be as follows (the difference being use of backticks instead >> of single quotes around the command to be executed): >> >> Current (wrong): >> testdb=> \set content '\'' 'cat my_file.txt' '\'' >> >> Correct: >> testdb=> \set content '\'' `cat my_file.txt` '\'' >> >> >> >> Current (wrong): >> testdb=> \set content 'sed -e "s/'/\\\\\\'/g" < my_file.txt' >> >> Correct: >> testdb=> \set content `sed -e "s/'/\\\\\\'/g" < my_file.txt` >> > > I just checked and it looks fine in current sources. Does it look right > in your browser: > > http://candle.pha.pa.us/main/writings/pgsql/sgml/app-psql.html Yes, it looks correct in that html version; it just has the wrong character in the nroff "man" version. Cheers, Derrell