@pgsql

Страница 697 из 1062
Andrey
03.03.2018
11:53:55
Всем привет! В работе с пострес у меня опыта 2 месяца. После некорректного выключения наблюдаю такое 2018-03-03 16:31:03.958 +05 [18591] СООБЩЕНИЕ: автоочистка: найдена устаревшая врем. таблица "(null)"."tt34" в базе "sc3_kamin55_psql" 2018-03-03 16:31:03.958 +05 [18591] СООБЩЕНИЕ: автоочистка: найдена устаревшая врем. таблица "(null)"."tt35" в базе "sc3_kamin55_psql" если бы имя таблицы было, я бы мог удалить эту таблицу, но его нет, может кто поможет? Кому удобнее отвечать в веб можно написать сюда: https://www.linux.org.ru/forum/admin/14059386

Yaroslav
03.03.2018
12:25:42
Название _таблицы_ у Вас есть —- это "tt34" и т.п. А вот схема почему-то (null)... А Вы пробовали: DROP SCHEMA "(null)" CASCADE; ?

Andrey
03.03.2018
12:40:25
Я имея бекаб грохнул всю базу и пересоздал ее, сообщение ушло

сейчас наблюдаю такое 2018-03-03 17:36:29.902 +05 [637] ПРЕДУПРЕЖДЕНИЕ: заархивировать файл журнала транзакций "0000000100000006000000B6" не удалось много раз подряд; следующая попытка будет сделана позже 2018-03-03 17:37:29.966 +05 [637] СООБЩЕНИЕ: команда архивации завершилась ошибкой с кодом 1 2018-03-03 17:37:29.966 +05 [637] ПОДРОБНОСТИ: Команда архивации с ошибкой: test ! -f /Backup/WAL/0000000100000006000000B6 && cp pg_xlog/0000000100000006000000B6 /Backup/WAL/0000000100000006000000B6 2018-03-03 17:37:30.971 +05 [637] СООБЩЕНИЕ: команда архивации завершилась ошибкой с кодом 1 2018-03-03 17:37:30.971 +05 [637] ПОДРОБНОСТИ: Команда архивации с ошибкой: test ! -f /Backup/WAL/0000000100000006000000B6 && cp pg_xlog/0000000100000006000000B6 /Backup/WAL/0000000100000006000000B6 2018-03-03 17:37:31.975 +05 [637] СООБЩЕНИЕ: команда архивации завершилась ошибкой с кодом 1 2018-03-03 17:37:31.975 +05 [637] ПОДРОБНОСТИ: Команда архивации с ошибкой: test ! -f /Backup/WAL/0000000100000006000000B6 && cp pg_xlog/0000000100000006000000B6 /Backup/WAL/0000000100000006000000B6 2018-03-03 17:37:31.975 +05 [637] ПРЕДУПРЕЖДЕНИЕ: заархивировать файл журнала транзакций "0000000100000006000000B6" не удалось много раз подряд; следующая попытка будет сделана позже

Google
Andrey
03.03.2018
12:41:27
то есть он один и тот же сегмент WAL мусолит по кругу и не может завершиться

Grigory
03.03.2018
12:56:22
судя по archive_command такой сегмент у тебя в архиве уже есть

Andrey
03.03.2018
12:59:13
ЭЭЭЭ )))) сейчас проверю

root@PostgreSQL:/home/maintainer# locate 0000000100000006000000B6 /databases/1CFresh/pg_xlog/0000000100000006000000B6 /databases/1CFresh/pg_xlog/archive_status/0000000100000006000000B6.ready

в пункте назначения его нет

Grigory
03.03.2018
13:27:13
проверь наличие файла: /Backup/WAL/0000000100000006000000B6

Andrey
03.03.2018
13:49:51
да, locate не работает для нелокальных систем, файл был, сейчас эта ошибка ушла

спс

Asai
04.03.2018
10:07:41
всем привет

здесь можно задавать вопросы касательно того, правильно ли сама таблица спроектирована?

Arthur
04.03.2018
10:08:59
Можно

Asai
04.03.2018
10:09:16
как это лучше сделать? прислать скриншот из workbenchа?

1Bot
04.03.2018
11:32:38
/spam

Google
targitaj
04.03.2018
15:54:56
пацаны, а CREATE UNIQUE INDEX это DDL?

Robert
04.03.2018
15:55:56
Да

Не DML точно

targitaj
04.03.2018
15:57:20
спасибо

