powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблемы с типом money и новым симоволом рубля.
15 сообщений из 15, страница 1 из 1
Проблемы с типом money и новым симоволом рубля.
    #39065699
tortilka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
В БД есть таблицы с полями типа money. При переносе БД с Windows 8.1 на Windows server 2008 R2, посредством восстановления из backup вылетает ошибка "ERROR: invalid input syntax for type money...". на обоих машинах стоит PostgreSQL 9.2. настройки сервера одинаковые, значение lc_monetary = "Russian_Russia.1251" на обоих серверах. Единственное различие в региональных настройках ОС на Windows server 2008 обозначение денежной единицы "р.", а на Windows 8.1 "новый символ рубля"(р. с черточкой) я думаю, что дело все в этом. Но не знаю как это исправить? Подскажите пожалуйста способ, но не в обход, вроде переустановите систему, или поменяйте тип данных на int, или перед backup поменяйте значение lc_monetary на доллары или евро , а после восстановления обратно. Заранее спасибо.
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39065924
Фотография grufos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tortilka,

так, как многое вы уже отсекли :)
то у вас остается единственный путь - изменить региональные установки windows для русской локали на тот символ рубля, который стоит у вас в файле бэкапа (т.е. windows где бэкап создавался).
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39065966
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39066010
tortilka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grufostortilka,

так, как многое вы уже отсекли :)
то у вас остается единственный путь - изменить региональные установки windows для русской локали на тот символ рубля, который стоит у вас в файле бэкапа (т.е. windows где бэкап создавался).

Спасибо. мы пробовали изменить региональные настройки на символ рубля (для всех учетных записей). Это не решило проблемы восстановление из backup все равно выдает ошибки. Но в тех таблицах на Windows 8.1 где тип money вместо "?" появился "р.". Но наша основная задача поднять backup с Windows 8.1 на Win server 2008 (у заказчика)
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39066038
tadmin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tortilka,
Можно поменять везде тип с money на numeric, сделать dump-restore а потом обратно.
Но лучше всего отказаться от money, если приложение позволяет. Это очень неприятный тип данных, лучше с ним дело не иметь вовсе.
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39066456
tortilka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tadmintortilka,
Можно поменять везде тип с money на numeric, сделать dump-restore а потом обратно.
Но лучше всего отказаться от money, если приложение позволяет. Это очень неприятный тип данных, лучше с ним дело не иметь вовсе.
Спасибо. Тогда подскажите самый предпочтительный тип в PostgresSQL для валюты (строго рубли) - numeric? Просто кто что советует. Есть однозначный ответ именно для рублей?
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39066458
tortilka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
roadstertortilka,

https://support.microsoft.com/ru-ru/kb/2970228

Спасибо, наверно это бы решило проблему, но к сожалению клиент не позволяет устанавливать никакие патчи. Либо это должно пройти очень длинный и долгий пусть согласования, бюрократия как она есть .... А надо быстро решить проблему.
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39066855
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tortilkaк сожалению клиент не позволяет устанавливать никакие патчипечально.
но я бы попробовал сочинить письмо.
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39066857
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tortilkaЕсть однозначный ответ именно для рублей?а какая разница?
числовой тип с плавающей точкой, рассмотреть на вопрос округления до интересующего количества символов после запятой, возможность и необходимость хранения фиксированного количества таких символов, внимательно оценить логику работы приложения в плане отображения сумм и их подсчёта.
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39066934
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roadstertortilkaЕсть однозначный ответ именно для рублей?а какая разница?
числовой тип с плавающей точкой, рассмотреть на вопрос округления до интересующего количества символов после запятой, возможность и необходимость хранения фиксированного количества таких символов, внимательно оценить логику работы приложения в плане отображения сумм и их подсчёта.float OR double precision НЕ хранят фиксированного числа символов. [Ибо не хранят "символов" вообще]. они хранят приближение числа -- порядок и мантиссу.


поэтому для денег [чтобы не суммировать в агрегатах дребезг в мантиссах ] рекомендуют фиксированные типы -- в случае PG -- NUMERIC.
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39066943
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roadster,
долго вспоминал, где вас видел -- так вы же тот самый диагност с недоумком на фоточке в акке.
"печально я смотрю на ваше по колено"
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39067202
Фотография roadster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqfloat OR double precision НЕ хранят фиксированного числа символов. [Ибо не хранят "символов" вообще]. они хранят приближение числа -- порядок и мантиссу.нумерик постгресный тоже наверняка не хранит символов (это же не строковый тип), я имел в виду что требуется взять не целочисленный тип (кстати я видел, что некоторые хранят всё в бигинте в виде копеек или даже копейки с рублями отдельно), а так как в типах ПГ я не силён я и не стал писать конкретные рекомендации.

ЗЫ а если я в профиль фото голой задницы выложу, вам станет веселее?
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39067235
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tortilka,

Ваш дамп базы либо уже в SQL-формате, либо же его можно преобразовать к таковому посредством `pg_restore`.
Также можно выделить команды для восстановления только одной таблицы (ключ -L).

Откройте дамп и найдите место, где восстанавливается ваша таблица и данные (команда COPY + ряд строк с данными + завершающая последовательность `\.`). Поделитесь определением таблицы и командой COPY с несколькими проблемными записями.
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39067347
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tortilka перед backup поменяйте значение lc_monetary на доллары или евро , а после восстановления обратно.а почему нет?!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
F:\>set PGOPTIONS=-c lc_monetary=Russian_Russia.1251

F:\>psql -c "copy(select 123::money) to stdin;" postgresql://localhost/postgres postgres
123,00р.

F:\>set PGOPTIONS=-c lc_monetary=English_US.1251

F:\>psql -c "copy(select 123::money) to stdin;" postgresql://localhost/postgres postgres
$123.00
...
Рейтинг: 0 / 0
Проблемы с типом money и новым симоволом рубля.
    #39069119
tortilka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
p2., Спасибо я попробую.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблемы с типом money и новым симоволом рубля.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]