Возникла задача перенести сайт на новый сервер.
Одной из ожидаемых проблем была несовместимость с PHP5, которую в итоге решили очень быстро, но сайт так и не запустился.
Оказалось, что простейшие запросы к базе данных не обрабатываются.
При ближайшем рассмотрении оказалось, что автоматического преобразования типов не происходит. В процессе переписки с г.
Самохвалов Оказалось, что в новой версии действительно нет правил автопреобразования типов в текст по умолчанию.
http://www.postgresql.org/docs/current/static/release-8-3.html Несимвольные типы данных больше не преобразуются автоматически в ТЕКСТ (Питер, Том).Я создал правила для всех необходимых в моем случае типов, но это, насколько я понимаю, не решение, а временная мера, которая скорее всего повлияет на производительность.Что произошло раньше: 0 превратился в «0» и произошло сравнение строк (текст > текст).
Автоматического приведения типов больше не существует. Это более правильный подход. Вам необходимо адаптировать свое приложение.
Если вы хотите, чтобы все работало как раньше, вы можете создать правило автоприведения вручную int4-> text, float4-> text и т. д. с помощью команды CREATE CAST. Но нужно понимать, что это будет всего лишь сравнение строк, как и раньше.
В результате на данный момент запросы постепенно переписываются, типы вынуждены указываться, чтобы соответствовать «нормам» версии 8.3. Николай (из переписки):
P.S. Такие вопросы должны обсуждаться публично, если только это не коммерческий вопрос.Спасибо, Николай! Теги: #postgresql #postgre #sql #база данных #postgresql
-
Друг ≠ Друг
19 Oct, 24 -
Потери В Несогласованной Строке
19 Oct, 24 -
Аномалия Франго, Сюжет
19 Oct, 24 -
Шоу Блыща И Стельмаха
19 Oct, 24 -
Литература 2.0
19 Oct, 24