@pgsql

Страница 953 из 1062
Yukari
24.08.2018
16:30:22
Можете не успеть, если высока транзакционная нагруженность

Google
Yukari
24.08.2018
16:30:49
Какое время коммита операции записи на вашей среде?

Какая скорость ответа диска?

Сгенерируйте в сессии операции инсерта, посмотрите, на что уходит больше всего времени

Для быстрой записи мелких объемов лучше использовать ин-мемори решения. Из них в свою очередь, вычитывать в субд

Транзакциями по-крупнее

another
24.08.2018
17:12:15
Для быстрой записи мелких объемов лучше использовать ин-мемори решения. Из них в свою очередь, вычитывать в субд
здравое решение, но добавляет еще один уровень сложности, нужно будет сделать инмемори персистентным и следить за ним.

но тут как говорится нет волшебного метода.

Yukari
24.08.2018
17:57:52
здравое решение, но добавляет еще один уровень сложности, нужно будет сделать инмемори персистентным и следить за ним.
Собираем кучу данных в редис/монгу или еще какой зоопарк, делаем автокоммит раз в 5 минут, коммит делаем в каталог хдфс, восстанавливаем где нужно, и заливаем себе. Это медленно, но все успеется и масштабируется на ура.

Если нужно все и сразу...а что если ms SQL или oracle?

А то есть еще и сетевые задержки

Если это какие то крайне важные в своей последовательности данные, можно на счет очередей Kafka поразмыслить. Из него удобно забирать данные м порядком их прихода в очередь, и опять же, кафки можно наплодить и сделать отказоустлйчивыми

Yukari
24.08.2018
18:07:41
Вот да. Все зависит от задачи.

Google
another
24.08.2018
18:14:14
Если это какие то крайне важные в своей последовательности данные, можно на счет очередей Kafka поразмыслить. Из него удобно забирать данные м порядком их прихода в очередь, и опять же, кафки можно наплодить и сделать отказоустлйчивыми
Очереди мне тоже первыми пришли в голову когда думал о том что делать если не буду успевать писать в базу, можно кидать данные в очередь, а там какая-нибудь лямбда закидывала бы их в базу. Но кажись на всю эту красоту нет времени.

Alexandr
24.08.2018
18:21:48
Почему 60 байт в 200 таблиц, а не 200 байт в 60? Что за задача такая?

MikaelBox
24.08.2018
18:38:34
Ребята срочняк! Надо нечто чем можно перенести, конвертировать из mssql в postgresql
Как показывает практика перенос в лоб базы с mssql на postgres не совсем целесообразен. Лучше провести переделку базы с учётом других типов данных и особенностей постгреса. Но если уж очень надо сделать как было, то нет ничего проще: сделать выгрузку ddl базы с mssql и заменой в файле поменять типы данных на постгрессовские. Данные выжрать с помощью bcp, а грузить командой copy. Файлы после bcp желательное ещё мальца обработать, чтобы залетели данные в pg

Anton [Mgn, az09@osm]
24.08.2018
18:39:08
подскажите плиз как быстро "охладить" базу? т.е. вытолкнуть из кеша то что там сидит. база тестовая так что могу даже перезагрузить если это поможет )

R
24.08.2018
19:55:55
Подскажите с запросом. Версия 9.4 Пытаюсь в поле pass_JSON типа jsonb(ключ serialNumber) записать значение из поля типа стринг serial_number. При таком запросе запишется, конечно же просто строка update passes set "pass_JSON" = jsonb_update("pass_JSON", '{"serialNumber": "serial_number"}') where id = 185 функция jsonb_update jsonb_update (jsonb, jsonb) SELECT json_object_agg(key, value)::jsonb FROM ( WITH old_data AS ( SELECT * FROM jsonb_each(data) ), to_update AS ( SELECT * FROM jsonb_each(update_data) WHERE key IN (SELECT key FROM old_data) ) SELECT * FROM old_data WHERE key NOT IN (SELECT key FROM to_update) UNION ALL SELECT * FROM to_update ) t; Как мне во второй параметр передать '{"serialNumber": pass.serial_number}'? При таком запросе выдает ошибку

another
24.08.2018
22:16:24
как динамически создават таблицы с помощью psycopg2 и executemany? он их оборачивает в кавычки

можно как-то обойти? потому что правда нужно

понимаю что он там заботится чтобы левых данных не накидали но всё же

Terminator
25.08.2018
04:02:13
@bontack будет жить. Поприветствуем!

