Comments 8
Скажите, а зачем переходить с бесплатного постгреса, в котором есть партишнинг, на оракл, который стоит денег и в котором нет партишнинга?
+5
О всех причинах судить не берусь, но свою роль возможно сыграло то, что все остальные продукты компании заточены в основном под оракл и есть целый отдел людей, знающих оракл на очень высоком уровне и способных помочь с ним в трудных ситуациях.
0
Эм… Если вы имеете в виду под «партишнингом» партиционирование, то в оракле еще в 8ой версии фича присутствовала, но правда отдельно лицензируется.
+1
Postgresql — это Postgresql или Postgres. Но никак не Postgre. See www.postgresql.org/about/press/faq/.
+2
Почему вы делаете
SELECT replace(dbms_metadata.get_ddl('TABLE', primary_table_name), primary_table_name, new_table_name)
INTO ddl_query
FROM dual;
вместо
ddl_query := replace(dbms_metadata.get_ddl('TABLE', primary_table_name), primary_table_name, new_table_name);
?
Первый вариант приведет к переключению контекста plsql/sql и обратно, что, вообще говоря, есть нехорошо, нужно избегать подобных вещей.
Также вместо
ddl_query := substr(ddl_query, 1, length(ddl_query) — 1);
можно проще сделать:
ddl_query := substr(ddl_query, -1);
SELECT replace(dbms_metadata.get_ddl('TABLE', primary_table_name), primary_table_name, new_table_name)
INTO ddl_query
FROM dual;
вместо
ddl_query := replace(dbms_metadata.get_ddl('TABLE', primary_table_name), primary_table_name, new_table_name);
?
Первый вариант приведет к переключению контекста plsql/sql и обратно, что, вообще говоря, есть нехорошо, нужно избегать подобных вещей.
Также вместо
ddl_query := substr(ddl_query, 1, length(ddl_query) — 1);
можно проще сделать:
ddl_query := substr(ddl_query, -1);
0
PS. Пожалуй, тут можно было бы обойтись и без переименовывания таблиц: достаточно иметь два представления — одно на чтение (как у вас и есть), второе — на запись (с триггерами instead of) и просто динамически пересоздавать их, натравливая каждый раз на все новые таблицы, пул которых можно было бы создавать заранее.
0
Sign up to leave a comment.
Как я писал свой «велосипед» для ротирования таблиц в Oracle и Postgre