7

我在 postgres 数据文件夹中打开了我的 postgresql.conf 文件,并将 max_prepared_connections 的值更改为非零值。

但是,每次我尝试使用“PREPARE TRANSACTION 'foo';”命令时,都会收到一条错误消息,指出 max_prepared_connections 设置为零。

我做错什么了吗?我只想能够使用准备事务命令。

4

4 回答 4

5

更改此参数后,您必须重新启动 PosgreSQL 服务器。

于 2012-11-29T06:46:08.450 回答
3

转到安装 postgresql 的位置...在 windows 中,转到 C:\Program Files\PostgreSQL\9.5\data\postgresql.conf 打开,然后搜索“max_prepared_transactions”并取消注释。然后设置 max_prepared_transactions = 1
零禁用该功能(更改需要重新启动) 注意:增加 max_prepared_transactions 每个事务槽需要大约 600 字节的共享内存,加上锁空间(请参阅 max_locks_per_transaction)。除非您主动打算使用准备好的事务,否则不建议将 max_prepared_transactions 设置为非零。

之后在开始菜单中输入服务并搜索 postgresql 并从左上角停止服务。然后重新启动此服务。然后重新启动 jboss 服务器。

于 2016-02-10T10:32:41.757 回答
1

我想补充一点,可以有一个C:\Program Files\PostgreSQL\10\share\postgresql.conf.sampleFiles\PostgreSQL\9.5\data\postgresql.conf. 因此,您还应该更改max_prepared_transactions该文件。

于 2018-03-06T16:13:20.447 回答
0
  1. 运行以下查询,例如 ALTER SYSTEM SET max_prepared_transactions = 100;
  2. 重启服务
  3. 通过运行以下查询进行验证:- SHOW max_prepared_transactions;
于 2021-07-14T18:37:03.180 回答