Dit lijkt een misverstand te zijn. Overweeg mijn vette nadruk :
De WAARSCHUWING hoort duidelijk bij een andere gelijktijdige transactie , die geen expliciete transactie startte. De commit
is misplaatst daar , omdat het in de autocommit-modus werkt.
Als je je log blijft lezen, zul je waarschijnlijk verderop een vermelding voor de commit vinden:
Foutopsporing
Als je dat noch een rollback
. vindt invoer noch een fout, ik zou controleren op problemen in uw app en niet-vastgelegde zombie-transacties achterlaten, wat een slechte zaak zou zijn .
Start het onderzoek door de systeemweergave pg_stat_activity
terwijl u verbonden bent met uw database:
SELECT *
FROM pg_stat_activity
WHERE datname = current_database() -- only current database
AND pid <> pg_backend_pid() -- except your current session
AND state LIKE 'idle%';
De state
waarde idle
is niet per se verdacht - alleen een sessie die wacht op invoer.
Maar idle in transaction
en idle in transaction (aborted)
zijn.
Meer in de handleiding hier of deze gerelateerde antwoorden:
- Hoe verwijder ik een PostgreSQL-database als er actieve verbindingen mee zijn?
- Is er een time-out voor inactieve PostgreSQL-verbindingen?