Аарон много сделал для того, чтобы принадлежащая всем информация стала доступна любому — он один из основателей Open Library:
«Aaron Swartz — Former Project Leader. The Open Library wouldn't exist without Aaron.» openlibrary.org/about/people
Самое главное — это поддержка типа данных mchar (независимый от регистра тип данных, при сравнениях полей этого типа РеГистр символов не важен). Это делает PG похожим на MS SQL, в котором такие типы по умолчанию.
Мне думается, в ряде случаев ошибок можно было бы избежать вместе с копированием, применив другой подход:
— если вызывается два раза подряд функция — сделать этот вызов в цикле
— если копируется кусок куда, слишком небольшой, чтобы его выносить в отдельную функцию — всё же выделить в функцию.
Также помогает соображение, что повторяющийся (скопированный) код вообще выглядит подозрительным.
Такие скрипты давно реализованы в рамках backupninja, там можно задать создание дампов и их инкрементный бэкап. Для последнего используется rdiff-backup.
«Aaron Swartz — Former Project Leader. The Open Library wouldn't exist without Aaron.»
openlibrary.org/about/people
blogerator.ru/page/ddos-v-100-gbits-reportazh-s-linii-fronta-ot-ocevidca
— если вызывается два раза подряд функция — сделать этот вызов в цикле
— если копируется кусок куда, слишком небольшой, чтобы его выносить в отдельную функцию — всё же выделить в функцию.
Также помогает соображение, что повторяющийся (скопированный) код вообще выглядит подозрительным.