Alexander
25.08.2018
07:42:52
Гугл плачет. Ссылочкой не подсобишь?
https://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL#Microsoft_SQL_Server и вот ещё - https://github.com/isapir/Migrate2Postgres

Terminator
25.08.2018
10:06:24
@halt7 будет жить. Поприветствуем!

Alex
25.08.2018
10:17:05
Парни, привет. Задача следующая.. Есть таблица tariffs с 3-мя столбцами - prefix, name, price в столбце prefix прописан префикс направления, например 7926 и т.д. Как получить значение price используя полный номер (destination_number) т.е. начало такое SELECT price FROM tariffs WHERE 79268502525........ Поскажите, пжлст, как вытянуть значение price?

Alex
25.08.2018
10:40:42
префикс может быть с разным кол-вом знаков

Anton [Mgn, az09@osm]
25.08.2018
10:41:09
но он хотя бы текстовый?

Alex
25.08.2018
10:44:22
character varying

Anton
25.08.2018
10:48:50
where destination_name like prefix||’%’

Но не совсем все же понятно описание

elfiki
25.08.2018
10:51:45
видимо надо найти такую запись, где префикс будет максимально длинным для номера

Google
Alex
25.08.2018
10:57:39
да, естественно. например 7926 и 79260 это разные префиксы, нужен тот, который длиннее

another
25.08.2018
11:01:33
Привет, если я дропаю много таблиц, то они показываются предварительно , как подтвердить удаление?

через psql

Alex
25.08.2018
11:11:53
всё, разобрался WHERE '89268502525' LIKE CONCAT(prefix,'%') ORDER BY CHAR_LENGTH(prefix) DESC LIMIT 1 OFFSET 0

Yukari
25.08.2018
11:21:01
Конкатенацию использовать?

Select prefix, || name, price

Запятую мог не там поставить

Иде под рукой нет

select prefix || name, price

Вот

Alex
25.08.2018
11:31:02
Спасибо. И так попробую

Anton
25.08.2018
11:53:40
Подскажите, а расширение trgm (кажется от pgpro) поддерживается еще? Где-нибудь можно посмотреть некий каталог расширений для pg?

Yaroslav
25.08.2018
12:00:39
> Подскажите, а расширение trgm (кажется от pgpro) поддерживается еще? Если это действительно от них, это Вам нужно на их сайте смотреть, наверное... А что это за расширение, кстати? > Где-нибудь можно посмотреть некий каталог расширений для pg? Например, https://pgxn.org

another
25.08.2018
12:11:48
Yaroslav
25.08.2018
12:12:31
удаляю 2490 таблиц
Вы не ответили на мои вопросы.

another
25.08.2018
12:13:58
Вы не ответили на мои вопросы.
извиняюсь я уже нашел проблему

Google
Anton
25.08.2018
12:24:10
Мы проектируем сейчас систему проверки на заимствования в текстах. Вот я и размышляю какие технологии лучше всего использовать для этого. Давно работали с trgm. Вот вспомнил про это. Размышляю.

Yaroslav
25.08.2018
12:30:50
Это триграммы. Сравнение двух строк, расстояние между строк и тд.
Так это теперь входит в поставку. https://www.postgresql.org/docs/current/static/pgtrgm.html

Darafei
25.08.2018
12:31:23
С 8.3

Darafei
25.08.2018
12:32:36
С февраля 2008

Anton
25.08.2018
12:36:57
С февраля 2008
Последнее время приходится работать с плохо документированными проектами. По привычке забываю, что у postgres отличная документация.

Спасибо, что на такие банальные вопросы не лень отвечать. Буду исправляться. :)

Anton
25.08.2018
12:45:07
Это вообще не на уровне бд надо делать
Однозначного ответа нет. Я склоняюсь все же к триграммам и бд

Точнее уровня бд пока за глаза будет. А потом уже над результатами более тонкие вещи применять

Включая даже нейросети. Но пока хочу грубо решить задачу

Konstantin
25.08.2018
17:21:44
Всем привет. Подскажите, что делать. Я в postgresql новичок. Суть проблемы - после правки конфига (перед правкой я сделал резервные копии этих файлов - postgresql.conf, pg_hba.conf) у меня перестало работать подключение к базе. Я вернул прежние версии конфигов, перезапустил сервер и все равно безрезультатно. Перезагрузил ubuntu, теперь вообще даже порт 5432 закрыт.

В postgresql.conf задано listen_addresses = '*' и port = 5432

Taras ?
25.08.2018
17:36:47
в pg_hba строчка начинается с host что там пишет?

там кажись тоже можно только локалхост слушать, нет?

