The following sequence of commands causes server crash. postgres=# BEGIN TRANSACTION READ WRITE ; BEGIN postgres=# SELECT * FROM pg_class FOR UPDATE; FATAL: cannot assign TransactionIds during recovery STATEMENT: SELECT * FROM pg_class FOR UPDATE; FATAL: cannot assign TransactionIds during recovery server closed the connection unexpectedly This probably means the server terminated abnormally before or while processing the request. The connection to the server was lost. Attempting reset: Succeeded.
I think we should disallow starting a read-write transaction during recovery. The patch attempts to do that by setting transaction mode to read-only, but not enough to prevent somebody to explicitly mark the transaction as read-write. Thanks, Pavan -- Pavan Deolasee EnterpriseDB http://www.enterprisedb.com