powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Работа с TimeStamp
6 сообщений из 6, страница 1 из 1
Работа с TimeStamp
    #33555190
puzzle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,
в таблице есть 4 поля:
date, time, DateTime : varchar
tts: timestamp;
Необходимо заполнить поле TTS сформировав его из других.
Код: plaintext
1.
2.
3.
Ex: 
UPDATE "ms_tod_hist" SET "tts" = ("tdatetime")::timestamp
Err:
ERROR:  date/time field value out of range: "13.05.2004 10:30:04"

Код: plaintext
1.
2.
3.
4.
5.
Формат времени в клиенте и в WIN: yyyy-MM-dd hh:mm:ss
Ex:
 UPDATE "ms_tod_hist" SET "tts" =(to_date(tdate,'yyyy-MM-dd')::varchar
 ||' '|| rtrim(ttime,' ')  )::timestamp where tdate = '13.05.2004' and ttime='10:30:04'
Res:
Date= 13 . 05 . 2004  Time= 10 : 30 : 04   TTS=  0013 - 05 - 21   13 : 29 : 56  !

Уже везде перелазил настройки времени на машине, настройки времени в клиенте PostgreSQL Managrer Lite.
Что можно сделать чтобы номально формировался TTS?
Заранее благодарен.
...
Рейтинг: 0 / 0
Работа с TimeStamp
    #33555444
Funny_Falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Брр... А разве тебе формат даты не dd-MM-yyyy нужен?
В первом случае у тебя месяц = 13 - сразу за декабрём ;-)
Во втором - как ты сказал, так постгрес и распарсил и его нечего винить. Правда со временем лажа :-)

А еще: разве set tts = tdate+ttime не работает?
...
Рейтинг: 0 / 0
Работа с TimeStamp
    #33556578
puzzle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Почему в первом варианте идет месяц на первом месте, хотя по умолчанию мне кажется формат даты, как Вы написали и там идет день на первом месте.
2. to_date(text, 'форматы даты в которую преобразуем или какую хотим получить') ???
...
Рейтинг: 0 / 0
Работа с TimeStamp
    #33557202
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по башке надо бить за то что в варчаре дату хранят!

http://www.postgresql.org/docs/8.0/interactive/functions-formatting.html#FUNCTIONS-FORMATTING-TABLE пройдя по этой ссылке надеюсь вы получите правильный ответ.

очень советую посмотреть страницу до конца может какие полезные данные там наковыряете
...
Рейтинг: 0 / 0
Работа с TimeStamp
    #33560414
puzzle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полностью согласен Vfabr,
спасибо разобрался!
Но вот попадалово, запустил этот апдейт и он мне всё свободное место на диске(13Гб) сожрал, часть базы сформиировал (27.000.000 вся база) и повис написав что места ему не хватает. Вакуум запустил всю ночь проработал, потом вакуум тоже подвис. Как мне место вернуть и базу доформатировавать?
Заранее благодарен!
...
Рейтинг: 0 / 0
Работа с TimeStamp
    #33560501
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
puzzleПолностью согласен Vfabr,
спасибо разобрался!
Но вот попадалово, запустил этот апдейт и он мне всё свободное место на диске(13Гб) сожрал, часть базы сформиировал (27.000.000 вся база) и повис написав что места ему не хватает. Вакуум запустил всю ночь проработал, потом вакуум тоже подвис. Как мне место вернуть и базу доформатировавать?
Заранее благодарен!

Место у тебя rollback-сегмент сожрал. Вообще большие апдейты запускать - это как-то не очень правильно.

Ладно, все нижеприведенное ты будешь делать на свой страх и риск:
1. Останови СУБД.
2. Сохрани куда-нибудь все файлы БД (на всякий случай).
3. Запусти ее заново: он должен откатить все незавершенные транзакции.
4. Подели все записи на несколько диапазонов по первичному ключу. Примерно по 500000 в каждом диапазоне.
5. Грохни индексы на обновляемом поле.
6. Апдейть диапазоны по очереди (update ... set ... where id between ... and ...)
7. Пересоздай индексы.

Если пункт 3 не сработает - тогда не знаю, по моему осается только базу из бэкапов поднимать, которые ты, надеюсь, делал регулярно.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Работа с TimeStamp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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