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

Zrestartuj numery kluczy podstawowych istniejących wierszy po usunięciu większości dużej tabeli

Najpierw upuść klucz podstawowy i utwórz tymczasową sekwencję.

alter table mytable drop constraint mydata_pkey;
create temporary sequence temp_seq;

Użyj sekwencji do aktualizacji:

update mytable
set id = nextval('temp_seq');

Odtwórz klucz główny i upuść sekwencję

alter table mytable add primary key (id);
drop sequence temp_seq;

Jeśli istnieje zależność od klucza obcego od tej tabeli, musisz najpierw sobie z tym poradzić, a aktualizacja będzie bardziej złożoną procedurą.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd:Uwierzytelnianie peera nie powiodło się dla postgres użytkownika podczas próby uruchomienia pgsql działającego z szynami

  2. Utwórz kopię zapasową/przywróć zadokowaną bazę danych PostgreSQL

  3. Prawidłowy sposób korzystania z kopii Postgres jdbc

  4. Jak zmusić Postgres do korzystania z określonego indeksu?

  5. pg gem sslmode=verify-full, gdzie umieścić certyfikaty?