Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как запросом узнать имя текущего лога postgres? / 18 сообщений из 18, страница 1 из 1
18.12.2017, 16:04
    #39571513
Как запросом узнать имя текущего лога postgres?
Добрый день.

Как запросом узнать имя текущего лога postgres?



Хочу grep-ать его sql-запросом потом на наличие конкретных ошибок. Из ОС нет возможность это делать.
...
Рейтинг: 0 / 0
18.12.2017, 16:46
    #39571538
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Удалитель таблицДобрый день.
Как запросом узнать имя текущего лога postgres?
Хочу grep-ать его sql-запросом потом на наличие конкретных ошибок. Из ОС нет возможность это делать.
Как правило они называются по дням недели.
В никсах его можно получить так:
Код: sql
1.
dayofweek=$(date --date=${dateinfile#?_} "+%A"|cut -c -3)


а потом уже грепать.
Код: sql
1.
tail $PG_DATA/pg_log/postgresql-$DOW.log
...
Рейтинг: 0 / 0
18.12.2017, 16:55
    #39571543
Как запросом узнать имя текущего лога postgres?
mefmanУдалитель таблицДобрый день.
Как запросом узнать имя текущего лога postgres?
Хочу grep-ать его sql-запросом потом на наличие конкретных ошибок. Из ОС нет возможность это делать.
Как правило они называются по дням недели.
В никсах его можно получить так:
Код: sql
1.
dayofweek=$(date --date=${dateinfile#?_} "+%A"|cut -c -3)


а потом уже грепать.
Код: sql
1.
tail $PG_DATA/pg_log/postgresql-$DOW.log




Сервер под виндоус.
...
Рейтинг: 0 / 0
18.12.2017, 17:01
    #39571548
ursido
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Удалитель таблиц,

Читаете здесь: RTFM

Вам нужно посмотреть параметры (из pg_settings):

log_destination
logging_collector
log_directory
log_filename

Таким образом, Вы узнаете где логгируем и в каком формате. Так же узнаете маску файла.

Если звезды сойдутся, то можно будет почитать их средствами PG ( RTFM )
...
Рейтинг: 0 / 0
18.12.2017, 17:04
    #39571550
qwwq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Удалитель таблиц,

не все так просто.
и лог может быть в системные логи, а не в свои, например

скажите
show all;
и почитайте вывод всего в области log_% .... logging_collector
// select * from pg_settings where name like 'log%' ж

остальное (расшифровки) тут
https://www.postgresql.org/docs/10/static/runtime-config-logging.html
...
Рейтинг: 0 / 0
18.12.2017, 17:13
    #39571559
Как запросом узнать имя текущего лога postgres?
Получается постгрес не хранит в готовом виде информацию о текущем логе?
...
Рейтинг: 0 / 0
18.12.2017, 17:20
    #39571564
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Удалитель таблиц,

можно пробовать...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT 
  t.fname, 
  t.ftime 
FROM ( 
  SELECT 
    fname, 
    CAST ( 
      ( 
        pg_stat_file( 
          concat(current_setting('log_directory'), '/', fname) 
        ) 
      ).modification AS timestamptz 
    ) AS ftime 
  FROM 
    pg_ls_dir(current_setting('log_directory')) AS fname 
) AS t 
ORDER BY t.ftime DESC, t.fname ASC
LIMIT 1

...
Рейтинг: 0 / 0
18.12.2017, 17:24
    #39571566
Как запросом узнать имя текущего лога postgres?
LonepsychoУдалитель таблиц,

можно пробовать...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT 
  t.fname, 
  t.ftime 
FROM ( 
  SELECT 
    fname, 
    CAST ( 
      ( 
        pg_stat_file( 
          concat(current_setting('log_directory'), '/', fname) 
        ) 
      ).modification AS timestamptz 
    ) AS ftime 
  FROM 
    pg_ls_dir(current_setting('log_directory')) AS fname 
) AS t 
ORDER BY t.ftime DESC, t.fname ASC
LIMIT 1



Показывает почему-то вчерашний.
...
Рейтинг: 0 / 0
18.12.2017, 17:27
    #39571569
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Удалитель таблиц,

видимо, у вас вчерашний файл по свежее сегодняшнего...
...
Рейтинг: 0 / 0
18.12.2017, 17:29
    #39571571
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Удалитель таблиц,

уберите LIMIT 1 и посмотрите, что у вас там. т.е. каков список без ограничений, и подкрутите как вам угодно.
...
Рейтинг: 0 / 0
18.12.2017, 17:30
    #39571573
Как запросом узнать имя текущего лога postgres?
LonepsychoУдалитель таблиц,

видимо, у вас вчерашний файл по свежее сегодняшнего...


У них ftime просто одинаковый.

Сейчас поищу как не по дате изменения а по дате создания сделать :0)
...
Рейтинг: 0 / 0
18.12.2017, 17:41
    #39571576
ursido
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Удалитель таблицПолучается постгрес не хранит в готовом виде информацию о текущем логе?

Вы не утрудились почитать документацию. Там об этом написано человеческим языком:

авторWhen either stderr or csvlog are included, the file current_logfiles is created to record the location of the log file(s) currently in use by the logging collector and the associated logging destination. This provides a convenient way to find the logs currently in use by the instance. Here is an example of this file's content:
...
Рейтинг: 0 / 0
18.12.2017, 17:41
    #39571577
Как запросом узнать имя текущего лога postgres?
LonepsychoУдалитель таблиц,

можно пробовать...
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
SELECT 
  t.fname, 
  t.ftime 
FROM ( 
  SELECT 
    fname, 
    CAST ( 
      ( 
        pg_stat_file( 
          concat(current_setting('log_directory'), '/', fname) 
        ) 
      ).modification AS timestamptz 
    ) AS ftime 
  FROM 
    pg_ls_dir(current_setting('log_directory')) AS fname 
) AS t 
ORDER BY t.ftime DESC, t.fname ASC
LIMIT 1




Вот так нормально получилось:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
SELECT 
  t.fname, 
  t.ftime,
  t.creation
FROM ( 
  SELECT 
    fname, 
    CAST ( 
      ( 
        pg_stat_file( 
          concat(current_setting('log_directory'), '/', fname) 
        ) 
      ).modification AS timestamptz 
    ) AS ftime,

     
    CAST ( 
      ( 
        pg_stat_file( 
          concat(current_setting('log_directory'), '/', fname) 
        ) 
      ).creation AS timestamptz 
    ) AS creation

     
  FROM 
    pg_ls_dir(current_setting('log_directory')) AS fname 
) AS t 
ORDER BY t.creation DESC, t.fname ASC
LIMIT 1



Большое спасибо!
...
Рейтинг: 0 / 0
18.12.2017, 17:42
    #39571578
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Удалитель таблиц,

можно посмотреть по
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
    fname, 
    CAST ( 
      ( 
        pg_stat_file( 
          concat(current_setting('log_directory'), '/', fname) 
        ) 
      ).access AS timestamptz 
    ) AS ftime 
  FROM 
    pg_ls_dir(current_setting('log_directory')) AS fname
ORDER BY 2 DESC LIMIT 1

...
Рейтинг: 0 / 0
18.12.2017, 17:48
    #39571585
Как запросом узнать имя текущего лога postgres?
LonepsychoУдалитель таблиц,

можно посмотреть по
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
    fname, 
    CAST ( 
      ( 
        pg_stat_file( 
          concat(current_setting('log_directory'), '/', fname) 
        ) 
      ).access AS timestamptz 
    ) AS ftime 
  FROM 
    pg_ls_dir(current_setting('log_directory')) AS fname
ORDER BY 2 DESC LIMIT 1




Так думаю превильнее чем по дате создания, благодарю.
...
Рейтинг: 0 / 0
19.12.2017, 09:45
    #39571824
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Удалитель таблицСервер под виндоус.
Вы сказали "грепать".
...
Рейтинг: 0 / 0
19.12.2017, 11:00
    #39571858
Lonepsycho
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
...
Рейтинг: 0 / 0
19.12.2017, 13:33
    #39571968
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запросом узнать имя текущего лога postgres?
Lonepsychomefman,

наверное этим...
ну вы еще про 10ку вспомните.
В моем понимании слово грепать выдает линуксоида.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как запросом узнать имя текущего лога postgres? / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]