и можно не перезагружать а просто sudo service postgresql restart

Konstantin
25.08.2018
17:46:26
конфиг был полностью рабочий, к базе подключался удаленно, но стоило мне его изменить и восстановить - все упало

Mike Chuguniy
25.08.2018
18:36:32
Konstantin я всё понимаю, админы баз данных вообще, и постгресовые в частности, владеют телепатией в той или иной мере, но вот стОит включение этого навыка явно не для кармана новичка. А посему, будьте любезны привести рабочие конфиги и изначальные. Желательно избавив вывод от описательных комментариев. Если вам действительно нужна помощь.

Google
Konstantin
25.08.2018
18:43:43
postgresql.conf - https://pastebin.com/XExbWr9U pg_hba.conf - https://pastebin.com/bVEd2KVi

это конфиги, который я вернул, то есть изначальные

Mike Chuguniy
25.08.2018
18:46:39
порт не слушается. А вообще процессы постгресовые есть? что systemctl status postgresql<чего-нибудь там> выдаёт?

Konstantin
25.08.2018
18:47:55
ticket@ticketserver:~$ systemctl status postgresql ● postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor prese Active: active (exited) since Вс 2018-08-26 01:31:09 +07; 16min ago Process: 8065 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 8065 (code=exited, status=0/SUCCESS) CGroup: /system.slice/postgresql.service авг 26 01:31:09 ticketserver systemd[1]: Starting PostgreSQL RDBMS... авг 26 01:31:09 ticketserver systemd[1]: Started PostgreSQL RDBMS.

процессов нет

Mike Chuguniy
25.08.2018
18:55:20
> active (exited) у меня вот такая простынка: user@desktop ~ $ systemctl status postgresql-10.service ● postgresql-10.service - PostgreSQL database server Loaded: loaded (/lib/systemd/system/postgresql-10.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/postgresql-10.service.d └─override.conf Active: active (running) since Tue 2018-07-17 04:54:31 MSK; 1 months 9 days ago Main PID: 3327 (postgres) Memory: 16.7M CGroup: /system.slice/postgresql-10.service ├─3327 /usr/lib64/postgresql-10/bin/postgres -p 5432 -D /var/lib/postgresql/10/data ├─3402 postgres: logger process ├─3836 postgres: checkpointer process ├─3837 postgres: writer process ├─3838 postgres: wal writer process ├─3839 postgres: autovacuum launcher process ├─3840 postgres: stats collector process └─3841 postgres: bgworker: logical replication launcher июл 17 04:35:26 desktop systemd[1]: Starting PostgreSQL database server... июл 17 04:35:27 desktop postgres[3327]: 2018-07-17 04:35:27.079 MSK [3327] СООБЩ ЕНИЕ: для приёма подключений по адресу IPv6 "::1" открыт порт 5432 июл 17 04:35:27 desktop postgres[3327]: 2018-07-17 04:35:27.080 MSK [3327] СООБЩ ЕНИЕ: для приёма подключений по адресу IPv4 "127.0.0.1" открыт порт 5432 июл 17 04:35:27 desktop postgres[3327]: 2018-07-17 04:35:27.101 MSK [3327] СООБЩ ЕНИЕ: для приёма подключений открыт сокет Unix "/run/postgresql/.s.PGSQL.5432" июл 17 04:35:27 desktop postgres[3327]: 2018-07-17 04:35:27.252 MSK [3327] СООБЩ ЕНИЕ: передача вывода в протокол процессу сбора протоколов июл 17 04:35:27 desktop postgres[3327]: 2018-07-17 04:35:27.252 MSK [3327] ПОДСК АЗКА: В дальнейшем протоколы будут выводиться в каталог "/var/log/postgres". июл 17 04:54:31 desktop systemd[1]: Started PostgreSQL database server. Как говорится, найдите разницу. Смотрите, что в логах

Konstantin
25.08.2018
19:00:47
в логах у меня повторяются 2 строчки 2018-08-26 01:31:08 +07 [7927-1] LOG: redirecting log output to logging collector process 2018-08-26 01:31:08 +07 [7927-2] HINT: Future log output will appear in directory "pg_log".

прошу прощения, нашел лог

2018-08-26 01:31:08 +07 [7927-3] LOG: could not open configuration file "/etc/postgresql/9.5/main/pg_hba.conf": Permission denied 2018-08-26 01:31:08 +07 [7927-4] FATAL: could not load pg_hba.conf

Anton [Mgn, az09@osm]
25.08.2018
19:09:32
>Permission denied вот и ответ

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