![]() |
暴走的火锅 · Android Studio ...· 1 年前 · |
![]() |
憨厚的移动电源 · android mediaplayer ...· 1 年前 · |
![]() |
卖萌的口罩 · UserControl 類別 ...· 2 年前 · |
![]() |
慷慨大方的汤圆 · AngularJS 动画 | 菜鸟教程· 2 年前 · |
我需要使用psql -c命令从命令行执行postgresql查询。对于每个psql命令,它都会打开一个新的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;"
有没有人能帮助我,告诉我做这件事的正确方法?
发布于 2015-03-02 14:16:06
-c
只处理一个命令。然而,如果没有它,
psql
期望将命令传递到标准输入中,例如:
psql -U postgres -h <ip_addr> <database_name> << EOF
SELECT * FROM xyz_table;
SELECT * FROM abc_table;
EOF
或者使用
echo
和管道。
发布于 2016-05-15 18:50:48
使用
echo
和管道将其放在一行中:
echo 'SELECT * FROM xyz_table; \n SELECT * FROM abc_table' | psql -U postgres
发布于 2015-03-02 19:06:31
--file
参数执行文件的内容
psql -U postgres -h <ip_addr> -f "my_file.psql"
所有输出都将发送到标准输出
https://stackoverflow.com/questions/28803651
复制相似问题
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
![]() |
慷慨大方的汤圆 · AngularJS 动画 | 菜鸟教程 2 年前 |