log_fdw

log_fdw

log_fdw : foreign-data wrapper for Postgres log file access

Overview

ID Extension Package Version Category License Language
8810
log_fdw
log_fdw
1.4
FDW
Apache-2.0
C
Attribute Has Binary Has Library Need Load Has DDL Relocatable Trusted
--s-d--
No
Yes
No
Yes
no
no
Relationships
See Also
pg_sqlog
pgaudit
file_fdw
auto_explain
pgauditlogtofile
logerrors
wrappers
multicorn

PG18 fixed by vonng

Packages

Type Repo Version PG Major Compatibility Package Pattern Dependencies
EXT
PIGSTY
1.4
18
17
16
15
14
log_fdw -
RPM
PIGSTY
1.4
18
17
16
15
14
log_fdw_$v -
DEB
PIGSTY
1.4
18
17
16
15
14
postgresql-$v-log-fdw -
Linux / PG PG18 PG17 PG16 PG15 PG14
el8.x86_64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
el8.aarch64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
el9.x86_64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
el9.aarch64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
el10.x86_64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
el10.aarch64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
d12.x86_64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
d12.aarch64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
d13.x86_64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
d13.aarch64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
u22.x86_64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
u22.aarch64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
u24.x86_64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
u24.aarch64
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
PIGSTY 1.4
Package Version OS ORG SIZE File URL
log_fdw_18 1.4 el8.x86_64 pigsty 20.0 KiB log_fdw_18-1.4-2PIGSTY.el8.x86_64.rpm
log_fdw_18 1.4 el8.aarch64 pigsty 20.1 KiB log_fdw_18-1.4-2PIGSTY.el8.aarch64.rpm
log_fdw_18 1.4 el9.x86_64 pigsty 20.2 KiB log_fdw_18-1.4-2PIGSTY.el9.x86_64.rpm
log_fdw_18 1.4 el9.aarch64 pigsty 20.1 KiB log_fdw_18-1.4-2PIGSTY.el9.aarch64.rpm
log_fdw_18 1.4 el10.x86_64 pigsty 20.3 KiB log_fdw_18-1.4-2PIGSTY.el10.x86_64.rpm
log_fdw_18 1.4 el10.aarch64 pigsty 20.3 KiB log_fdw_18-1.4-2PIGSTY.el10.aarch64.rpm
postgresql-18-log-fdw 1.4 d12.x86_64 pigsty 27.4 KiB postgresql-18-log-fdw_1.4-1PIGSTY~bookworm_amd64.deb
postgresql-18-log-fdw 1.4 d12.aarch64 pigsty 27.3 KiB postgresql-18-log-fdw_1.4-1PIGSTY~bookworm_arm64.deb
postgresql-18-log-fdw 1.4 d13.x86_64 pigsty 27.5 KiB postgresql-18-log-fdw_1.4-1PIGSTY~trixie_amd64.deb
postgresql-18-log-fdw 1.4 d13.aarch64 pigsty 27.4 KiB postgresql-18-log-fdw_1.4-1PIGSTY~trixie_arm64.deb
postgresql-18-log-fdw 1.4 u22.x86_64 pigsty 29.2 KiB postgresql-18-log-fdw_1.4-1PIGSTY~jammy_amd64.deb
postgresql-18-log-fdw 1.4 u22.aarch64 pigsty 29.0 KiB postgresql-18-log-fdw_1.4-1PIGSTY~jammy_arm64.deb
postgresql-18-log-fdw 1.4 u24.x86_64 pigsty 28.3 KiB postgresql-18-log-fdw_1.4-1PIGSTY~noble_amd64.deb
postgresql-18-log-fdw 1.4 u24.aarch64 pigsty 28.4 KiB postgresql-18-log-fdw_1.4-1PIGSTY~noble_arm64.deb
Package Version OS ORG SIZE File URL
log_fdw_17 1.4 el8.x86_64 pigsty 20.0 KiB log_fdw_17-1.4-2PIGSTY.el8.x86_64.rpm
log_fdw_17 1.4 el8.x86_64 pigsty 19.4 KiB log_fdw_17-1.4-1PIGSTY.el8.x86_64.rpm
log_fdw_17 1.4 el8.aarch64 pigsty 20.1 KiB log_fdw_17-1.4-2PIGSTY.el8.aarch64.rpm
log_fdw_17 1.4 el8.aarch64 pigsty 19.2 KiB log_fdw_17-1.4-1PIGSTY.el8.aarch64.rpm
log_fdw_17 1.4 el9.x86_64 pigsty 20.2 KiB log_fdw_17-1.4-2PIGSTY.el9.x86_64.rpm
log_fdw_17 1.4 el9.x86_64 pigsty 19.8 KiB log_fdw_17-1.4-1PIGSTY.el9.x86_64.rpm
log_fdw_17 1.4 el9.aarch64 pigsty 20.1 KiB log_fdw_17-1.4-2PIGSTY.el9.aarch64.rpm
log_fdw_17 1.4 el9.aarch64 pigsty 19.4 KiB log_fdw_17-1.4-1PIGSTY.el9.aarch64.rpm
log_fdw_17 1.4 el10.x86_64 pigsty 20.3 KiB log_fdw_17-1.4-2PIGSTY.el10.x86_64.rpm
log_fdw_17 1.4 el10.x86_64 pigsty 19.8 KiB log_fdw_17-1.4-1PIGSTY.el10.x86_64.rpm
log_fdw_17 1.4 el10.aarch64 pigsty 20.3 KiB log_fdw_17-1.4-2PIGSTY.el10.aarch64.rpm
postgresql-17-log-fdw 1.4 d12.x86_64 pigsty 27.2 KiB postgresql-17-log-fdw_1.4-1PIGSTY~bookworm_amd64.deb
postgresql-17-log-fdw 1.4 d12.aarch64 pigsty 27.1 KiB postgresql-17-log-fdw_1.4-1PIGSTY~bookworm_arm64.deb
postgresql-17-log-fdw 1.4 d13.x86_64 pigsty 27.2 KiB postgresql-17-log-fdw_1.4-1PIGSTY~trixie_amd64.deb
postgresql-17-log-fdw 1.4 d13.aarch64 pigsty 27.2 KiB postgresql-17-log-fdw_1.4-1PIGSTY~trixie_arm64.deb
postgresql-17-log-fdw 1.4 u22.x86_64 pigsty 34.4 KiB postgresql-17-log-fdw_1.4-1PIGSTY~jammy_amd64.deb
postgresql-17-log-fdw 1.4 u22.aarch64 pigsty 34.0 KiB postgresql-17-log-fdw_1.4-1PIGSTY~jammy_arm64.deb
postgresql-17-log-fdw 1.4 u24.x86_64 pigsty 28.1 KiB postgresql-17-log-fdw_1.4-1PIGSTY~noble_amd64.deb
postgresql-17-log-fdw 1.4 u24.aarch64 pigsty 28.2 KiB postgresql-17-log-fdw_1.4-1PIGSTY~noble_arm64.deb
Package Version OS ORG SIZE File URL
log_fdw_16 1.4 el8.x86_64 pigsty 20.0 KiB log_fdw_16-1.4-2PIGSTY.el8.x86_64.rpm
log_fdw_16 1.4 el8.x86_64 pigsty 19.3 KiB log_fdw_16-1.4-1PIGSTY.el8.x86_64.rpm
log_fdw_16 1.4 el8.aarch64 pigsty 20.1 KiB log_fdw_16-1.4-2PIGSTY.el8.aarch64.rpm
log_fdw_16 1.4 el8.aarch64 pigsty 19.2 KiB log_fdw_16-1.4-1PIGSTY.el8.aarch64.rpm
log_fdw_16 1.4 el9.x86_64 pigsty 20.2 KiB log_fdw_16-1.4-2PIGSTY.el9.x86_64.rpm
log_fdw_16 1.4 el9.x86_64 pigsty 19.6 KiB log_fdw_16-1.4-1PIGSTY.el9.x86_64.rpm
log_fdw_16 1.4 el9.aarch64 pigsty 20.2 KiB log_fdw_16-1.4-2PIGSTY.el9.aarch64.rpm
log_fdw_16 1.4 el9.aarch64 pigsty 19.4 KiB log_fdw_16-1.4-1PIGSTY.el9.aarch64.rpm
log_fdw_16 1.4 el10.x86_64 pigsty 20.3 KiB log_fdw_16-1.4-2PIGSTY.el10.x86_64.rpm
log_fdw_16 1.4 el10.x86_64 pigsty 19.8 KiB log_fdw_16-1.4-1PIGSTY.el10.x86_64.rpm
log_fdw_16 1.4 el10.aarch64 pigsty 20.3 KiB log_fdw_16-1.4-2PIGSTY.el10.aarch64.rpm
postgresql-16-log-fdw 1.4 d12.x86_64 pigsty 27.5 KiB postgresql-16-log-fdw_1.4-1PIGSTY~bookworm_amd64.deb
postgresql-16-log-fdw 1.4 d12.aarch64 pigsty 27.0 KiB postgresql-16-log-fdw_1.4-1PIGSTY~bookworm_arm64.deb
postgresql-16-log-fdw 1.4 d13.x86_64 pigsty 27.6 KiB postgresql-16-log-fdw_1.4-1PIGSTY~trixie_amd64.deb
postgresql-16-log-fdw 1.4 d13.aarch64 pigsty 27.1 KiB postgresql-16-log-fdw_1.4-1PIGSTY~trixie_arm64.deb
postgresql-16-log-fdw 1.4 u22.x86_64 pigsty 34.4 KiB postgresql-16-log-fdw_1.4-1PIGSTY~jammy_amd64.deb
postgresql-16-log-fdw 1.4 u22.aarch64 pigsty 34.1 KiB postgresql-16-log-fdw_1.4-1PIGSTY~jammy_arm64.deb
postgresql-16-log-fdw 1.4 u24.x86_64 pigsty 28.4 KiB postgresql-16-log-fdw_1.4-1PIGSTY~noble_amd64.deb
postgresql-16-log-fdw 1.4 u24.aarch64 pigsty 28.1 KiB postgresql-16-log-fdw_1.4-1PIGSTY~noble_arm64.deb
Package Version OS ORG SIZE File URL
log_fdw_15 1.4 el8.x86_64 pigsty 20.1 KiB log_fdw_15-1.4-2PIGSTY.el8.x86_64.rpm
log_fdw_15 1.4 el8.x86_64 pigsty 19.4 KiB log_fdw_15-1.4-1PIGSTY.el8.x86_64.rpm
log_fdw_15 1.4 el8.aarch64 pigsty 20.1 KiB log_fdw_15-1.4-2PIGSTY.el8.aarch64.rpm
log_fdw_15 1.4 el8.aarch64 pigsty 19.2 KiB log_fdw_15-1.4-1PIGSTY.el8.aarch64.rpm
log_fdw_15 1.4 el9.x86_64 pigsty 20.2 KiB log_fdw_15-1.4-2PIGSTY.el9.x86_64.rpm
log_fdw_15 1.4 el9.x86_64 pigsty 19.9 KiB log_fdw_15-1.4-1PIGSTY.el9.x86_64.rpm
log_fdw_15 1.4 el9.aarch64 pigsty 20.1 KiB log_fdw_15-1.4-2PIGSTY.el9.aarch64.rpm
log_fdw_15 1.4 el9.aarch64 pigsty 19.4 KiB log_fdw_15-1.4-1PIGSTY.el9.aarch64.rpm
log_fdw_15 1.4 el10.x86_64 pigsty 20.3 KiB log_fdw_15-1.4-2PIGSTY.el10.x86_64.rpm
log_fdw_15 1.4 el10.x86_64 pigsty 19.8 KiB log_fdw_15-1.4-1PIGSTY.el10.x86_64.rpm
log_fdw_15 1.4 el10.aarch64 pigsty 20.3 KiB log_fdw_15-1.4-2PIGSTY.el10.aarch64.rpm
postgresql-15-log-fdw 1.4 d12.x86_64 pigsty 27.6 KiB postgresql-15-log-fdw_1.4-1PIGSTY~bookworm_amd64.deb
postgresql-15-log-fdw 1.4 d12.aarch64 pigsty 27.1 KiB postgresql-15-log-fdw_1.4-1PIGSTY~bookworm_arm64.deb
postgresql-15-log-fdw 1.4 d13.x86_64 pigsty 27.6 KiB postgresql-15-log-fdw_1.4-1PIGSTY~trixie_amd64.deb
postgresql-15-log-fdw 1.4 d13.aarch64 pigsty 27.2 KiB postgresql-15-log-fdw_1.4-1PIGSTY~trixie_arm64.deb
postgresql-15-log-fdw 1.4 u22.x86_64 pigsty 34.2 KiB postgresql-15-log-fdw_1.4-1PIGSTY~jammy_amd64.deb
postgresql-15-log-fdw 1.4 u22.aarch64 pigsty 34.0 KiB postgresql-15-log-fdw_1.4-1PIGSTY~jammy_arm64.deb
postgresql-15-log-fdw 1.4 u24.x86_64 pigsty 28.5 KiB postgresql-15-log-fdw_1.4-1PIGSTY~noble_amd64.deb
postgresql-15-log-fdw 1.4 u24.aarch64 pigsty 28.2 KiB postgresql-15-log-fdw_1.4-1PIGSTY~noble_arm64.deb
Package Version OS ORG SIZE File URL
log_fdw_14 1.4 el8.x86_64 pigsty 20.1 KiB log_fdw_14-1.4-2PIGSTY.el8.x86_64.rpm
log_fdw_14 1.4 el8.x86_64 pigsty 19.4 KiB log_fdw_14-1.4-1PIGSTY.el8.x86_64.rpm
log_fdw_14 1.4 el8.aarch64 pigsty 20.1 KiB log_fdw_14-1.4-2PIGSTY.el8.aarch64.rpm
log_fdw_14 1.4 el8.aarch64 pigsty 19.2 KiB log_fdw_14-1.4-1PIGSTY.el8.aarch64.rpm
log_fdw_14 1.4 el9.x86_64 pigsty 20.2 KiB log_fdw_14-1.4-2PIGSTY.el9.x86_64.rpm
log_fdw_14 1.4 el9.x86_64 pigsty 19.7 KiB log_fdw_14-1.4-1PIGSTY.el9.x86_64.rpm
log_fdw_14 1.4 el9.aarch64 pigsty 20.1 KiB log_fdw_14-1.4-2PIGSTY.el9.aarch64.rpm
log_fdw_14 1.4 el9.aarch64 pigsty 19.4 KiB log_fdw_14-1.4-1PIGSTY.el9.aarch64.rpm
log_fdw_14 1.4 el10.x86_64 pigsty 20.3 KiB log_fdw_14-1.4-2PIGSTY.el10.x86_64.rpm
log_fdw_14 1.4 el10.x86_64 pigsty 19.8 KiB log_fdw_14-1.4-1PIGSTY.el10.x86_64.rpm
log_fdw_14 1.4 el10.aarch64 pigsty 20.3 KiB log_fdw_14-1.4-2PIGSTY.el10.aarch64.rpm
postgresql-14-log-fdw 1.4 d12.x86_64 pigsty 27.5 KiB postgresql-14-log-fdw_1.4-1PIGSTY~bookworm_amd64.deb
postgresql-14-log-fdw 1.4 d12.aarch64 pigsty 27.1 KiB postgresql-14-log-fdw_1.4-1PIGSTY~bookworm_arm64.deb
postgresql-14-log-fdw 1.4 d13.x86_64 pigsty 27.5 KiB postgresql-14-log-fdw_1.4-1PIGSTY~trixie_amd64.deb
postgresql-14-log-fdw 1.4 d13.aarch64 pigsty 27.1 KiB postgresql-14-log-fdw_1.4-1PIGSTY~trixie_arm64.deb
postgresql-14-log-fdw 1.4 u22.x86_64 pigsty 34.2 KiB postgresql-14-log-fdw_1.4-1PIGSTY~jammy_amd64.deb
postgresql-14-log-fdw 1.4 u22.aarch64 pigsty 34.0 KiB postgresql-14-log-fdw_1.4-1PIGSTY~jammy_arm64.deb
postgresql-14-log-fdw 1.4 u24.x86_64 pigsty 28.4 KiB postgresql-14-log-fdw_1.4-1PIGSTY~noble_amd64.deb
postgresql-14-log-fdw 1.4 u24.aarch64 pigsty 28.1 KiB postgresql-14-log-fdw_1.4-1PIGSTY~noble_arm64.deb

