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

Jak dodać nową kolumnę w tabeli po 2 lub 3 kolumnie w tabeli za pomocą postgresa?

Nie, nie ma na to bezpośredniego sposobu. I jest ku temu powód — każde zapytanie powinno zawierać listę wszystkich potrzebnych pól w dowolnej kolejności (i formacie itp.), przez co kolejność kolumn w jednej tabeli jest nieistotna.

Jeśli naprawdę musisz to zrobić, mogę wymyślić jedno obejście:

  • zrzuć i zapisz opis danej tabeli (za pomocą pg_dump --schema-only --table= ... )
  • dodaj żądaną kolumnę tam, gdzie chcesz w zapisanej definicji
  • zmień nazwę tabeli w zapisanej definicji, aby nie kolidować z nazwą starej tabeli podczas próby jej utworzenia
  • utwórz nową tabelę przy użyciu tej definicji
  • wypełnij nową tabelę danymi ze starej tabeli, używając polecenia „INSERT INTO SELECT pole1, pole2, , pole3,... FROM ';
  • zmień nazwę starej tabeli
  • zmień nazwę nowej tabeli na pierwotną
  • w końcu upuść starą tabelę ze zmienioną nazwą po upewnieniu się, że wszystko jest w porządku


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nowe i ewoluujące funkcje korporacyjne PostgreSQL w najnowszych wydaniach

  2. Jak dopasować cały dzień do pola daty i godziny?

  3. heroku, postgreSQL, django, komentarze, deliciouspie:Żaden operator nie pasuje do podanej nazwy i typu argumentu. Może być konieczne dodanie wyraźnych rzutów typu

  4. BŁĄD:miejsca relacji nie istnieją Heroku db import

  5. Różnica między indeksem GiST i GIN