@pgsql

Страница 299 из 1062
Igor
12.04.2017
08:08:14
COPY?

Denis
12.04.2017
08:08:56
https://www.postgresql.org/docs/9.6/static/populate.html

?Zloool?
12.04.2017
08:09:57
Ага, спасибо большое

Как все сложно If you are adding large amounts of data to an existing table, it might be a win to drop the indexes, load the table, and then recreate the indexes.

Google
Wom
12.04.2017
08:22:56
для скорости. автовакуум ещё выключить можно

?Zloool?
12.04.2017
08:29:32
COPY?
Если я правильно понимаю, то ему на вход нужно давать красивый файл в формате CSV/TSV, да?

Denis
12.04.2017
08:30:13
Именно, но это можно делать в конвейере

Igor
12.04.2017
08:33:23
Если я правильно понимаю, то ему на вход нужно давать красивый файл в формате CSV/TSV, да?
ага, перегенерить файлы питончиком/шеллом в CSV и понятный для COPY формат

Denis
12.04.2017
08:35:41
ты прост, алхимию не правильно готовишь

т.е средний RPS на вставку во временную таблицу без индексов и FK равен 13179

Denis
12.04.2017
08:38:38
действительно, удалите индексы и внешние ключи, урежьте wal, зафиксируйте план через prepare и посмотрите, что покажет обычный insert из алзимии. и только если не пойдет, парсите csv

?Zloool?
12.04.2017
08:38:59
ты прост, алхимию не правильно готовишь
Вопрос как раз был в том, как ее правильно использовать. Если RPS ~13к то наверное комиты можно раз в 1кк записей делать?

raksita
12.04.2017
09:15:00
надо в конце, после END поставить точку с запятой: END;

Lulz
12.04.2017
09:15:55
неа, не работает

Denis
12.04.2017
09:16:37
после insert точка с запятой стоит?

Google
raksita
12.04.2017
09:17:11
да, после окончания списка values тоже должно быть ;

Denis
12.04.2017
09:17:27
do $$ begin for i in 1..10 loop perform i; end loop; end $$;

а вообще, loop - это антипаттерн, не делайте так.

Lulz
12.04.2017
09:18:32
мне просто нужно создать 20 записей, для теста

чтобы не заполнять 100500 раз

raksita
12.04.2017
09:18:57
generate_series вам поможет

Lulz
12.04.2017
09:19:12
хм, посмотрю

Kirill
12.04.2017
09:19:13
Denis
12.04.2017
09:19:54
производительность по сравнению с обычным запросом на generate_series, например

Kirill
12.04.2017
09:21:49
Ясно понятно, спасибо )

Lulz
12.04.2017
09:26:01
да с gen_series проще, а помимо цифр и дат можно так же пройтись по символам?

типа от A до Z

raksita
12.04.2017
09:33:25
легко, например: SELECT chr (64 + i) FROM generate_series (1, 26) AS i

Lulz
12.04.2017
09:45:20
спасибо =)

Alex
12.04.2017
11:23:25
привет чяднт?) user@host ~/sql/et $ psql -U etUser -d etProd psql (9.6.1) Type "help" for help. user@host ~/sql/et $ pg_basebackup -D ./bbkup -U etUser -d etProd pg_basebackup: missing "=" after "etProd" in connection info string

в pg_hba стоит локальный trust

Denis
12.04.2017
11:25:57
Добавь -h localhost

Игорь
12.04.2017
11:26:43
И pg_basebackup не под простым юзером работает

Alex
12.04.2017
11:28:49
добавил хост и порт, попробоват от -d postgres, попробовал с sudo

Google
Alex
12.04.2017
11:30:20
bingo

спасибо

Mike Chuguniy
12.04.2017
11:30:36
Когда вы используете -d строка подключения должна выглядеть так, как нарисовано в документе по ссылке, в вашем случае -d "dbname=etProd"

Denis
12.04.2017
11:31:08
И вообще оно вам не нужно, там весь кластер бекапится

Alex
12.04.2017
11:31:08
да, я ман по диагонали читал, мол "-d" - а ну это как в psql наверное

база маленькая

сейчас она pg_dump бекапится

Mike Chuguniy
12.04.2017
11:31:33
И pg_basebackup не под простым юзером работает
юзер - пофиг, главное, чтобы этот user мог писать туда, куда собирается.

Denis
12.04.2017
11:32:06
А вообще, попробуйте barman

Игорь
12.04.2017
11:33:08
Alex
12.04.2017
11:35:56
А вообще, попробуйте barman
спасибо, думаю о бармане или pgprobackup

Mike Chuguniy
12.04.2017
11:36:08
Игорь тогда надо не просто говорить, а указывать, что у юзера, которым подключаешься, должно быть право replication, ну или суперпользователем.

Mike Chuguniy
12.04.2017
11:37:15
спасибо, думаю о бармане или pgprobackup
pg_probackup - это правильное пиво. :)

Denis
12.04.2017
11:37:48
pgprobackup классный, он может контрольные суммы читать и проверять, что таблицы реально живые. и может инкрементальный бекап на файловом уровне объектов бд...правда все эти вкусности, вроде только для сборки postgres pro. но у них есть standart, он бесплатный

Fedor
12.04.2017
11:37:58
pg_probackup - это правильное пиво. :)
Пользуюсь барманом , + скидываю в Амазон

