我面临的问题,而连接到2 postgres数据库使用JTA。
如果我分别对每个数据库执行查询,一切看起来都很好,但是当我同时执行这两个数据库时,会得到下面的错误,我已经在postgres.conf中将max_prepared_transactions设置为100
原因是:org.postgresql.util.错误:已禁用准备好的事务提示:将max_prepared_transactions设置为非零值。
我面临的问题,而连接到2 postgres数据库使用JTA。
如果我分别对每个数据库执行查询,一切看起来都很好,但是当我同时执行这两个数据库时,会得到下面的错误,我已经在postgres.conf中将max_prepared_transactions设置为100
原因是:org.postgresql.util.错误:已禁用准备好的事务提示:将max_prepared_transactions设置为非零值。
1条答案
按热度按时间fzwojiic1#
问题是您已经在
postgresql.conf
文件中准备了禁用的事务,默认情况下禁用此功能,这使得默认配置为max_prepared_transactions = 0
,因此,如果您使用Atomikos为事务启用2PC协议,则必须在postgresql.conf
中修改此变量。示例:
现在,这被称为Postgres的静态配置,这意味着为了工作,需要在创建服务器时配置它,或者在设置此值后重新启动服务器。
希望这能帮上忙。
有关此配置的详细信息,请单击此处:https://postgresqlco.nf/doc/en/param/max_prepared_transactions/