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.