Denis
12.04.2017
11:38:26
зато барман может из одного места бекапить кучу разных серверов, а пробекап - он на сервере базы

Alex
12.04.2017
11:38:58
pgprofessionals на pgConf сказали, что pg_probackup работает с ванильным постгресом за исключением ptrack

Fedor
12.04.2017
11:39:02
Причем у бармана есть дедупликация , архиывы меньше места занимают

Игорь
12.04.2017
11:40:33
А вот у pgbackrest есть все кроме pg_recievexlog и как мне тут указали не все checksum

Ascandar
12.04.2017
11:40:41
еще есть форк бармана

Google
Ascandar
12.04.2017
11:40:44
от яндекса

Fedor
12.04.2017
11:40:52
ссылкаесть ?

Ascandar
12.04.2017
11:40:55
его тестил не давно, вроде ниче

Ascandar
12.04.2017
11:41:12
https://github.com/secwall/barman

там фича - инкр бэкап и на логи и на сам бэкап

Mike Chuguniy
12.04.2017
11:41:42
Барман могЁтЪ диффы файлов делать, как это делает пробекап? Т.е. в случае инкрементального бекапа у пробекапа сохраняются только измененные страницы соответствующих файлов.

Admin
ERROR: S client not available

Ascandar
12.04.2017
11:44:25
Может брать только измененные страницы (ориентируется на LSN в page-header’е, PostgreSQL 9.3+)

https://pgday.ru/files/papers/80/pgday2016_backups.pdf

еще мне приглянулось вот это https://github.com/ossc-db/pg_rman

Incremental backup Backup only files or pages modified after the last verified backup with the same timeline.

Denis
12.04.2017
11:49:11
я слышал на pgconf от разработчиков, что они "вдохнавлялись" pg_rman, когда pg_probackup писали

Ascandar
12.04.2017
11:49:43
а разве не pg_arman?

он мне вообще не понравился

Denis
12.04.2017
11:50:24
а разве не pg_arman?
я подслушивал за обедом, мог и не так услышать)

Fedor
12.04.2017
11:50:56


Ascandar
12.04.2017
11:50:58
я нашел на гитхабе

Original fork of pg_probackup can be found at https://github.com/michaelpq/pg_arman.

Google
Ascandar
12.04.2017
11:51:29
точно арман

Philip
12.04.2017
12:18:47
Добрый день! Кто какие методы аутентификации использует в pgbouncer? в частности интересует какой максимально защищенный способ подключения и проверки пользователей можно сделать используя pgbouncer?

Игорь
12.04.2017
12:41:15
pgbouncer 1.7 SSL

Den
12.04.2017
16:54:25
Вечера доброго! Есть ассинхронная репликация в продакшне, но возникла проблема с необходимостью синхронизации лишь в одном, не очень часто выполняемом, запросе. Если я переведу репликацию в синхронный режим, но установлю глобально synchronous_commit = off, и буду лишь для нужных трансакций выставлять его в on, может ли что-то в системе поменяться? Будет ли потеря в производительности?

если сомнения, что перевод в подобный "псевдо-синхронный" (как я его понимаю) режим как-то повлияет на работу системы, придётся искать иные пути решения проблемы, типа ручной проверки синхронизации на standby

* сомнения оправданы

Philip
12.04.2017
18:47:51
Даже при самом ожидаемом(желаемом) поведении репликации есть шансы в момент синхронизации это запроса просесть очень сильно, поскольку асинхронная репликация может без труда накопить отставание в реплэе

Это даже закрыв глаза на большие выборки с реплики, которые могут вызвать еще большее отставание реплэя

Den
12.04.2017
18:59:30
Ага. То есть получается, что sync_commit=local (не off, конечно, был неправ) при включённой синхронной репликации может и будет себя вести как несинхронная, но синхронный коммит будет ожидать полной синхронизации, а не только своей личной? Не знаю, правильно ли понял, но звучит логично. Хорошо.. а те 100500 паралельно исполняемых трансакции, они-то тупить не будут?

И стоп, разве ro-выборки на standby могут задержать синхронизацию?

Den
12.04.2017
19:06:27
А, ну по диску-то... Это надо обдумать. Я-то по наивности думал, что у чтение из стэндбая на репликацию влият минимально, иначе как-то страшно становится.. Специально все выборки ж на standby выводил

Александр
12.04.2017
19:18:13
долгие выборки на standby могут привести к блокировке репликации

если одновременно будет автовакум передавать с мастера свои изменения

Den
12.04.2017
19:20:08
Спасибо, буду иметь в виду. А эти задержки отражаются в pg_last_xact_replay_timestamp()?

Александр
12.04.2017
19:22:12
да, задержка будет отражатся

Den
12.04.2017
19:23:30
Ладно, оно ж, тьфу-тьфу-тьфу, годами нормально работало в несинхронном режиме. Проблема-то небольшая - иногда происходит insert, и много раз чтение, уже из standby - и иногда чтение не выдаёт только что добавленную запись, что логично; вопрос, что с этой по сути мелкой бедой делать, при этом ничего не сломав. Читать с мастера ну совсем не хочется...

Fike
12.04.2017
22:45:19
Если вдруг ваш случай вырождается в единственное условие "клиент, добавивший запись, должен видеть ее во всех последующих запросах", то можно не отвечать клиенту успехом, пока записывающее приложение не прочитает запись с реплики или не словит таймаут.

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