oruchkin / Async_API_sprint_3

AsyncAPI Спринт 3
1 stars 1 forks source link

Партицировать таблицу #68

Closed oruchkin closed 4 months ago

oruchkin commented 4 months ago

Партицировать таблицу с пользователями или с историей входов.

Пользователи могут быть из одной страны, но из разных регионов. А ещё пользователи могут использовать разные устройства для входа и иметь разные возрастные ограничения и т.п

oruchkin commented 4 months ago

Делаем партицирование модели кейклок user_entity

ее исходное значение созданное кейклоком:

Data Source: idp Database: postgres Schema: public Table: user_entity  
-- auto-generated definition

create table user_entity
(
    id                          varchar(36)           not null
        constraint constraint_fb
            primary key,
    email                       varchar(255),
    email_constraint            varchar(255),
    email_verified              boolean default false not null,
    enabled                     boolean default false not null,
    federation_link             varchar(255),
    first_name                  varchar(255),
    last_name                   varchar(255),
    realm_id                    varchar(255),
    username                    varchar(255),
    created_timestamp           bigint,
    service_account_client_link varchar(255),
    not_before                  integer default 0     not null,
    constraint uk_dykn684sl8up1crfei6eckhd7
        unique (realm_id, email_constraint),
    constraint uk_ru8tt6t700s9v50bu18ws5ha6
        unique (realm_id, username)
);

alter table user_entity
    owner to app;

create index idx_user_email
    on user_entity (email);

create index idx_user_service_account
    on user_entity (realm_id, service_account_client_link);