PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

100% wykorzystanie procesora spowodowane przez nieznane zapytanie postgres

Miałem podobny problem. Było to spowodowane - niektóre transakcje blokowały się i działały przez długi czas. W ten sposób wykorzystanie procesora przez cały czas było na poziomie 100%. Następujące polecenie pomogło znaleźć połączenia działające najdłużej:

SELECT max(now() - xact_start) FROM pg_stat_activity
                           WHERE state IN ('idle in transaction', 'active');

To polecenie pokazuje czas od kiedy połączenie jest uruchomione. Ten czas nie powinien być dłuższy niż godzina. Tak więc zabicie połączenia, które działało od dłuższego czasu lub zostało zablokowane w dowolnym momencie, zadziałało dla mnie. Śledziłem ten post za monitorowanie i rozwiązywanie mojego problemu. Post zawiera wiele przydatnych poleceń do monitorowania tej sytuacji.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znalezienie unikalnych rekordów, uporządkowanych według pól w powiązaniu z PostgreSQL i Rails 3?

  2. to_sql + sqlalchemy + kopia z + silnik postgresql?

  3. zaktualizować wiele wierszy w jednym zapytaniu, ale dane wejściowe, których oczekujemy, pochodzą z obiektu json z wieloma danymi

  4. Odśwież widoki zmaterializowane za pomocą współbieżności

  5. Czy jest jakiś problem z instalacją psycopg2 w virtualenv na MacOS catalina z zainstalowanym PostgreSQL 12.1?