Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
 Аватар для Dexel
46 / 13 / 3
Регистрация: 29.09.2013
Сообщений: 290

Запуск Bash скрипта при входе в базу, как?

04.02.2019, 22:37. Показов 2846. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скрипт при определённых условиях должен выбросить пользователя из базы с сообщением об ошибке, либо разрешить работу. Если Bash нельзя, Perl сгодится.

Эти условия можно определять и в вызывающей программе, но ведь возможен вход и через консоль psql.
Так что нужен вызов скрипта независимо от типа подключения.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.02.2019, 22:37
Ответы с готовыми решениями:

Запуск скрипта PowerShell при входе в систему
Всем добрый день. Прошу сильно не пинать, а помочь разобраться или хотя бы направить в нужное направление. Есть скрипт на Powershell...

Запуск скрипта на сервере при входе определенного пользователя
Как сделать так чтобы при входе определенного пользователя на сервера запускался скрипт? Надо чтобы скрипт именно запускался на сервере!!!...

Qt Widgets запуск bash-скрипта
Всем привет. Есть файл test.sh Я помещаю его в qrc-файл (ресурсы). Хочу запустить его в методе main() файла main.c Подскажите как это...

5
 Аватар для mvngr
225 / 189 / 98
Регистрация: 15.04.2018
Сообщений: 718
05.02.2019, 13:07
Скорее всего ваши "определенные условия" будет легче реализовать в бд, чем сделать то, что вы хотите.

Объясните что за условия
0
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
10.02.2019, 12:48
pg_terminate_backend
0
 Аватар для Dexel
46 / 13 / 3
Регистрация: 29.09.2013
Сообщений: 290
10.02.2019, 23:08  [ТС]
pg_terminate_backend завершает процесс, не пойму какое отношение к запуску.

Вобщем что нужно.
При входе в консоль psql нужно проверить некий файл на локальной и удалённой машинах. Если не 0 и 0, выскочить из psql.
Могу конечно прикрутить костыль в виде алиаса на psql и делать проверку в пром.скрпте, который будет проверять соответствие базы/юзера, если база нужная то проверяем на 0 файл на локальной машине, связываемся с другой машиной, считываем и проверяем на 0 её байт, и по результатам вызываем psql с параметрами, переданными через алиас пром.скрипту. Громоздко выглядит.

Тут задача запускать скрипт ПРИ ВХОДЕ в psql.
Другие подключения к базе учитывать не нужно.

Вобщем это репликация с двух машин на удалённой базе. В Postgres есть репликация типа Master-Slave, но она не подходит. Писать в обе базы могут обе машины, далее сохраняются на удалённой. Нужно предотвратить соединение с базой с другой машины в момент синхронизации первой. Обе машины равноправные. На обеих базы синхронизируются между собой и с базой на удалённом сервере. С этим проблем нет. Нужно лишь перекрыть кислород консоли psql на время синхронизации.

Linux.

Добавлено через 45 минут
Короче всё. Вопрос решен.

В файл .psqlrc прописываем
"SELECT 111;" и он срабатывает при входе в базу. Остальное не проблема.
1
1443 / 1326 / 131
Регистрация: 20.03.2009
Сообщений: 4,689
Записей в блоге: 11
11.02.2019, 11:28
А если вход не через psql?
Цитата Сообщение от Dexel Посмотреть сообщение
но ведь возможен вход и через консоль psql
0
 Аватар для Dexel
46 / 13 / 3
Регистрация: 29.09.2013
Сообщений: 290
12.02.2019, 10:35  [ТС]
Там всё проще пареной репы. При запуске программ, вертящихся на этой базе, проверяются флаги активной репликации на обеих машинах и запущенных других программ, которые могут в неё писать. Просто выход из программы с сообщением.
Да, и всё же при входе в psql-консоль при активной репликации сделал не kill процесса psql, а красное предупреждающее сообщение, ведь по сути читать с неё можно... Пока так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.02.2019, 10:35
Помогаю со студенческими работами здесь

Запуск и остановка bash - скрипта
есть bash - скрипт #!/bin/bash while true do php test.php sleep 3s done как сделать комманды start stop и restart ?

Запуск Bash скрипта в фоне
Всем привет. Написал небольшой Bash скрипт, который должен собирать статистику о работе пк. В скрипте функция перезапускает сама себя с...

Запуск bash скрипта через QProcess в Qt3
Приходится использовать Qt3. Необходимо запустить из программы bash скрипты. QProcess proc; QStringList args; args...

Запуск bash скрипта от имени (без пароля) из php
Здравствуйте! Я хочу запустить bash скрипт через браузер. От имени конкретного юзера, не апача. По идее, должно получиться: ...

Запуск bash скрипта, вызывающий последовательно команды php
0 13 * * * /usr/bin/fsock -n /tmp/rrr.lock -c "/var/www/admin/www/test.ru/bitrix/script.sh файл #!/bin/bash /usr/bin/php...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru