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

Błąd upuszczenia Railsów + Postgres:baza danych jest używana przez innych użytkowników

Jeśli zabijesz działające połączenia postgresql dla swojej aplikacji, możesz uruchomić db:drop w porządku. Jak więc zabić te połączenia? Używam następującego zadania prowizji:

# 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

Zabijanie połączeń spod szyn czasami spowoduje, że przy kolejnej próbie wczytania strony będzie się zdzierać, ale ponowne jej załadowanie przywraca połączenie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zbiorczo wstawiać tylko nowe wiersze w PostreSQL

  2. Jak dostosować plik konfiguracyjny oficjalnego obrazu Docker PostgreSQL?

  3. Konfiguracje wielu centrów danych z PostgreSQL

  4. Brak ograniczenia unikalności lub wykluczenia pasującego do ON CONFLICT

  5. postgresql migracja JSON do JSONB