我在函数中有调试消息。这些消息是这样提出的
RAISE NOTICE 'Value of id : %', id;
我设置了我的日志文件 \o messages.txt
然后我做我需要做的 \i process.sql
当执行终止时,\o
.
问题是我没有将通知引发的消息放入messages.txt。消息显示在屏幕上,但我希望它们写在 messages.txt 中
我怎么能那样做?
我尝试使用RAISE LOG...
并将消息写入日志文件...这不是我想要的。
我有一个工作
plsql -f /path/to/process.sql > messages.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
但我想知道如何在 plsql 客户端上使用 \i 和 \o 将消息放入 \o 中指定的文件中
我的 cygwin 客户端是 psql (PostgreSQL) 8.2.11,服务器版本是 9.0.7
我使用 cygwin 全屏远程连接到我的数据库服务器。
当我查询我的数据库时
select id, name from table limit 27;
Run Code Online (Sandbox Code Playgroud)
我得到 27 条记录,我可以执行一个新查询,查看上一个查询的结果。
但是,如果我将 27 替换为 28,我会在一个屏幕中看到 28 条记录,并带有(End)
反向视频。如果我想做一个新的查询,我必须按q
。
即使我使用 cygwin 窗口的滚动条,我也看不到上一个查询的结果。
我必须修改哪个选项才能增加此缓冲区?
我的 psql 客户端和数据库服务器版本是 9.1.4,它们安装在 Ubuntu 12.04 上
我有一个包含超过 5000 万行的表。
当我添加一列时:
ALTER TABLE my_table ADD my_column NUMBER;
Run Code Online (Sandbox Code Playgroud)
它非常快。
添加该列后,我将其删除。
ALTER TABLE my_table DROP COLUMN my_column;
Run Code Online (Sandbox Code Playgroud)
需要3分钟!
为什么添加一列如此之快,而删除它而不填充它却很慢?