postgresql - Datenbank kann nicht erstellt werden - OperationalError: Auf die Quellendatenbank "template1" wird von anderen Benutzern zugegriffen
Ich angemeldet-source-Datenbank template1 und jetzt kann ich keine Datenbank erstellen.
Wenn ich versuche, eine Datenbank erstellen, bekomme ich diese Fehlermeldung:
OperationalError: source database "template1" is being accessed by other users
DETAIL: There are 5 other session(s) using the database.
Jedes mal, wenn ich login zu vorlage1, ich verwende "exit" - Befehl zum Abmelden, aber wie Sie sehen können es nicht Abmelden und die Anzahl der Sitzungen erhöht sich jedes mal wenn ich login. Gibt es eine Möglichkeit zu erzwingen, trennen Sie jede Verbindung zu vorlage1, die angemeldet jetzt?
InformationsquelleAutor der Frage Andrius | 2013-01-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Datenbank
template1
existiert nur, um barebone-Struktur, erstellen Sie eine weitere leere Datenbank. Sollten Sie nie Anmeldungtemplate1
sonst werden Sie Probleme haben.Wohl einfachste Lösung für Sie ist, starten Sie den PostgreSQL-server-Prozess, und die Anmeldung erneut. Datenbank, die sollten immer vorhanden sein und ist sicher für die Anmeldung ist
postgres
.Wenn ein Neustart ist nicht eine option, verwenden Sie ein anderes Notfall-Vorlage-Datenbank:
template0
.Standardmäßig ist diese Aussage:
ist äquivalent zu:
Wenn
template1
ist nicht vorhanden oder beschädigt ist, können Sietemplate0
als letzten Ausweg:Lesen Sie mehr über template-Datenbanken hier.
InformationsquelleAutor der Antwort mvp
Dies hat mir geholfen, mein problem zu lösen:
Ich beendet alle aktiven verbindungen zu vorlage1 und könnte create database normalerweise
InformationsquelleAutor der Antwort Andrius
Um dieses Problem zu lösen, muss ich die Datenbank-Verbindung trennen aus dem
pgAdmin III.
InformationsquelleAutor der Antwort roxdurazo
Können Sie auch versuchen, zu beenden, den aktuellen Vorgang Faden durch das Terminal
Suche den Prozess :
Kill the Prozess :
sudo kill -9 < Ihre Prozess-id >
InformationsquelleAutor der Antwort DASADIYA CHAITANYA
Dieses problem auftreten, wenn du angemeldet hatte(psql template1 oder psql template0) in template1 und template0 Datenbank und beenden Sie mit nachstehenden Befehl.
Strg + z
Besseren Weg gibt es von db unter postgres-Befehl und dann das problem nicht erstellen:
\q + enter
Gibt es 2 Lösungen, Wenn problem haben.
Lösung - 1
Neu starten, posgres-service wie.
sudo service postgresql restart
Lösung - 2
sudo ps aux | grep template1
Stellen Sie sicher, nicht löschen diese Prozesse
postgres 8363 0.0 0.0 111760 7832 pts/11 T 09:49 0:00 /usr/lib/postgresql/9.5/bin/psql template1
ankit 18119 0.0 0.0 14224 976 pts/14 S+ 12:33 0:00 grep --color=auto template1
rest sollte mit der kill mit nachstehenden Befehl.
sudo kill -9
Nun versuchen, zu erstellen, die db wieder.
Hoffe, dies hilft Ihnen.
Ankit H Gandhi.
InformationsquelleAutor der Antwort Er.Ankit H Gandhi
Ich habe ein Skript, das eine Verbindung zu einer Datenbank und führt die verschiedenen Operationen, einige erfordern, dass niemand sonst angemeldet ist. Ich veränderte @Andrius Antwort nicht zu beenden, mein Skript die Verbindung, aber eher kündigen, jeder andere ist:
Aus der docs:
pg_backend_pid()
ist die Prozess-ID von der server-Prozess an die aktuelle Sitzung.InformationsquelleAutor der Antwort gorus
Können Sie versuchen, starten Sie den postgresql-Dienst, der im hintergrund ausgeführt wird.
InformationsquelleAutor der Antwort ezzadeen