sql >> Databáze >  >> RDS >> PostgreSQL

Chyba pádu Rails + Postgres:k databázi přistupují jiní uživatelé

Pokud ukončíte běžící postgresql připojení pro vaši aplikaci, můžete pak v pohodě spustit db:drop. Jak tedy tato spojení zabít? Používám následující úlohu rake:

# lib/tasks/kill_postgres_connections.rake
task :kill_postgres_connections => :environment do
  db_name = "#{File.basename(Rails.root)}_#{Rails.env}"
  sh = <<EOF
ps xa \
  | grep postgres: \
  | grep #{db_name} \
  | grep -v grep \
  | awk '{print $1}' \
  | xargs kill
EOF
  puts `#{sh}`
end

task "db:drop" => :kill_postgres_connections

Zabití připojení zpod kolejí někdy způsobí, že se při příštím pokusu o načtení stránky zasekne, ale opětovné načtení znovu naváže spojení.



  1. Jak pokračovat ve zpracování smyčky kurzoru po výjimce v Oracle

  2. MySQL server zmizel - přesně za 60 sekund

  3. Jak získat aktuální datum a čas s posunem časového pásma v PostgreSQL

  4. MySQL ISNULL() Vysvětleno