如何在PostgreSQL 10中触发恐慌
出于教育目的,我在本地使用PostgreSQL 10 server版本,我的任务之一是在该版本上强制执行紧急错误,以测试日志文件中如何报告 我编辑了如何在PostgreSQL 10中触发恐慌,postgresql,fatal-error,error-logging,Postgresql,Fatal Error,Error Logging,出于教育目的,我在本地使用PostgreSQL 10 server版本,我的任务之一是在该版本上强制执行紧急错误,以测试日志文件中如何报告 我编辑了/etc/postgresql/10/main/postgresql.conf,并修改了以下行: log_min_messages = PANIC log_min_error_statement = PANIC 根据PostgreSQL的最新文档,它指定: PANIC报告一个错误,该错误导致所有数据库会话失败 中止 我想知道是否有一种简单的方法可以
/etc/postgresql/10/main/postgresql.conf
,并修改了以下行:
log_min_messages = PANIC
log_min_error_statement = PANIC
根据PostgreSQL的最新文档,它指定:
PANIC报告一个错误,该错误导致所有数据库会话失败
中止
我想知道是否有一种简单的方法可以触发这种错误并将其打印到日志文件中
我搜索了一下,但没有找到任何可以轻松工作的参数。将这两个参数设置为
PANIC
不是一个好主意。将它们保留在错误
或警告
,紧急
消息仍将被记录
有很多方法可以引起恐慌。例如,您可以删除
pg_wal
目录或其他重要数据结构上的写入权限。然后创建一些数据修改活动(或者调用pg\u switch\u wal
几次)。我知道这不是一个好主意,只是一个练习。如何准确地删除已尝试的pg_wal
页面上的权限,并且该页面没有触发紧急错误,只是发出警告<代码>警告:由于另一个服务器进程崩溃而终止连接授予postgres
对目录的读取和执行权限,但不授予写入权限。PostgreSQL最终将陷入恐慌。通过调用选择pg\u switch\u wal()
加快速度。