2016-04-01 16 views
6

Ich möchte den Namen meiner Sequenz, die ich verwende ändern. Ich habe versucht, diese beiden Optionen und schlug fehl:Ändern Sequenz Name in PostgreSQL

ALTER TABLE PLAYER RENAME id_seq_player TO player_id_seq; 

und

ALTER SEQUENCE id_seq_player RENAME TO player_id_seq; 

ich in der offiziellen Dokumentation sah und von dort Ich habe diese beiden SQL, aber keiner von ihnen arbeitete. Die first solution führte zu einem SQL-Fehler und die second hatte eine Auszeit. Hier

ist die SQL-Fehler erhalte ich:

ERROR: column "id_seq_player" does not exist 

********** Error ********** 

* UPDATE *

Scheint, wie die zweite SQL-Anweisung hat seinen Zweck erfüllt. Da ich den Port weiterleiten muss, war es vielleicht ein Problem mit der Verbindung oder OpenShift. Aber jetzt habe ich mehrmals versucht es zu verifizieren und es funktioniert.

ALTER SEQUENCE id_seq_player RENAME TO player_id_seq; /* Works */ 
+0

Besitzen Sie diese Sequenz? – Mihai

+0

tue ich. Ich benutze nur einen Benutzer und dieser Benutzer erstellt alle Tabellen mit den entsprechenden Sequenzen. Aber ich werde meine Protokolle überprüfen, wenn etwas Seltsames passiert. –

Antwort

9
ALTER SEQUENCE id_seq_player RENAME TO player_id_seq; 

ist richtig. Möglicherweise möchten Sie auch den Schemanamen hinzufügen, um sicherzustellen, dass Sie den richtigen Namen ändern. Dies sollte jedoch höchstwahrscheinlich funktionieren.

Wenn Timeouts auftreten, haben Sie möglicherweise einen anderen Prozess, der Ihre Sequenz sperrt. Gibt es eine Möglichkeit für Sie, alle anderen Datenbankbenutzer auszuschalten, oder ist es zu wichtig, dies zu tun?

0

kennen nicht den Zeilenbefehl, aber Sie können es auf der pgAdmin

wechsle ich nur hinzufügen 1 meiner Sequenz und ändern Sie es zurück.

enter image description here

+0

Ich möchte die SQL-Anweisung, weil ich mehrere Sequenzen habe, wo ich sie umbenennen möchte. Und ich möchte das nicht manuell für jeden von ihnen tun. Ich benutze nur pgAdmin, denn nur so kann ich mich mit der Datenbank verbinden, da ich Openshift verwende. Aber danke, das werde ich mir merken. –

+0

Und die SQL, die Sie weitergeleitet haben, wird im Grunde nicht umbenannt, sondern neu erstellt. Ich mag nicht die SQL, die es verwendet. Ich weiß, dass es eine Umbenennungs-SQL-Anweisung gibt, die ich verwenden könnte. –

+0

Nr. PgAdmin zeigen Sie die erstellen, aber ich zeige Ihnen die linke Seite, wo ich mit der rechten Maustaste auf Eigenschaften und ändern Sie den Namen. –

2

Try this:

ALTER TABLE id_seq_player RENAME TO player_id_seq; 
Verwandte Themen