
Artem
26.02.2018
17:01:36

Pavel
26.02.2018
17:18:38
@drsm2 @knizhnik
Спасибо!

Roman
27.02.2018
08:16:48
Есть тригер на апдейт, внутри себя он должен апдейтить другие записи, но возникает рекурсия. Можно ли как-то запретить падать в рекурсию, или единственный выход писать функцию для апдейта без триггера ?

Sergey
27.02.2018
08:20:14

Google

Sergey
27.02.2018
08:20:37
На заходе в триггер проверить, выставить. На выходе снять.

Roman
27.02.2018
08:22:50

Pavel
27.02.2018
08:55:17
"Вы легко можете получить выигрыш в производительности без побочных эффектов, если примонтируете файловую систему, содержащую базу
данных, с параметром noatime (но при этом не будет отслеживаться время последнего доступа к файлу" из раздела 2.3 Диски и файловые системы http://postgresql.leopard.in.ua/
Кто пробовал? Какой получался выигрыш в производительности и критично ли вообще время
последнего доступа к файлу?

Darafei
27.02.2018
08:55:45
так дефолтный relatime почти то же самое
https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/6/html/power_management_guide/relatime

*sm1Ly
27.02.2018
08:57:06
товарищи, на 7ой центоси пытаюсь обновить 9.2 до 9.6 таким методом:
/usr/pgsql-9.6/bin/pg_upgrade --link --old-datadir=/var/lib/pgsql/data --new-datadir=/var/lib/pgsql/9.6/data --old-bindir=/usr/bin --new-bindir=/usr/pgsql-9.6/bin
когда оба сервера включены - говорит выключи, когда выключены - говорит включи. при этом —check проходит. что я делаю не так?

Mike Chuguniy
27.02.2018
08:58:41
Ибо —link делает хардлинки на файлы вместо копирования, и что должно получаться, когда у тебя два экземпляра пытаются использовать одни и те же файлы данных - ну сам подумай.

Yaroslav
27.02.2018
09:06:26

Mike Chuguniy
27.02.2018
09:11:09

*sm1Ly
27.02.2018
09:13:14

Yaroslav
27.02.2018
09:15:04

*sm1Ly
27.02.2018
09:15:19

Google

*sm1Ly
27.02.2018
10:01:32
я нашел на что у меня ругается, но как починить пока не понимаю

Yaroslav
27.02.2018
10:03:10

*sm1Ly
27.02.2018
10:03:26
command: "/usr/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/var/lib/pgsql/data" -o "-p 50432 -b -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directory='/opt/pgsql'" start >> "pg_upgrade_server.log" 2>&1
waiting for server to start....FATAL: unrecognized configuration parameter "unix_socket_directory"
stopped waiting
pg_ctl: could not start server
но у меня и в том и другом конфиги есть такой параметр...

Yaroslav
27.02.2018
10:05:49

*sm1Ly
27.02.2018
10:06:32
И зря он там есть. ;) Его (кажется, в 9.3) переименовали в unix_socket_directories.
⚡️ root@srv /var/lib/pgsql cat 9.6/data/postgresql.conf | grep unix_socket_dir
#unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories
⚡️ root@srv /var/lib/pgsql cat data/postgresql.conf | grep unix_socket_dir
#unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories
и в 9.2 и в 9.6 одинаковые

Yaroslav
27.02.2018
10:06:55

*sm1Ly
27.02.2018
10:07:01
точно
/usr/pgsql-9.6/bin/pg_upgrade --old-datadir=/var/lib/pgsql/data --new-datadir=/var/lib/pgsql/9.6/data --old-bindir=/usr/bin --new-bindir=/usr/pgsql-9.6/bin
вот и неочень понятно куда копать...
может просто вырезать данную строку? она всеравно закомментирована

Yaroslav
27.02.2018
10:08:39

*sm1Ly
27.02.2018
10:08:53
ну а откуда он у меня тогда?
а, минуту, я проверю на проде
[root@gw data]# cat postgresql.conf | grep unix_socket_directories
#unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories
[root@gw data]# rpm -qa | grep postgresql-ser
postgresql-server-9.2.23-3.el7_4.x86_64
тоже есть
но офф дока говорит что оно звалось иначе...

Mike Chuguniy
27.02.2018
10:10:51
в 9.2: unix_socket_directory (string) - https://www.postgresql.org/docs/9.2/static/runtime-config-connection.html

Google

Mike Chuguniy
27.02.2018
10:11:19
9.6: unix_socket_directories (string) - https://www.postgresql.org/docs/9.6/static/runtime-config-connection.html