Igor
04.03.2018
19:32:11
Господа. У меня есть такая задача: есть набор различных источников данных. На вход подаются различные датасеты (не однократно, а периодически), которые нужно записывать и в дальнейшем предоставлять возможность сделать по выборке из нескольких разных датасетов создать новый. Что подойдет лучше для хранения такой модели данных: материализованные вьюшки (тут важно упомянуть: данные НЕ обновляются, на каждое обновление извне создается новый датасет), или же обычная динамическая генерация таблиц? То есть с генерацией таблиц я так или иначе столкнусь, но вопрос в том, где лучше хранить производные датасеты

Robert
04.03.2018
19:35:33
Jsonb? Если они совсем уж произвольные

Igor
04.03.2018
19:36:28
ой не хочется мне в это лезть

и там » 1000 полей может быть в одном элементе, так что лучше кмк все-таки на реляционной модели c таблицами/вью остановиться Просто в чем ништячность – все данные "плоские" (e.g. CSV)

Robert
04.03.2018
19:37:34
Или топать в кликхауз )

А что за данные если не секрет?

Igor
04.03.2018
19:39:41
А что за данные если не секрет?
Конкретно сейчас (не скажу откуда, ибо низя) выборки по определенным социологическим источникам в куче дико плохо оформленных сырых данных за пять лет, которые нужно к МЛ готовить.

но там задачка шире ставится, то есть сейчас это для демонстрации прототипа таск скорее, и отладки процессов + стека технологий.

Asai
04.03.2018
20:02:03
а в чем разница между int и int()? работаю с mysql

Аггей
04.03.2018
20:08:32
https://t.me/mysql_ru

Robert
04.03.2018
20:15:51
Битовые маски тогда может?

А уже из них генерить таблицы

Pavel
04.03.2018
20:17:49
в mysql конфе 520 мемберов, это значит что постгрес в 3 раза популярнее.

Аггей
04.03.2018
20:23:20
Тут люди отзывчивее в чате

Kitsu
04.03.2018
20:24:40
в mysql конфе 520 мемберов, это значит что постгрес в 3 раза популярнее.
В математическом классе 20 мальчиков и 5 девочек. Это значит, что мальчики в 4 раза популярнее

Аггей
04.03.2018
20:33:24
В математическом классе 20 мальчиков и 5 девочек. Это значит, что мальчики в 4 раза популярнее
Ой как не толерантно. Но в целом да - это значит, что в математике соображает в 4 раза меньше девочек

Google
Айтуар
04.03.2018
20:35:26
В математическом классе 20 мальчиков и 5 девочек. Это значит, что мальчики в 4 раза популярнее
А можно и так сказать - что одной девочки в математике достаточно, а мальчиков нужно аж в 4 раза больше ))

1Bot
04.03.2018
21:37:53
Особенно когда возможно данные будут еще добавляться

Yuriy
05.03.2018
05:24:58
Подскажите с чего лучше начать изучение Книги видео

Amir
05.03.2018
05:26:50
Всем привет! В базе есть порядка 20-30 таблиц, и около 50 хранимых процедур, которые больше не используются (система переписывалась несколько раз разными разрабами). Вопрос: Как можно удалить эти таблицы и процедуры, не проводя анализ и удаление вручную?

Sergey
05.03.2018
05:34:45
Нужна волшебная кнопка «Сделать хорошо»

Anton [Mgn, az09@osm]
05.03.2018
05:36:04
лучше конечно начать от противного - задаться вопросом а что сейчас используется в продакшене и не пора ли нам завести документацию на это дело. всё остальное в корзину ?

Amir
05.03.2018
05:40:47
лучше конечно начать от противного - задаться вопросом а что сейчас используется в продакшене и не пора ли нам завести документацию на это дело. всё остальное в корзину ?
Подход конечно верный и правильный, но на вопрос все-таки не отвечает. Вручную эти проверки делать не хочется. Хотел узнать нету ли какого-нибудь автоматизированного способа?!

Denis
05.03.2018
05:43:59
Всем привет! Подскажите, а в каком процессе исполняются триггеры на таблицу? При этом усложню вопрос - есть логическая репликация, на таблице в базе подписчика есть триггер. Когда туда прилетают данные из декодированного вала от процесса подписки - какой процесс будет исполнять хранимку в триггере?