Source

pig build pkg log_fdw;		# build deb

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install log_fdw;		# install via package name, for the active PG version

pig install log_fdw -v 18;   # install for PG 18
pig install log_fdw -v 17;   # install for PG 17
pig install log_fdw -v 16;   # install for PG 16
pig install log_fdw -v 15;   # install for PG 15
pig install log_fdw -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION log_fdw;

Usage

log_fdw: Foreign data wrapper for Postgres log file access

Create Server

CREATE EXTENSION log_fdw;

CREATE SERVER log_fdw_server FOREIGN DATA WRAPPER log_fdw;

List Available Log Files

SELECT * FROM list_postgres_log_files();

Returns the file name and size of each log file in the PostgreSQL log directory.

Create Foreign Table for CSV Logs

SELECT * FROM create_foreign_table_for_log_file(
  'postgresql_2024_01_15_csv',   -- foreign table name
  'log_fdw_server',               -- server name
  'postgresql-2024-01-15.csv'     -- log file name
);

Create Foreign Table for Plain Text Logs

SELECT * FROM create_foreign_table_for_log_file(
  'postgresql_2024_01_15_log',
  'log_fdw_server',
  'postgresql-2024-01-15.log'
);

Query Log Data

-- Query CSV-format logs (structured columns)
SELECT log_time, error_severity, message
FROM postgresql_2024_01_15_csv
WHERE error_severity = 'ERROR'
ORDER BY log_time DESC
LIMIT 20;

-- Query plain text logs
SELECT * FROM postgresql_2024_01_15_log LIMIT 10;

Granting Access to Non-Superusers

Only superusers can create the extension, but access can be granted:

GRANT pg_monitor TO monitoring_user;
GRANT CREATE ON SCHEMA public TO monitoring_user;
GRANT USAGE ON FOREIGN SERVER log_fdw_server TO monitoring_user;

Functions Reference

Function Description
list_postgres_log_files() List available log files and their sizes
create_foreign_table_for_log_file(table_name, server_name, file_name) Create a foreign table from a log file
Last updated on