如何使用ssh远程查询postgresql中的文本字段?
如果我这样做:如何使用ssh远程查询postgresql中的文本字段?,postgresql,Postgresql,如果我这样做: ssh -t remote_server "cd /; sudo -u postgres psql -c 'SELECT rolname FROM pg_roles WHERE rolname = 'username';'" 它返回一个错误: ERROR: column "username" does not exist LINE 1: SELECT rolname FROM pg_roles WHERE rolname = username; 似乎在'username'之
ssh -t remote_server "cd /; sudo -u postgres psql -c 'SELECT rolname FROM pg_roles WHERE rolname = 'username';'"
它返回一个错误:
ERROR: column "username" does not exist
LINE 1: SELECT rolname FROM pg_roles WHERE rolname = username;
似乎在
'username'
之前的“'
关闭了psql-c
之后的“
。我想知道如何解决这个问题。我在朋友的帮助下得到了答案:
ssh-t remote_server“cd/;sudo-u postgres psql-c”从pg_角色中选择rolname,其中rolname='\''用户名'\'';我在朋友的帮助下得到了答案: ssh-t remote_server“cd/;sudo-u postgres psql-c”从pg_角色中选择rolname,其中rolname='\''用户名'\'';请尝试以下操作:
ssh -t remote_server 'cd /; sudo -u postgres psql -c "SELECT rolname FROM pg_roles WHERE rolname = '"'"'username'"'"';"'
多个级别的引号是shell中的一个难题。请尝试以下操作:
ssh -t remote_server 'cd /; sudo -u postgres psql -c "SELECT rolname FROM pg_roles WHERE rolname = '"'"'username'"'"';"'
多层次的引用是一个棘手的问题