You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

psql Shell执行SELECT * FROM表时卡在-- More --的问题求助

解决psql终端卡在-- More --的问题

嘿,这个场景我太熟悉了!当psql返回的结果超过终端一屏时,默认会调用分页工具(通常是less)来逐屏显示,所以才会出现-- More --的提示。给你两个实用的解决方案:

1. 一次性显示所有查询结果

你有两种方式可以关闭分页功能:

临时关闭(当前会话有效)

在psql提示符下执行这条命令:

\pset pager off

之后再执行SELECT * FROM person;,所有500条数据就会直接全部输出到终端,不会再触发分页。

永久关闭(所有会话生效)

如果不想每次都手动关闭分页,可以修改psql的配置文件:

  1. 打开终端,编辑~/.psqlrc文件(如果没有就新建一个):
    nano ~/.psqlrc
    
  2. 在文件中添加一行:
    \pset pager off
    
  3. 保存退出后,下次打开psql就会自动关闭分页功能。

另外,如果你是直接在Mac终端用psql命令执行单条查询,也可以直接加参数跳过分页:

psql -U 你的用户名 -d 你的数据库名 -c "SELECT * FROM person"

用-c参数执行单条SQL时,psql默认不会启用分页。

2. 在-- More --状态下直接输入下一条命令

如果已经卡在-- More --了,不用终止终端,直接按q键就能退出分页器,回到psql的命令提示符,这时就可以输入下一条SQL命令了。

顺便提几个分页器的常用快捷键,说不定能帮到你:

  • 按空格键:翻到下一页
  • 按G(大写):直接跳到最后一页
  • 按b:回到上一页

内容的提问来源于stack exchange,提问作者user12517877

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 11:23:00