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

Прикачете дял LIST към съществуваща таблица в postgres 11

Цитат от ръководството

Така че не можете да промените съществуваща неразделена таблица на разделена таблица.

Трябва да създадете нова таблица (с различно име), която е разделена, да създадете всички необходими дялове и след това да копирате данните от старата таблица в новата, разделена таблица.

Нещо като:

create table clients_partitioned
(
  .... all columns ...
)
PARTITION BY LIST  (client_id);

След това създайте дяловете:

create table clients_1 
   partition of clients_partioned
   values in (1,2,3);

create table clients_1 
   partition of clients_partioned
   values in (4,5,6);

След това копирайте данните:

insert into clients_partitioned
select *
from clients;

След като това стане, можете да премахнете старата таблица и да преименувате новата таблица:

drop table clients;
alter table clients_partitioned rename to clients;

Не забравяйте да създадете отново външните си ключове и индекси.



  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 с Grails

  2. PostgreSQL GeoJSON <- php -> JavaScript

  3. Интегриране на PostgreSQL със системи за удостоверяване

  4. Надстройка до PostgreSQL 11 с логическа репликация

  5. PostgreSQL без инсталация, работещ в Windows, но сървърът не стартира в CentOS Linux