NAME
Apache::Session::Browseable::Patroni - PostgreSQL/Patroni cluster support for Apache::Session::Browseable::PgJSON
SYNOPSIS
CREATE UNLOGGED TABLE sessions (
id varchar(64) not null primary key,
a_session jsonb,
);
Optionally, add indexes on some fields. Example for Lemonldap::NG:
CREATE INDEX uid1 ON sessions USING BTREE ( (a_session ->> '_whatToTrace') );
CREATE INDEX s1 ON sessions ( (a_session ->> '_session_kind') );
CREATE INDEX u1 ON sessions ( ( cast(a_session ->> '_utime' AS bigint) ) );
CREATE INDEX ip1 ON sessions USING BTREE ( (a_session ->> 'ipAddr') );
Use it with Perl:
use Apache::Session::Browseable::Postgres;
my $args = {
DataSource => 'dbi:Pg:sessions',
UserName => $db_user,
Password => $db_pass,
Commit => 1,
# List all Patroni API available (to avoid any haproxy and/or floating IP)
PatroniUrl => 'http://1.2.3.4:8008/cluster http://2.3.4.5:8008/cluster',
};
# Use it like L<Apache::Session::Browseable::Postgres>
DESCRIPTION
Apache::Session::Browseable provides some class methods to manipulate all sessions and add the capability to index some fields to make research faster.
Apache::Session::Browseable::Patroni implements it for PosqtgreSQL databases using "json" or "jsonb" type to be able to browse sessions and is able to dial directly with Patroni API to find the master node of PostgreSQL cluster in case of error.
SEE ALSO
http://lemonldap-ng.org, Apache::Session::Postgres
COPYRIGHT AND LICENSE
- 2009-2025 by Xavier Guimard
- 2013-2025 by Clément Oudot
- 2019-2025 by Maxime Besson
- 2013-2025 by Worteks
- 2023-2025 by Linagora
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.