@pgsql

Страница 104 из 1062
blkmrkt
01.10.2016
16:05:06
Vadim
01.10.2016
16:05:14
просто есть стериотип, что типо оо тяжелый запрос, много джойнов значит понятно что тормозит, слишком много джойнов, я считаю лишь заблуждением

Аггей
01.10.2016
16:05:33
Например, никогда не понимал выделение пола в отдельный справочник

Google
Fike
01.10.2016
16:05:33
только прожечь эти данные в плоскую таблицу бывает сильно дольше, чем сделать join ;)
да просто писать надо сразу и нормализованную версию, и денормализованную. push-on-change вместо pull-on-demand.

Айтуар
01.10.2016
16:05:53
Ну да в итоге зависит от ситуации

Fike
01.10.2016
16:06:21
это все еще О(1)

поэтому да

да и вообще, беспокойство бывает за проект, а бывает за занимаемое место

Darafei
01.10.2016
16:07:57
да и вообще, беспокойство бывает за проект, а бывает за занимаемое место
а предложения бывают безапелляционными, а бывают с оглядкой на реальность :)

Аггей
01.10.2016
16:08:04
Я за нормализацию. Она не только место экономит, но и обеспечивает "целостность" данных. Но во всем надо знать меру

Darafei
01.10.2016
16:08:50
в гисах вообще нормальная тема - пост-фактум приджойнить к дорогам город, например

планы копеечные, gist работает тьфу-тьфу хорошо

а определение того, что такое "город", меняется от задачи до задачи временами кардинально :)

Pavel
01.10.2016
16:10:30
Например, никогда не понимал выделение пола в отдельный справочник
Пару лет назад была новость что фейсбук у себя сделал в графе пол 40 возможных значений ;)

Google
Аггей
01.10.2016
16:11:43
Пару лет назад была новость что фейсбук у себя сделал в графе пол 40 возможных значений ;)
Ну у них в европах а Америках вообще сильны в вопросах пола

Pavel
01.10.2016
16:14:49
Правда все равно можно для пола использовать enum или int

Pavel
01.10.2016
16:16:04
Ну это many2many связь с int получается

То есть можно даже в массиве в одной ячейке хранить

Darafei
01.10.2016
16:16:48
а потом ещё в UI надо переводы на каждое подставлять... :)

Fike
01.10.2016
16:23:25
да не хранит фейсбук переводы в базе. и поиск тоже ведет не по базе.

Pavel
01.10.2016
16:48:08
Мы рассматриваем сферический кейс в вакууме. Полов может быть больше 2 и небольшая нормализованная база гигов на 100

Alexandr
02.10.2016
00:51:15
приветы

стоит задача перенести за ночь базы с пг9.5 под виндой на пгпро9.5 под линуксом, есть варианты кроме дамп/рестор?

сразу спасибы за ответы

Mike Chuguniy
02.10.2016
03:31:05
@Siniy я бы попробовал pg _basebackup, если железная архитектура и разрядность обеих систем идентичные.

Sergey
02.10.2016
16:38:18
а если кластер поднять и залить с одного сервера на другой? или не катит? ну или с помощью copy

хотя если базы небольшие, то почему бы просто папки rsync'ом не перетянуть?

Slava
02.10.2016
16:51:58
базы много весят?

Darafei
03.10.2016
09:28:22
как по-человечески на SQL написать "ts было вчера"? а то вижу в коде c.ts between 'yesterday'::timestamp and date_trunc('day', now()) и мне от него грустно

Сергей
03.10.2016
09:29:32
DAYTRUNC('DAY',c.ts) = DAYTRUNC('DAY',NOW()) - 1 не канает?

DATE_TRUNC

пардонте

Google
Darafei
03.10.2016
09:29:54
индексы не заюзает

ну и метафора "вчера" не читается

Сергей
03.10.2016
09:30:15
факт, но индекс нужен прямо по полю?

а по индексу иначе как? значит поле должно быть немодифицировано - т.е. BETWEEN

Anatoliy
03.10.2016
09:38:12
c.ts between 'yesterday'::timestamp AND CURRENT_DATE

'today'::timestamp

Сергей
03.10.2016
09:41:11
То, что between включающий ничего?

Anatoliy
03.10.2016
09:41:35
- '1 second'::interval :)

Сергей
03.10.2016
09:41:40
))))

Dmitrii
03.10.2016
09:42:13
Вот так "странные баги" и появляются

Alex
03.10.2016
09:42:30
норкоманы

Anatoliy
03.10.2016
09:42:30
Ну и можно написать c.ts >= AND c.ts <

Сергей
03.10.2016
09:43:07
Я за индекс по date_trunc

Darafei
03.10.2016
09:45:58
Я за индекс по date_trunc
и отдельный по ts, чтобы сортировки в обратном порядке делать? :)

Сергей
03.10.2016
09:47:36
Не, два индекса по одному полю - что-то не то...

Darafei
03.10.2016
09:50:45
То, что between включающий ничего?
там статистика и перепроверка продакшена - переживём

