2009-02-06 5 views
6

Otrzymuję błąd OperationalError: FATAL: przepraszam, zbyt wielu klientów już przy użyciu psycopg2. Wywołuję metodę close na instancji połączenia po zakończeniu pracy. Nie jestem pewien, co może być przyczyną tego, jest to moje pierwsze doświadczenie z python i postgresql, ale mam kilka lat doświadczenia z php, asp.net, mysql i serwer sql.Pierwsze OperationalError: FATAL: przepraszam, zbyt wielu klientów już korzystających z psycopg2

EDYTOWANIE: Uruchomiłem to lokalnie, jeśli połączenia są zamykane tak, jak powinny być, mam tylko jedno otwarte połączenie na raz. Miałem GUI otwarty do bazy danych, ale nawet zamknięty otrzymuję ten błąd. Dzieje się to bardzo krótko po uruchomieniu mojego programu. Mam funkcję połączenia I, która zwraca połączenie, które jest otwarte jak:

psycopg2.connect (connectionString)

Dzięki

Finał Edit: To był mój błąd, byłem rekurencyjne wywołanie tej samej metody w sprawie błędu, który w kółko otwierał tę samą metodę. To był długi dzień ..

Odpowiedz

5

Ten błąd oznacza, że ​​jest napisane, że zbyt wielu klientów jest połączonych z postgreSQL. Czy jesteś jedynym, który jest podłączony do tej bazy danych? Czy używasz graficznego IDE? Jakiej metody używasz do łączenia? Czy testujesz zapytania w tym samym czasie, gdy uruchamiasz kod? każda z tych rzeczy może być problemem. Jeśli jesteś administratorem, możesz zwiększyć liczbę klientów, ale jeśli program jest zawieszony, to nie pomoże to na długo.

Istnieje zbyt wiele powodów, dla których może być zbyt wielu klientów uruchomionych w tym samym czasie z rzadkimi informacjami, które nam dałeś.

1

Upewnij się, że polecenie połączenia db nie zawiera żadnych pętli. Otrzymałem ten sam błąd z mojego skryptu, dopóki nie usunąłem pliku db.database() z moich programów powtarzających pętlę wykonawczą.

Powiązane problemy