DBAtlas · Veritabanı operasyon atlası

55006: object_in_use

PostgreSQL

Ne demek?

İşlem yapılmak istenen nesne (genellikle bir veritabanı) başka oturumlar tarafından kullanıldığı için üzerinde bu işlem gerçekleştirilemiyor. Örneğin aktif bağlantısı olan bir veritabanı silinemez.

Neden olur?

DROP DATABASE denenirken o veritabanına açık bağlantıların bulunması; kullanımda olan bir nesne üzerinde özel (exclusive) lock gerektiren işlem; başka bir oturumun nesneyi tutması.

Nasıl çözülür?

Hedef veritabanına açık bağlantıları bulun ve sonlandırın: SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'db_adi' AND pid <> pg_backend_pid(); Yeni bağlantıları engelleyin (gerekirse). PostgreSQL 13+ ile bağlantıları zorla kapatarak silin: DROP DATABASE db_adi WITH (FORCE);

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar