Using custom Postgres driver
In certain circumstances, a custom PostgreSQL driver might be required to connect to the Postgres database designated for Datalore internal usage (for example, when RDS is used and requires IAM authentication).
The corresponding JAR file(s) should be placed in the /opt/datalore/tomcat/lib/ext
directory. You may either:
embed these files into the Datalore image (building the custom images based on
jetbrains/datalore-server:2025.2
override Datalore startup script located at
/opt/datalore/on_start.sh
, so these will be downloaded on each server pod startup.
Once drivers are uploaded, the database connection string should be altered to reference a new driver:
As a final step, the server pod should be restarted as described in this article, so the changes are applied.
Example: Overriding the startup script
Create a Kubernetes manifest defining a new file:
apiVersion: v1 kind: ConfigMap metadata: name: datalore-server-on-start data: on_start.sh: > #!/bin/bash set -e ( cd /opt/datalore/tomcat/lib/ext wget https://github.com/aws/aws-advanced-jdbc-wrapper/releases/download/2.5.4/aws-advanced-jdbc-wrapper-2.5.4.jar wget https://repo1.maven.org/maven2/software/amazon/awssdk/bundle/2.30.31/bundle-2.30.31.jar wget https://jdbc.postgresql.org/download/postgresql-42.7.5.jar )Apply the manifest to the Kubernetes cluster:
kubectl apply -f datalore-server-on-start.yamlAdjust the Datalore server deployment to mount the ConfigMap as a volume:
spec: containers: ... volumeMounts: - name: datalore-server-on-start mountPath: /opt/datalore/on_start.sh subPath: on_start.sh volumes: - name: datalore-server-on-start configMap: name: datalore-server-on-startRestart the Datalore server pod, as described in lifecycle management article.