Сколько дочерних таблиц может участвовать в одной родительской таблице? - PullRequest
0 голосов
/ 04 октября 2019

Я использовал функцию наследования из Postgresql 9.6 для создания архива для огромного количества данных.

Наконец, родительская таблица выглядит следующим образом

foo=# \d+ foo_data_sshcommand 
                                                        Table "public.foo_data_sshcommand"
   Column   |           Type           |                             Modifiers                             | Storage  | Stats target | Description 
------------+--------------------------+-------------------------------------------------------------------+----------+--------------+-------------
 id         | integer                  | not null default nextval('foo_data_sshcommand_id_seq'::regclass) | plain    |              | 
 time       | timestamp with time zone | not null                                                          | plain    |              | 
 command    | text                     | not null                                                          | extended |              | 
 success    | boolean                  | not null                                                          | plain    |              | 
 session_id | integer                  | not null                                                          | plain    |              | 
Indexes:
    "foo_data_sshcommand_pkey" PRIMARY KEY, btree (id)
    "foo_data_sshcommand_session_id_c8b38d68" btree (session_id)
Check constraints:
    "partition_check" CHECK ("time" >= '2019-10-01 00:00:00+02'::timestamp with time zone) NO INHERIT
Foreign-key constraints:
    "foo_data_sshcommand_session_id_c8b38d68_fk" FOREIGN KEY (session_id) REFERENCES foo_data_sshsession(id) DEFERRABLE INITIALLY DEFERRED
Child tables: arc_2019_01_foo_data_sshcommand,
              arc_2019_02_foo_data_sshcommand,
              arc_2019_03_foo_data_sshcommand,
              arc_2019_04_foo_data_sshcommand,
              arc_2019_05_foo_data_sshcommand,
              arc_2019_06_foo_data_sshcommand,
              arc_2019_07_foo_data_sshcommand,
              arc_2019_08_foo_data_sshcommand,
              arc_2019_09_foo_data_sshcommand,
              arc_2019_foo_data_sshcommand

Каждый месяц создается еще две таблицы, идобавляет их в архив. Это не очень хороший процесс, потому что он должен переместить переполненные данные из родительской таблицы в новую дочернюю таблицу. Но это не та проблема, о которой я хочу поговорить. Меня интересует вопрос - сколько таблиц может участвовать в наследовании одной родительской таблицы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...