Обсуждение: psql treat backslash which is not the first character in the input line as meta-command
SGksYWxsCgoKcHNxbCB0cmVhdCBiYWNrc2xhc2ggd2hpY2ggaXMgbm90IHRoZSBmaXJzdCBjaGFy YWN0ZXIgaW4gdGhlIGlucHV0IGxpbmUgYXMgbWV0YS1jb21tYW5kLGFuZCBmYWlsZWQgdG8gZXhl Y3V0ZSB0aGUgbmV4dCBxdWVyeS4KSXQgc2VlbXMgdG8gYmUgYSBidWcuCgoKU2FtcGxlMToKcG9z dGdyZXM9IyBzZWxlY3QgXDEgc2V0IGMyPWMxJTMgOwpJbnZhbGlkIGNvbW1hbmQgXDEuIFRyeSBc PyBmb3IgaGVscC4KcG9zdGdyZXMtIyBzZWxlY3QgMTsKRVJST1I6ICBzeW50YXggZXJyb3IgYXQg b3IgbmVhciAic2VsZWN0IgpMSU5FIDI6IHNlbGVjdCAxOwogICAgICAgIF4KCgoKClNhbXBsZTI6 CnBvc3RncmVzPSMgYSBcbCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBk YXRhYmFzZXMKICAgTmFtZSAgICB8IE93bmVyICB8IEVuY29kaW5nICB8ICBDb2xsYXRlICAgfCAg IEN0eXBlICAgIHwgQWNjZXNzIHByaXZpbGVnZXMgCi0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQogcG9z dGdyZXMgIHwgY2hlbmhqIHwgU1FMX0FTQ0lJIHwgQyAgICAgICAgICB8IEMgICAgICAgICAgfCAK IHRlbXBsYXRlMCB8IGNoZW5oaiB8IFNRTF9BU0NJSSB8IEMgICAgICAgICAgfCBDICAgICAgICAg IHwgPWMvY2hlbmhqICAgICAgICArCiAgICAgICAgICAgfCAgICAgICAgfCAgICAgICAgICAgfCAg ICAgICAgICAgIHwgICAgICAgICAgICB8IGNoZW5oaj1DVGMvY2hlbmhqCiB0ZW1wbGF0ZTEgfCBj aGVuaGogfCBTUUxfQVNDSUkgfCBDICAgICAgICAgIHwgQyAgICAgICAgICB8ID1jL2NoZW5oaiAg ICAgICAgKwogICAgICAgICAgIHwgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgICB8ICAg ICAgICAgICAgfCBjaGVuaGo9Q1RjL2NoZW5oagooNiByb3dzKQoKCnBvc3RncmVzLSMgc2VsZWN0 IDE7CkVSUk9SOiAgc3ludGF4IGVycm9yIGF0IG9yIG5lYXIgImEiCkxJTkUgMTogYSAKICAgICAg ICBeCgoKUmVnYXJkcywKQ2hlbiBIdWFqdW4=
Re: psql treat backslash which is not the first character in the input line as meta-command
От
Pavel Stehule
Дата:
Hi
It is not bug. Upi can you a backslash commands for entering query
postgres=# select 10 \g ~foo
postgres=# \! cat foo
?column?
----------
10
(1 row)
postgres=# select 10 as xx \gset
postgres=# \echo :xx
10
regards
Pavel Stehule
2014-10-29 10:09 GMT+01:00 chenhj <chjischj@163.com>:
> Hi,all
>
> psql treat backslash which is not the first character in the input line
> as meta-command,and failed to execute the next query.
> It seems to be a bug.
>
> Sample1:
> postgres=# select \1 set c2=c1%3 ;
> Invalid command \1. Try \? for help.
> postgres-# select 1;
> ERROR: syntax error at or near "select"
> LINE 2: select 1;
> ^
>
>
> Sample2:
> postgres=# a \l
> List of databases
> Name | Owner | Encoding | Collate | Ctype | Access
> privileges
>
> -----------+--------+-----------+------------+------------+-------------------
> postgres | chenhj | SQL_ASCII | C | C |
> template0 | chenhj | SQL_ASCII | C | C | =c/chenhj
> +
> | | | | |
> chenhj=CTc/chenhj
> template1 | chenhj | SQL_ASCII | C | C | =c/chenhj
> +
> | | | | |
> chenhj=CTc/chenhj
> (6 rows)
>
> postgres-# select 1;
> ERROR: syntax error at or near "a"
> LINE 1: a
> ^
>
> Regards,
> Chen Huajun
>
SGkKCgpJIHVuZGVyc3RhbmQsVGhhbmtzIQoKCnJlZ2FyZHMsCkNoZW4gSHVhanVuCkF0IDIwMTQt MTAtMjkgMTc6MjU6MjMsICJQYXZlbCBTdGVodWxlIiA8cGF2ZWwuc3RlaHVsZUBnbWFpbC5jb20+ IHdyb3RlOgoKSGkKCgpJdCBpcyBub3QgYnVnLiBVcGkgY2FuIHlvdSBhIGJhY2tzbGFzaCBjb21t YW5kcyBmb3IgZW50ZXJpbmcgcXVlcnkKCnBvc3RncmVzPSMgc2VsZWN0IDEwIFxnIH5mb28KcG9z dGdyZXM9IyBcISBjYXQgZm9vCiA/Y29sdW1uPwotLS0tLS0tLS0tCiAgICAgICAxMAooMSByb3cp Cgpwb3N0Z3Jlcz0jIHNlbGVjdCAxMCBhcyB4eCBcZ3NldApwb3N0Z3Jlcz0jIFxlY2hvIDp4eAox MAoKCnJlZ2FyZHMKCgpQYXZlbCBTdGVodWxlCgoKCjIwMTQtMTAtMjkgMTA6MDkgR01UKzAxOjAw IGNoZW5oaiA8Y2hqaXNjaGpAMTYzLmNvbT46CgpIaSxhbGwKCgpwc3FsIHRyZWF0IGJhY2tzbGFz aCB3aGljaCBpcyBub3QgdGhlIGZpcnN0IGNoYXJhY3RlciBpbiB0aGUgaW5wdXQgbGluZSBhcyBt ZXRhLWNvbW1hbmQsYW5kIGZhaWxlZCB0byBleGVjdXRlIHRoZSBuZXh0IHF1ZXJ5LgpJdCBzZWVt cyB0byBiZSBhIGJ1Zy4KCgpTYW1wbGUxOgpwb3N0Z3Jlcz0jIHNlbGVjdCBcMSBzZXQgYzI9YzEl MyA7CkludmFsaWQgY29tbWFuZCBcMS4gVHJ5IFw/IGZvciBoZWxwLgpwb3N0Z3Jlcy0jIHNlbGVj dCAxOwpFUlJPUjogIHN5bnRheCBlcnJvciBhdCBvciBuZWFyICJzZWxlY3QiCkxJTkUgMjogc2Vs ZWN0IDE7CiAgICAgICAgXgoKCgoKU2FtcGxlMjoKcG9zdGdyZXM9IyBhIFxsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIGRhdGFiYXNlcwogICBOYW1lICAgIHwgT3duZXIg IHwgRW5jb2RpbmcgIHwgIENvbGxhdGUgICB8ICAgQ3R5cGUgICAgfCBBY2Nlc3MgcHJpdmlsZWdl cyAKLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tCiBwb3N0Z3JlcyAgfCBjaGVuaGogfCBTUUxfQVNDSUkg fCBDICAgICAgICAgIHwgQyAgICAgICAgICB8IAogdGVtcGxhdGUwIHwgY2hlbmhqIHwgU1FMX0FT Q0lJIHwgQyAgICAgICAgICB8IEMgICAgICAgICAgfCA9Yy9jaGVuaGogICAgICAgICsKICAgICAg ICAgICB8ICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgY2hl bmhqPUNUYy9jaGVuaGoKIHRlbXBsYXRlMSB8IGNoZW5oaiB8IFNRTF9BU0NJSSB8IEMgICAgICAg ICAgfCBDICAgICAgICAgIHwgPWMvY2hlbmhqICAgICAgICArCiAgICAgICAgICAgfCAgICAgICAg fCAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8IGNoZW5oaj1DVGMvY2hlbmhq Cig2IHJvd3MpCgoKcG9zdGdyZXMtIyBzZWxlY3QgMTsKRVJST1I6ICBzeW50YXggZXJyb3IgYXQg b3IgbmVhciAiYSIKTElORSAxOiBhIAogICAgICAgIF4KCgpSZWdhcmRzLApDaGVuIEh1YWp1bgoK