@Smeilz1
За любое развитие

Как скопировать запросы,которые делает программа к Postgres sql?

Программа делает запросы к базе в формате Postgres sql 8.4
Я хочу скопировать эти запросы в свою программу.
Мне сказали, что есть некий сервисный режим, который ведет лог всех запросов к базе.
Как его включить или как получить те запросы,которые делает программа?
  • Вопрос задан
  • 381 просмотр
Пригласить эксперта
Ответы на вопрос 4
vman
@vman
необходимо внести правки в файл postgresql.conf


log_directory = 'pg_log'
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_statement = 'all'
logging_collector = on


после чего перезапустить сервер
service postgresql restart
Ответ написан
Melkij
@Melkij
PostgreSQL DBA
Помимо log_statement = 'all' можно выставить настройку log_min_duration_statement в 0 - она тоже может логировать все запросы.

Если запросов через базу проходит много не только от необходимой программы, то и log_statement и log_min_duration_statement возможно выставить только для пользователя, от имени котрого программа выполняет запросы. Например,
alter user melkij set log_min_duration_statement = 0;
Ответ написан
teknik2008
@teknik2008
Расскажите про GOLANG. Мне интересно
Ушел гадать, что за программа.
Ответ написан
Комментировать
@Smeilz1 Автор вопроса
За любое развитие
1)Все настройки выставил+ log_min duration_statement=0
2)Перезагрузился
3) ЗАпустил программу, сделал через нее пару запросов.
4) ТАкой лог:
2017-08-25 20:57:20 MSDLOG: database system was shut down at 2017-08-25 20:57:04 MSD
2017-08-25 20:57:20 MSDLOG: database system is ready to accept connections
2017-08-25 20:57:21 MSDLOG: autovacuum launcher started
2017-08-25 20:58:35 MSDLOG: could not receive data from client: No connection could be made because the target machine actively refused it.


2017-08-25 20:58:35 MSDLOG: unexpected EOF on client connection
2017-08-25 20:58:35 MSDLOG: could not receive data from client: No connection could be made because the target machine actively refused it.


2017-08-25 20:58:35 MSDLOG: unexpected EOF on client connection
2017-08-25 20:58:35 MSDLOG: could not receive data from client: No connection could be made because the target machine actively refused it.


2017-08-25 20:58:35 MSDLOG: unexpected EOF on client connection
-------------------------
Что я сделал не так?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы