
Роман
10.02.2017
11:45:48
Немного о практической реализации в Astra Linux мандатного разграничения доступа в PostgreSQL
актуально для версии 1.4, в версии 1.5 модель доработана

Denis
10.02.2017
13:04:32
День добрый, может кто подскажет, по такой ситуации:
debian на EXT4
PostgreSQL 9.4.9
1. Падает сервер по питанию
2. при включении - база не доступна
3. В логах ошибка, есть незавершенная транзакция.
4. Вручную ребут службы postgreSQL, при старте что то отработало и база стало доступна
можно ли автоматизировать процесс, чтобы сразу при первом же включении
база была доступна?
если есть скрпиты какие либо, может кто поделиться?
Возможно у кого то есть доступные решения

Петр
10.02.2017
13:05:57
логи покажите

Google

Петр
10.02.2017
13:06:20
возможно из-за pid-файла

Nikita
10.02.2017
13:10:17
почти такая же история
сорри за русский язык http://pastebin.com/itJnwkfg

Denis
10.02.2017
13:34:17
ConnectionManager.getConnection() failed to obtain a connection after 11 retries. The exception from the last attempt is as follows: org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections

Петр
10.02.2017
13:43:52
какой командой запускается пг?
таймаут не высталяли?

Nikita
10.02.2017
13:47:36
итить)) даже логи одинаковые
скорее всего как-то вот так:
/usr/bin/pg_ctlcluster postgresql@%i —skip-systemctl-redirect %i start


Denis
10.02.2017
14:16:13
Петр Егоров, [10.02.17 16:43]
какой командой запускается пг?
230. /etc/init.d/openfire status
231 /etc/init.d/openfire force-reload
232 /etc/init.d/openfire re
233 /etc/init.d/openfire restart
234 reboot
235 ps aux | grep openfire
236 ps aux | grep postgresql
237 psql
238 pgsql
239 /etc/init.d/postgresql
240 /etc/init.d/postgresql status
241 /etc/init.d/postgresql relo
242 /etc/init.d/postgresql reload
243 /etc/init.d/openfire restart
244 /etc/init.d/postgresql stop
245 ps auxw | grep post
246 sudo find / -name .s.PGSQL.5432 -ls
247 su find / -name .s.PGSQL.5432 -ls
248 find / -name .s.PGSQL.5432 -ls
249 /etc/init.d/postgres status
250 /etc/init.d/postgres status
251 /etc/init.d/postgres status
252 /etc/init.d/postgresql status
253 /etc/init.d/postgresql restart
254 /etc/init.d/openfire restart
255 /etc/init.d/openfire
256 /etc/init.d/postgresql status
таймаут не высталяли?
нет не выставляли
Denis Doronin, [10.02.17 17:18]
скорее всего как-то вот так:
/usr/bin/pg_ctlcluster postgresql@%i —skip-systemctl-redirect %i start
это в автозагрузку? и что даст данная команда?
по крайне мере что должна дать?


Dmitry
10.02.2017
14:19:23

Google

Dmitry
10.02.2017
14:20:27
man postgresql-common
^^^ это debian костылики

Петр
10.02.2017
14:21:32
Денис, а что в инит-скрипте?

Bob
10.02.2017
14:36:44
Думаю Проблема в systemd и недостаточном таймауте для старта сервера(накатки wall).
Посмотреть timeout: systemctl show postgresql@9.5-main.service -p TimeoutStartUSec
Изменить: /lib/systemd/system/postgresql@.service - добавить TimeoutSec=300
Перечитать конфигурацию systemd: systemctl daemon-reload


Denis
10.02.2017
14:51:23
# Default-Stop: 0 1 6
# Short-Description: PostgreSQL RDBMS server
### END INIT INFO
# Setting environment variables for the postmaster here does not work; please
# set them in /etc/postgresql/<version>/<cluster>/environment instead.
[ -r /usr/share/postgresql-common/init.d-functions ] || exit 0
. /usr/share/postgresql-common/init.d-functions
# versions can be specified explicitly
if [ -n "$2" ]; then
versions="$2 $3 $4 $5 $6 $7 $8 $9"
else
get_versions
fi
case "$1" in
start|stop|restart|reload)
if [ "$1" = "start" ]; then
create_socket_directory
fi
if [ -z "pg_lsclusters -h" ]; then
log_warning_msg 'No PostgreSQL clusters exist; see "man pg_createcluster"'
exit 0
fi
for v in $versions; do
$1 $v || EXIT=$?
done
exit ${EXIT:-0}
;;
status)
LS=pg_lsclusters -h
# no clusters -> unknown status
[ -n "$LS" ] || exit 4
echo "$LS" | awk 'BEGIN {rc=0} {if (match($4, "down")) rc=3; printf ("%s/%s (port %s): %s\n", $1, $2, $3, $4)}; END {exit rc}'
;;
force-reload)
for v in $versions; do
reload $v
done
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload|status} [version ..]"
exit 1
;;
esac
exit 0
это init d
у нас тут старенький Debian в нем все стартует через init d
вверху содержимое скрипта
Изменить: /lib/systemd/system/postgresql@.service - добавить TimeoutSec=300
/lib/systemd/system/postgresql@.service
[Unit]
Description=PostgreSQL Cluster %i
ConditionPathExists=/etc/postgresql/%I/postgresql.conf
PartOf=postgresql.service
ReloadPropagatedFrom=postgresql.service
Before=postgresql.service
[Service]
Type=forking
# @: use "postgresql@%i" as process name
ExecStart=@/usr/bin/pg_ctlcluster postgresql@%i %i start
ExecStop=/usr/bin/pg_ctlcluster -m fast %i stop
ExecReload=/usr/bin/pg_ctlcluster %i reload
PIDFile=/var/run/postgresql/%i.pid
SyslogIdentifier=postgresql@%i
# restarting automatically will prevent "pg_ctlcluster ... stop" from working,
# so we disable it here. Also, the postmaster will restart by itself on most
# problems anyway, so it is questionable if one wants to enable external
# automatic restarts.
#Restart=on-failure
# (This should make pg_ctlcluster stop work, but doesn't:)
#RestartPreventExitStatus=SIGINT SIGTERM
[Install]
WantedBy=multi-user.target


Bob
10.02.2017
15:08:34
В Service
Если в логах опять проскочит надпись во время старта(накатки логов) "получен сигнал на "вежливое" выключение", надо еще увеличивать...

Denis
10.02.2017
15:13:18
а какой оптимальный timeout? стоял 90 sec
просто интересно по опыту

Bob
10.02.2017
15:17:26
90 - это значение по умолчанию... В зависимости от скорости вашего сервера и частоты checkpointerов. Нам 300 хватило. На ряде слабых стоит 1800. Можно оключить (http://www.dsm.fordham.edu/cgi-bin/man-cgi.pl?topic=systemd.service).TimeoutStartSec="infinity"

Denis
10.02.2017
15:20:27
как потестирую, отпишу
спасибо

Yuriy
10.02.2017
16:06:22
У меня также хуерга происходит с постгрей после падения питания на дебиане
Я уже просто устал, как по питанию проблема, так ночной бэкап доставать приходится, благо не критична потеря до суток

Павел П.
10.02.2017
17:51:28
Чат, вечер добрый)
Не поможете плиз пьяному уставшему мозгу?

Аггей
10.02.2017
17:51:55

Google

Павел П.
10.02.2017
17:52:01
Нужно сделать инсерт из 1 таблицы в две.
with new_ins as (
INSERT INTO t2(pk1, f1)
SELECT nextval('pk1_seq'::regclass), f1
FROM t1 returning pk1
)
INSERT INTO t3 (pk1, f2)
select new_ins.pk1, f2 from new_ins, t1 where .....;
как-то я с последним условием туплю

Yuriy
10.02.2017
17:53:09

Петр
10.02.2017
17:59:23

Yuriy
10.02.2017
18:04:57
На ups-e

Shaz
10.02.2017
18:07:46

Yuriy
10.02.2017
18:07:51
Не берите entel, на тендере четко в опроснике указали наличие snmp. А эти суки- типа поддержка ж есть - покупайте отдельно программный модуль.

Аггей
10.02.2017
18:08:50
А usb есть?
Nut?

Shaz
10.02.2017
18:09:10
Кстати, такой вопрос такой нубский. есть какие-то ограничения на кол-во полей tsvector и индексов по ним на 1 таблицу?

Yuriy
10.02.2017
18:09:41
Любой APC с платой снмп шлёт трапы с оставшимся временем работы, а этот ентел гавно какоето

Shaz
10.02.2017
18:10:41

Yuriy
10.02.2017
18:11:19
Ок

Anton [Mgn, az09@osm]
10.02.2017
18:12:52

Shaz
10.02.2017
18:14:04
А мне не подскажете?) "Кстати, такой вопрос такой нубский. есть какие-то ограничения на кол-во полей tsvector и индексов по ним на 1 таблицу?"

Google

Павел П.
10.02.2017
18:15:25

Сергей
11.02.2017
15:03:24
Хаброэффект, день второй)

Yuriy
11.02.2017
15:06:58
)))
Да нормально

Ilya
11.02.2017
17:29:47
Где это так мощно упомянули?

Anthony
11.02.2017
17:31:14
geektimes.ru/post/285704

Жека
11.02.2017
22:27:57
Ребята помогите развернуть базу данных! Только начал изучать posrgreSQL! Есть файл liquibase.changelog.sql

Shaz
11.02.2017
22:44:22
И что ты от него хочешь?

Жека
11.02.2017
22:46:44
Этот файл в базе, и с помощью этого файла надо развернуть базу в pgadmin3

Alexey
11.02.2017
22:47:11
Ничего не понел, оставляю вас решать головоломки с привлечением экспертов земли по телепатии третьего уровня.

Shaz
11.02.2017
22:49:20
Начнем сначала. Бд для чего разворачиваем?

Жека
11.02.2017
22:52:51
Да просто рпзвернуть локально

Shaz
11.02.2017
22:53:47
Кого? Если тупо сам постгрес - так скачай дистриб и поставь

Жека
11.02.2017
22:54:29
Бд приложения

Shaz
11.02.2017
22:54:53
Ок. Какого?

Жека
11.02.2017
22:55:44
Месенжера

Alexey
11.02.2017
22:56:26