有没有办法在 Cassandra cqlsh 的寻呼机中显示结果?

aef*_*aef 5 cql pager cassandra cqlsh

如果查询的输出无法在用于发出查询的终端的尺寸内正确显示,则用于绘制表格布局的 ASCII 艺术通常会中断,并在尝试阅读显示的内容时成为障碍而非帮助结果。

使用 Cassandra 的cqlsh. 虽然可以选择EXPAND ON在基于行的布局中显示结果,但我更愿意以cqlsh某种方式进行配置,以便对终端来说太大的表输出会自动通过管道传输到寻呼机中。

在 PostgreSQL 的 psql utitliy 中,PAGER只要输出不适合终端,就会自动使用环境变量中配置的分页器。通常该less命令用作寻呼机。在 MySQL 中,您可以使用类似命令PAGER less通过寻呼机显示所有结果less

是否有类似的功能可用cqlsh

man*_*nuj 4

如果需要,您可以将输出捕获到文件中,然后通过寻呼机运行该文件。

例如在 cqlsh shell 上运行此命令

捕获“~/out.txt”

现在,当您运行任何 select 命令时,输出将写入该文件,而不是在终端中显示。您可以使用 less 或 more 对文件(out.txt)进行分页。

这是文档:http://docs.datastax.com/en/cql/3.1/cql/cql_reference/capture_r.html

cqlsh 中还有分页选项。运行以下命令查看是否启用

寻呼

运行以下命令来启用它

寻呼

但是在开始分页之前它仍然显示 100 行。我不确定是否有一种方法可以配置分页,以便在输出超过一个屏幕时立即开始分页。