Currently, it is not possible to use a PostgreSQL cluster that is based on the native client failover mechanism using target_session_attrs, which is implemented in libpq, because Kine is using lib/pq, which doesn't implement this feature.
Starting K3s with a PostgreSQL URL that contains the target_session_attrs parameter thus results in the following error:
As lib/pq is currently in maintenance mode, this feature probably won't happen there, and it would thus be required to replace lib/pq with a driver that supports the target_session_attrs feature, preferably one that is based on libpq itself. Alternatively, something like jackc/pgx could be used, which is also written in pure Go, just like lib/pq, in case that this is a requirement.
Would it be feasible to do this? I would offer my help, if you are ok with replacing the driver with something else.
Currently, it is not possible to use a PostgreSQL cluster that is based on the native client failover mechanism using
target_session_attrs
, which is implemented in libpq, because Kine is using lib/pq, which doesn't implement this feature.Starting K3s with a PostgreSQL URL that contains the
target_session_attrs
parameter thus results in the following error:As lib/pq is currently in maintenance mode, this feature probably won't happen there, and it would thus be required to replace lib/pq with a driver that supports the
target_session_attrs
feature, preferably one that is based on libpq itself. Alternatively, something like jackc/pgx could be used, which is also written in pure Go, just like lib/pq, in case that this is a requirement.Would it be feasible to do this? I would offer my help, if you are ok with replacing the driver with something else.