Anton [Mgn, az09@osm]
05.03.2018
05:44:46
Подход конечно верный и правильный, но на вопрос все-таки не отвечает. Вручную эти проверки делать не хочется. Хотел узнать нету ли какого-нибудь автоматизированного способа?!
рассказываю как бы я на коленке такое "автоматизировал": получить список объектов для удаления (если еще нет), вставить во ВТОРОЙ столбец в экселе, в первом столбце написать DROP PROCEDURE или DROP TABLE , в третьем поставить ";", можно еще добавить кавычки в первый и третий, преобразовать в текст, скопировать в пгадмин, ..., ПРОФИТ

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

Amir
05.03.2018
05:51:10
а еще возможно в том же пгадмине можно с зажатым контролом выделить несколько объектов сразу и нажать кнопку удаления (но это не точно, я бы такой возможности прострелить себе жо...ноги не оставлял)
Вопрос был не "КАК УДАЛИТЬ ОДНИМ КЛИКОМ НЕСКОЛЬКО ТАБЛИЦ" , а как понять какие таблицы и процедуры используются и какие нет, не тратя время на разбор каждой таблицы и рысканий в коде.

Denis
05.03.2018
05:52:24
Вопрос был не "КАК УДАЛИТЬ ОДНИМ КЛИКОМ НЕСКОЛЬКО ТАБЛИЦ" , а как понять какие таблицы и процедуры используются и какие нет, не тратя время на разбор каждой таблицы и рысканий в коде.
Можно ответить только на вопрос «какие используются». Включить в лог запись запросов с длительностью 0, подождать и грепнуть. А кто не вошёл - анализировать, можно убить или нет

Google
Anton [Mgn, az09@osm]
05.03.2018
05:55:44
понедельник и не выспался (радио осм слушал до 3))



условно 10 лет как появилось русское сообщество openstreetmap

Denis
05.03.2018
06:01:20
Спасибо за идею, проверю
Если стоит расширение pg_stat_statements, то можно сбросить его статистику и тоже подождать. Там накопятся запросы (даже грепать по логам не надо будет)

Хотя зачем сбрасывать)

Anton [Mgn, az09@osm]
05.03.2018
06:06:52
?

Айтуар
05.03.2018
06:21:56
нельзя автоматизировать бардак
Бардак как раз легко автоматизируется. А вот порядок из бардака сложнее.

Igor
05.03.2018
06:31:54
Особенно когда возможно данные будут еще добавляться
Добавляться не будут точно – требование к системе, а вот новые датасеты и датасеты-паразиты, появившиеся через обращения к старым точно будут.

Mike Chuguniy
05.03.2018
06:57:55
Можно ответить только на вопрос «какие используются». Включить в лог запись запросов с длительностью 0, подождать и грепнуть. А кто не вошёл - анализировать, можно убить или нет
А ещё бывают вещи, которые вызываются по через крон раз в пятилетку... Не вижу я иного пути, кроме как грепать исходный код (ВЕСЬ!, включая кроны или как их там в винде называют) приложения.

Denis
05.03.2018
07:00:56
А ещё бывают вещи, которые вызываются по через крон раз в пятилетку... Не вижу я иного пути, кроме как грепать исходный код (ВЕСЬ!, включая кроны или как их там в винде называют) приложения.
Ну так я и не спорю, что надо. Я подсказал как получить подмножество используемых запросов (как раз кроны раз в пятилетку туда не войдут), а дальше все верно - разгребать бардак самому и смотреть все запросы

Artem
05.03.2018
07:43:52
может быть стоит попробовать собрать статистику по таблицам?

Mike Chuguniy
05.03.2018
07:57:18
может быть стоит попробовать собрать статистику по таблицам?
За какой период надо собирать статистику, чтобы гарантированно узнать о всех используемых приложением таблицах?

Что-то мне подсказывает, что перелопатить исходный код будет существенно дешевле.

Artem
05.03.2018
07:58:10
зависит от архитектуры приложения. но может быть и с кодом проще

Google
Denis
05.03.2018
08:12:09
Если не ошибаюсь, триггер исполняется apply worker'ом. Тут еще немного про это есть https://www.postgresql.org/docs/10/static/logical-replication-architecture.html
Спасибо! А сколько экземпляров apply worker порождается постмастером? Это настраивается?

Arthur
05.03.2018
08:13:50
По-моему есть максимум, он регулируется гуком max_logical_replication_workers

Arthur
05.03.2018
08:16:15
а так, количество apply worker'ов не меньше количеству подписчиков

вроде )

Denis
05.03.2018
08:17:15
Я гляну в документации/исходниках. Но наводка шикарная

Alexey
05.03.2018
08:18:55
это не поможет. постгрес не умеет в параллельную репликацию ещё

Страница 697 из 1062