diff --git a/controller/PostgreSQL.cpp b/controller/PostgreSQL.cpp
index 1fa057625..c15c85816 100644
--- a/controller/PostgreSQL.cpp
+++ b/controller/PostgreSQL.cpp
@@ -1224,7 +1224,9 @@ void PostgreSQL::onlineNotification_Postgres()
 			memberUpdate << "INSERT INTO ztc_member_status (network_id, member_id, address, last_updated) VALUES ";
 			bool firstRun = true;
 			bool memberAdded = false;
+			int updateCount = 0;
 			for (auto i=lastOnline.begin(); i != lastOnline.end(); ++i) {
+				updateCount += 1;
 				uint64_t nwid_i = i->first.first;
 				char nwidTmp[64];
 				char memTmp[64];
@@ -1275,8 +1277,12 @@ void PostgreSQL::onlineNotification_Postgres()
 			memberUpdate << " ON CONFLICT (network_id, member_id) DO UPDATE SET address = EXCLUDED.address, last_updated = EXCLUDED.last_updated;";
 
 			if (memberAdded) {
+				fprintf(stderr, "%s\n", memberUpdate.str().c_str());
 				pqxx::result res = w.exec0(memberUpdate.str());
+				w.commit();
 			}
+			fprintf(stderr, "Updated online status of %d members\n", updateCount);
+			_pool->unborrow(c);
 		} catch (std::exception &e) {
 			fprintf(stderr, "%s: error in onlinenotification thread: %s\n", _myAddressStr.c_str(), e.what());
 		}