我正在将oracle数据库迁移到postgresql。
当迁移在oracle端使用下面的查询时就知道了。
Oracle查询:
SELECT
TRIM(value) AS val
FROM v$parameter
WHERE name = 'job_queue_processes';我只想知道如何才能获得在postgresql端为执行而创建的每个实例的最大工作奴隶数。
到目前为止,我已经创建了pg_cron扩展并创建了所需的工作。但是其中一个函数是在oracle中使用上面的查询,所以我只想把它转换成postgresql。
发布于 2022-07-15 17:52:53
文档通常是一个很好的信息来源。
注意:默认情况下,pg_cron使用libpq打开到本地数据库的新连接。
在这种情况下,没有具体的限制。它将以其他用户连接受限的方式受到限制。主要是通过max_connections,但可能会从特定用户或特定数据库的ALTER命令中降低。如果您希望单独限制cron的连接,您可以为cron专门创建一个用户,然后授予它将代表的其他角色的用户权限。我不知道如果达到限制pg_cron会做什么,它是否优雅地处理它?
或者,可以将pg_cron配置为使用后台工作人员。在这种情况下,并发作业的数量受到max_worker_processes设置的限制,因此您可能需要提高这个值。
请注意,工作人员的最大数量可能必须与并行执行工作人员共享,或者与其他扩展共享。
https://stackoverflow.com/questions/72996231
复制相似问题