|
|
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
Добрый день! В БД есть таблицы с полями типа 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 на доллары или евро , а после восстановления обратно. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 00:55 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
tortilka, так, как многое вы уже отсекли :) то у вас остается единственный путь - изменить региональные установки windows для русской локали на тот символ рубля, который стоит у вас в файле бэкапа (т.е. windows где бэкап создавался). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 11:25 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 12:00 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
grufostortilka, так, как многое вы уже отсекли :) то у вас остается единственный путь - изменить региональные установки windows для русской локали на тот символ рубля, который стоит у вас в файле бэкапа (т.е. windows где бэкап создавался). Спасибо. мы пробовали изменить региональные настройки на символ рубля (для всех учетных записей). Это не решило проблемы восстановление из backup все равно выдает ошибки. Но в тех таблицах на Windows 8.1 где тип money вместо "?" появился "р.". Но наша основная задача поднять backup с Windows 8.1 на Win server 2008 (у заказчика) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 12:24 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
tortilka, Можно поменять везде тип с money на numeric, сделать dump-restore а потом обратно. Но лучше всего отказаться от money, если приложение позволяет. Это очень неприятный тип данных, лучше с ним дело не иметь вовсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 12:46 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
tadmintortilka, Можно поменять везде тип с money на numeric, сделать dump-restore а потом обратно. Но лучше всего отказаться от money, если приложение позволяет. Это очень неприятный тип данных, лучше с ним дело не иметь вовсе. Спасибо. Тогда подскажите самый предпочтительный тип в PostgresSQL для валюты (строго рубли) - numeric? Просто кто что советует. Есть однозначный ответ именно для рублей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 19:23 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
roadstertortilka, https://support.microsoft.com/ru-ru/kb/2970228 Спасибо, наверно это бы решило проблему, но к сожалению клиент не позволяет устанавливать никакие патчи. Либо это должно пройти очень длинный и долгий пусть согласования, бюрократия как она есть .... А надо быстро решить проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2015, 19:27 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
tortilkaк сожалению клиент не позволяет устанавливать никакие патчипечально. но я бы попробовал сочинить письмо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2015, 11:24 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
tortilkaЕсть однозначный ответ именно для рублей?а какая разница? числовой тип с плавающей точкой, рассмотреть на вопрос округления до интересующего количества символов после запятой, возможность и необходимость хранения фиксированного количества таких символов, внимательно оценить логику работы приложения в плане отображения сумм и их подсчёта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2015, 11:26 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
roadstertortilkaЕсть однозначный ответ именно для рублей?а какая разница? числовой тип с плавающей точкой, рассмотреть на вопрос округления до интересующего количества символов после запятой, возможность и необходимость хранения фиксированного количества таких символов, внимательно оценить логику работы приложения в плане отображения сумм и их подсчёта.float OR double precision НЕ хранят фиксированного числа символов. [Ибо не хранят "символов" вообще]. они хранят приближение числа -- порядок и мантиссу. поэтому для денег [чтобы не суммировать в агрегатах дребезг в мантиссах ] рекомендуют фиксированные типы -- в случае PG -- NUMERIC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2015, 12:07 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
roadster, долго вспоминал, где вас видел -- так вы же тот самый диагност с недоумком на фоточке в акке. "печально я смотрю на ваше по колено" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2015, 12:13 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
qwwqfloat OR double precision НЕ хранят фиксированного числа символов. [Ибо не хранят "символов" вообще]. они хранят приближение числа -- порядок и мантиссу.нумерик постгресный тоже наверняка не хранит символов (это же не строковый тип), я имел в виду что требуется взять не целочисленный тип (кстати я видел, что некоторые хранят всё в бигинте в виде копеек или даже копейки с рублями отдельно), а так как в типах ПГ я не силён я и не стал писать конкретные рекомендации. ЗЫ а если я в профиль фото голой задницы выложу, вам станет веселее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2015, 15:06 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
tortilka, Ваш дамп базы либо уже в SQL-формате, либо же его можно преобразовать к таковому посредством `pg_restore`. Также можно выделить команды для восстановления только одной таблицы (ключ -L). Откройте дамп и найдите место, где восстанавливается ваша таблица и данные (команда COPY + ряд строк с данными + завершающая последовательность `\.`). Поделитесь определением таблицы и командой COPY с несколькими проблемными записями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2015, 15:35 |
|
||
|
Проблемы с типом money и новым симоволом рубля.
|
|||
|---|---|---|---|
|
#18+
tortilka перед backup поменяйте значение lc_monetary на доллары или евро , а после восстановления обратно.а почему нет?! Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2015, 17:57 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39067235&tid=1997730]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
69ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 408ms |

| 0 / 0 |
