Я написал tcp-сервер, который принимает пакеты с терминального устройства. Сервер TCP интерпретирует данные и сохраняет их в базе данных с помощью postgres.Ruby TCP server - ОШИБКА: PG :: ConnectionBad: FATAL: оставшиеся слоты для подключения зарезервированы для соединений с невосстанавливаемым суперпользователем
Сервер tcp является многопоточным. Образец кода момента, когда я открываю соединение db и сохраняю данные, выглядит следующим образом:
conn = Sequel.connect('postgres://xxxxx:[email protected]:xxxxx/xxxxxxxxx',:max_connections => 100) # requires pg
transactions = conn.from(:transactions)
if transactions.insert(serial_number: card_serial, balance_before: balance_before, amount: transaction_amount, balance_after: balance_after, transaction_time: time, terminal_number: terminal_number, terminal_type: terminal_type, created_at: Time.now, updated_at: Time.now)
response = {message: "TT01000080", status: "SUCCESS" }
return response
else
response = {message: "", status: "FAILED" }
return response
end
После нескольких пакетов db создает ошибку, подобную этой; ERROR:PG::ConnectionBad: FATAL: remaining connection slots are reserved for non-replication superuser connections
Даже добавив строку conn.disconnect
не помогает вопрос.
Вы были правы насчет отключения после заявления о возврате. благодаря – Acacia