Anton
03.10.2016
12:25:14
Коллеги, доброго дня ! подскажите пожалуйста как посмотреть какие привелегии выдаются по умолчанию ? где можно увидеть что “ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT select ON TABLES TO ххх” отработало ? ;

Stanislav
03.10.2016
13:24:55
Мне тут наш прогер говорит, что надо баг репортить в такой ситуации: http://pix.my/71C5rO6d

PK игнорируется базенкой

pg 9.4.9

Google
Darafei
03.10.2016
13:26:00
Stanislav analyze делал? сколько записей в таблице?

пока там <10, нет смысла смотреть в индексы

Stanislav
03.10.2016
13:27:44
Спасибо

Как раз 10

Darafei
03.10.2016
13:29:13
Stanislav планы надо смотреть на похожих на продакшен объёмах данных

Stanislav
03.10.2016
13:29:47
Да, тут 1000+ таблиц и некоторые по 100ГБ

повезло найти маленькую

Скажите, а ALTER TABLE на добавление колонки в партиционированную таблицу залочит сразу все партиции или по очереди будет лочить?

Nikita
03.10.2016
13:39:52
расстрою, но колонки не залочит и в партиции эти колонки оно не добавит..

Admin
ERROR: S client not available

Айтуар
03.10.2016
13:40:20
нужно каждую партицию альтернуть руками

Stanislav
03.10.2016
13:41:32
o_O

Maxim
03.10.2016
13:42:01
ну не обязательно прям руками

можно циклом обойти

Alexey
03.10.2016
13:42:10
o_O
а что не так? логично же.

Anton
03.10.2016
13:43:34
user friendly просто

Ildar
03.10.2016
13:54:39
расстрою, но колонки не залочит и в партиции эти колонки оно не добавит..
добавит же. Например: create table xxx(a int); create table xxx_1(b int) inherits (xxx); alter table xxx add column c int; \d xxx_1 Table "public.xxx_1" Column | Type | Modifiers —------+---------+---------— a | integer | b | integer | c | integer | Inherits: xxx

из документации: ALTER TABLE will propagate any changes in column data definitions and check constraints down the inheritance hierarchy.

Google
Айтуар
03.10.2016
14:04:17
Можно ли уже существующую таблицу переместить в новый tablespace ? Или нужно её нужно сначало создать в новом tablespace и уже заливать дамп?

dmitriy
03.10.2016
14:06:40
ALTER TABLE ... SET TABLESPACE ...

Ildar
03.10.2016
14:06:42
alter table ... set tablespace

Айтуар
03.10.2016
14:08:20
ещё вопрос, на команду copy действуют триггеры как для insert ?

Айтуар
03.10.2016
14:12:55
Отрабатывает именно триггер на insert? Т.е. срабатывает после рестора БД например и распихивает мои данные по партициям?

Dmitry
03.10.2016
14:16:03
Айтуар
03.10.2016
14:18:11
create trigger partitioning__{table_name}__before_insert before insert on {table_name} for each row execute procedure partitioning.before_insert('{pk_column_name}', '{column_name}'); create trigger partitioning__{table_name}__after_insert after insert on {table_name} for each row execute procedure partitioning.after_insert('{pk_column_name}'); create trigger partitioning__{table_name}__update before update on {table_name} for each row execute procedure partitioning.before_update('{pk_column_name}', '{column_name}');

у меня вот такие

Nikita
03.10.2016
14:24:05
подскажите по сейвпоинтам плиз.. пилю одну штуку, которая генерирует много кусков вида SAVEPOINT sp_N; CREATE TEMP TABLE tbl_N (...); DROP TABLE tbl_N; RELEASE SAVEPOINT sp_N; через какое-то время всё это падает с ошибкой "out of shared memory" и хинтом "You might need to increase max_locks_per_transaction". я могу это сделать, но хотелось бы понять почему ресурсы не освобождаются.

Anastasia
03.10.2016
14:33:27
При работе с временными таблицами, Locks на таблицы хранятся в памяти бэкенда. При удалении, они для чего-то переносятся в shared memory. (возможно для избежания дедлоков, сейчас посмотрю точнее). И если таких вот temp tables было слишком много, память заканчивается.

Владислав
03.10.2016
14:48:30
Пацаны. Есть программеры под postgre?

Нужно написать софт. Пофиг на чём в принципе.

Хоть веб версия, хоть на дельфе.

Anton
03.10.2016
14:52:30
Владислав, у вас будет больше шансов на отклик если вы чуть более развернуто опишите что требуется

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

Alexey
03.10.2016
14:57:44
А пока на вопрос так и подмывает ответить «Да!» и не соврать. Достоверно известно, что в природе такие существуют.

Darafei
03.10.2016
15:02:19
Нужно написать софт. Пофиг на чём в принципе.
нужно показать деньги. пофиг валюта, в принципе.

Владислав
03.10.2016
15:02:55
Вообщем нужен учет времени прихода на работу, ухода на обед, ухода с работы и чеклиста.

Постараюсь нарисовать тз сегодня.

Vladimir
03.10.2016
15:03:11
Toggl?

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