*sm1Ly
27.02.2018
10:11:20
да, но мне смысл обманывать?
я грепаю с живого сервера конфиг
там в 9.2 directories
centos 7 версия сервера выше

Yaroslav
27.02.2018
10:12:27

*sm1Ly
27.02.2018
10:12:42
так вот pg_upgrade ругается же

Mike Chuguniy
27.02.2018
10:13:03

*sm1Ly
27.02.2018
10:13:53
самое странное что апгрейд ругается на FATAL: unrecognized configuration parameter "unix_socket_directory" которого у меня по факту и нет нигде
⚡️ root@srv /var/lib/pgsql grep -R 'unix_socket_director' *
9.6/data/postgresql.conf:#unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories
data/postgresql.conf:#unix_socket_directories = '/var/run/postgresql, /tmp' # comma-separated list of directories
⚡️ root@srv /var/lib/pgsql pwd
/var/lib/pgsql
чепуха какая-то(

Yaroslav
27.02.2018
10:15:24

*sm1Ly
27.02.2018
10:15:55
command: "/usr/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/var/lib/pgsql/data" -o "-p 50432 -b -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directory='/opt/pgsql'" start » "pg_upgrade_server.log" 2>&1
waiting for server to start....FATAL: unrecognized configuration parameter "unix_socket_directory"
stopped waiting
pg_ctl: could not start server

Yaroslav
27.02.2018
10:16:10

Mike Chuguniy
27.02.2018
10:16:30
pg_upgrade вызывает pg_ctl напрямую и передаёт ему какие-то свои параметры, в том числе и ... жЫзнь - боль и страдание, 9.2 снят с поддержки, а стало быть из pg_upgrade запросто могли выпилить 9.2-специфичные параметры. Судя по ошибке

*sm1Ly
27.02.2018
10:16:50

Yaroslav
27.02.2018
10:17:07

*sm1Ly
27.02.2018
10:17:22
причем он берет диру которая текущая для него....
ну откуда я стартую апгрейд...

Google

*sm1Ly
27.02.2018
10:17:37
вот же ж зараза.

Yaroslav
27.02.2018
10:18:06

*sm1Ly
27.02.2018
10:18:41

Yaroslav
27.02.2018
10:19:01

*sm1Ly
27.02.2018
10:20:02
о, сейчас опробуем, спасибо
если бы...
сейчас буду мучать
could not get pg_ctl version data using "/usr/bin/pg_ctl" --version: No such file or directory
сразу же)

Yaroslav
27.02.2018
10:30:21
если бы...
А Вы заметили комментарий:
> This really allowed me to upgrade postgres 9.2 to 9.6 on Centos 7!
под первым ответом:
> I hacked the problem by running (as root):
Я поэтому и написал, что это Ваш случай...

*sm1Ly
27.02.2018
10:35:06
да, это уже мои нервы были
ох уж сколько проблем с этим постгре...
ну оно якобы проапгрейдилось и перезалило базы и запустилось...
но /usr/pgsql-9.6/bin/psql не видит базы)

Yaroslav
27.02.2018
10:49:22

*sm1Ly
27.02.2018
10:52:08
Упс. :(
я уже разобрался. они совсем перекурили. у меня раньше всегда psql цеплялся по сокету локальному, а тут я изменял порт (5432 и 5433 на 9.6, чтобы при одновременно запуске конфликта не было), и пока я на 5432 не сменил - не цеплялось. что-то я думаю что я откажусь пока от обновы на проде (вообще это все ради UPSERT делалось)...

Google

Yaroslav
27.02.2018
10:53:07

*sm1Ly
27.02.2018
10:54:48
ну тут такой порядок. Fedora как самый свежий софт и обкатка его, потом рхел, потом уже центос как бесплатный форк рхела

Yaroslav
27.02.2018
10:54:50

*sm1Ly
27.02.2018
10:55:49

Darafei
27.02.2018
10:56:07
у человека с 2012 года не было времени обновить

*sm1Ly
27.02.2018
10:56:54
https://mirror.yandex.ru/centos/7.4.1708/updates/x86_64/Packages/
и там ctrl+f postgresql

Darafei
27.02.2018
10:58:26
E.25. Release 9.2
Release date: 2012-09-10
(с) https://www.postgresql.org/docs/9.2/static/release-9-2.html

*sm1Ly
27.02.2018
10:59:01
я прекрасно понимаю, но вот рхел считает ее stable

Robert
27.02.2018
11:10:02
Ребят, подскажите как модно делать кластер в 10 версии?

Yaroslav
27.02.2018
11:10:35

Robert
27.02.2018
11:11:16
Давно не занимался постгресом, был XL какой то,. citus
Patroni
Или сначала надо понять? Что хочу? Надёжность или скорость?