powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как запросом узнать имя текущего лога postgres?
18 сообщений из 18, страница 1 из 1
Как запросом узнать имя текущего лога postgres?
    #39571513
Добрый день.

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



Хочу grep-ать его sql-запросом потом на наличие конкретных ошибок. Из ОС нет возможность это делать.
...
Рейтинг: 0 / 0
Как запросом узнать имя текущего лога postgres?
    #39571538
Фотография 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
Как запросом узнать имя текущего лога postgres?
    #39571543
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
Как запросом узнать имя текущего лога postgres?
    #39571548
ursido
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Удалитель таблиц,

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

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

log_destination
logging_collector
log_directory
log_filename

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

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

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

скажите
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
Как запросом узнать имя текущего лога postgres?
    #39571559
Получается постгрес не хранит в готовом виде информацию о текущем логе?
...
Рейтинг: 0 / 0
Как запросом узнать имя текущего лога postgres?
    #39571564
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
Как запросом узнать имя текущего лога postgres?
    #39571566
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
Как запросом узнать имя текущего лога postgres?
    #39571569
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалитель таблиц,

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

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

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


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

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

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

автор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
Как запросом узнать имя текущего лога postgres?
    #39571577
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
Как запросом узнать имя текущего лога postgres?
    #39571578
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
Как запросом узнать имя текущего лога postgres?
    #39571585
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
Как запросом узнать имя текущего лога postgres?
    #39571824
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удалитель таблицСервер под виндоус.
Вы сказали "грепать".
...
Рейтинг: 0 / 0
Как запросом узнать имя текущего лога postgres?
    #39571858
Lonepsycho
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как запросом узнать имя текущего лога postgres?
    #39571968
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lonepsychomefman,

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


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