PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да добавя нова колона в таблица след 2-ра или 3-та колона в таблицата с помощта на postgres?

Не, няма директен начин да направите това. И има причина за това – всяка заявка трябва да изброява всички полета, от които се нуждае, в какъвто и ред (и формат и т.н.) да се нуждае от тях, като по този начин прави редът на колоните в една таблица незначителен.

Ако наистина трябва да направите това, мога да измисля едно решение:

  • изхвърлете и запазете описанието на въпросната таблица (използвайки pg_dump --schema-only --table= ... )
  • добавете желаната колона там, където искате, в запазената дефиниция
  • преименувайте таблицата в запазената дефиниция, така че да не се сблъсква с името на старата таблица, когато се опитате да я създадете
  • създайте новата таблица, използвайки тази дефиниция
  • попълнете новата таблица с данните от старата таблица, като използвате „INSERT INTO ИЗБЕРЕТЕ поле1, поле2, <по подразбиране за_ново_поле> , поле3,... ОТ <стара_таблица> ';
  • преименувайте старата таблица
  • преименувайте новата таблица на оригиналното име
  • в крайна сметка пуснете старата, преименувана таблица, след като се уверите, че всичко е наред


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проверите дали PostgreSQL масивът съдържа стойност

  2. Как да създадете PostgreSQL база данни

  3. Как да създадете резервно копие на една таблица в база данни на postgres?

  4. Конкатениране/сливане на стойности на масива по време на групиране/агрегиране

  5. Превключете ролята след свързване с базата данни