Size: a a a

pgsql – PostgreSQL

2021 March 19

AS

Alexey Stavrov in pgsql – PostgreSQL
Vektor AB
Вечер добрый. Как бороться с race condition? В несколько потоков клиентский код пытается заселектить, обновить или вставить данные. В таблице уникальный индекс на эти данные. При многопоточном доступе и select for update проскакивает вставка одних и тех же данных. Естественно падает по ограничению целостности. Можно как-то заблокироваться, но не на всей таблице?
Непонятно, в чем проблема?
Вы делаете select for update, так? Это значит, что запрос заблокируется, если часть строк, которые вы выбираете, взяты другим select for update. Поэтому тут 2 варианта:
1) вы выбираете разные строки двумя транзакциями, в которых делается select for update, и изменяете их на одни и те же строки, поэтому получаете ошибку
2) либо просто делаете select for update и изменяете данные на те, которые уже вставлены.

Выглядит так, что проблема либо в логике приложения, либо в том, что вы не хотите обрабатывать ошибки.
источник

P

Plus in pgsql – PostgreSQL
всем привет не могу настроить pgprobackup. ругается что не может ERROR: could not connect to database postgres: could not connect to server: No such file or directory
       Is the server running locally and accepting
       connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
источник

P

Plus in pgsql – PostgreSQL
%)
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
а сам сервер-то поднят? через psql подсосединяетесь?
источник

P

Plus in pgsql – PostgreSQL
Alexander Nikitin
а сам сервер-то поднят? через psql подсосединяетесь?
проблему решил. в конфиге был вырублен unix_socket
источник

P

Plus in pgsql – PostgreSQL
теперь надо вспомнить как конфиг в инстансе настроить правильно %) чтобы хранилось не все подряд а 5 дельт и два фула
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
У них хорошая документация на английском + я статьи на хабре писал, там довольно просто всё.
источник

СТ

Сергей Толмачев... in pgsql – PostgreSQL
Доброе утро, Подскажите пожалуйста, запуска в докере команду pg_basebackup и выходит ошибка:    pg_basebackup: не удалось подключиться к серверу: FATAL:  no pg_hba.conf entry for replication connection from host "[local]", user "root", SSL off
источник

СТ

Сергей Толмачев... in pgsql – PostgreSQL
Может кто с таким сталкивался ?
источник

IK

Ilshat Karazbaev in pgsql – PostgreSQL
su - postgres попробуйте
источник

IK

Ilshat Karazbaev in pgsql – PostgreSQL
Проблема банальна и описана в ошибке, нужно поправить этот конфигурационный файл или попробовать другой метод аутентификации
источник

K

Kirill in pgsql – PostgreSQL
Доброе утро! Есть таблица порядка 150м строк, которая содержит текст сообщений. С помощью регулярок в этой таблице маркируются нужные строки. Подскажите пожалуйста как можно ускорить выполнение этого процесса? Подозреваю, что нужно создать индекс для текстового поля. Я работал только с b-tree индексами и думаю он тут не подойдет. Какой будет максимально эффективным?
источник

K

Kirill in pgsql – PostgreSQL
гугл говорит использовать GIN индекс
источник

K

Kirill in pgsql – PostgreSQL
SQL Error [42704]: ОШИБКА: для типа данных text не определён класс операторов по умолчанию для метода доступа "gin"
 Подсказка: Вы должны указать класс операторов для индекса или определить класс операторов по умолчанию для этого типа данных.
источник

DO

Do c Tor O r` Ry in pgsql – PostgreSQL
Kirill
Доброе утро! Есть таблица порядка 150м строк, которая содержит текст сообщений. С помощью регулярок в этой таблице маркируются нужные строки. Подскажите пожалуйста как можно ускорить выполнение этого процесса? Подозреваю, что нужно создать индекс для текстового поля. Я работал только с b-tree индексами и думаю он тут не подойдет. Какой будет максимально эффективным?
с выборкой регулярками индекс не поможет
источник

K

Kirill in pgsql – PostgreSQL
Do c Tor O r` Ry
с выборкой регулярками индекс не поможет
неужели никак не ускорить?
источник

DO

Do c Tor O r` Ry in pgsql – PostgreSQL
Kirill
неужели никак не ускорить?
я думаю что нет. если только на партиции побить и по одной партии апдейты гонять. экономия будет только за счет меньшего объема данных, но это такое себе скажем так
источник

DO

Do c Tor O r` Ry in pgsql – PostgreSQL
мб кто-то еще посоветует что-то
источник

b

batyrmastyr in pgsql – PostgreSQL
Maxim 🇯🇲 Ignatenko
создастся пустая таблица идентичная исходной, а serial начнется с нуля🤔
Разве? Serial же превратится в последовательность + значение по умолчанию = next_val() которое скопируется как есть. В итоге у таблиц будет общий счётчик.
источник

DK

Den KP in pgsql – PostgreSQL
Всем огромный привет!
источник