我需要使用p
sql -c命令从命令行执行postgre
SQL查询。
对于每个p
sql命令,它会打开一个新的tcp连接以连接到
数据库服务器并执行
查询,这是大量
查询的开销。
目前我可以像这样执行单个查询:
psql -U postgres -h <ip_addr> -c "SELECT * FROM xyz_table;"
当我尝试执行如下的多个查询,但只执行了最后一个查询。
psql -U postgres -h <ip_addr> -c "SELECT * FROM xyz_table; SELECT * FROM abc_table;"
任何人都可以帮助我并告诉我正确的方法吗?
-c只处理一个命令。没有它,但p
sql期望命令被传递到标准输入,例如:
psql -U postgres -h <ip_addr> <database_name> << EOF
SELECT * FROM xyz_table;
SELECT * FROM abc_table;
EOF
或者使用回声和管道。