简体   繁体   English

如何通过ssh Ruby使用cmd从psql获取数据

[英]How to get data from psql using cmd via ssh Ruby

i want to get data in database psql from my computer local vi ssh ruby. 我想从我的计算机本地vi ssh ruby​​获取数据库psql中的数据。 But my program not finish and print output 但是我的程序没有完成并打印输出

$messageid = 'xxx'
$table_data_base = 'yyy'
 ...........    
Net::SSH.start($host, $user_name, :password => $pass_word) do |ssh|
  ssh.exec!("PGPASSWORD='pass' psql -d data_base_name -U user_name")
  data_mail = ssh.exec!("SELECT * FROM #{$table_data_base} WHERE messageid=#{$messageid};")
end
puts data_mail

I just find answer of my question: it similar using cmd ssh to get data: 我只是找到我的问题的答案:使用cmd ssh来获取数据类似于:

 cmd1 = "PGPASSWORD='pass' psql -d data_base_name -U user_name"
 cmd2 = "\\\"SELECT * FROM #{$table_data_base} WHERE messageid=#{$messageid};\\\""
 Net::SSH.start($host, $user_name, :password => $pass_word) do |ssh|
   data_mail = ssh.exec!("#{cmd1} -c #{cmd2}")
 end

or we use simple cmd ssh to connect and get data 或者我们使用简单的cmd ssh连接并获取数据

data_mail = %x[ssh #{cmd1} -c #{cmd2}]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM