Softwaredam can provide a ready-to-use managed PostgreSQL. A managed postgres means that installation, uptime, backup, and recovery of the database is managed.
Our postgres solution exists out of the following components.
kubectl get secretsThe secret in your namespace contains all the necessary information in order for your application to access the database. It is a CNPG compatible secret, and contains host, port, dbname, username, password, and jdbc-uri.
#Pod example snippet.
...
spec:
containers:
- name: my-app
image: gitlab.com/myorg/my-app:v234
envFrom:
- secretRef:
name: <provided-secret-by-softwaredam>
...
env:
- name: DB_HOST
secretKeyRef:
name: <provided-secret-by-softwaredam>
key: host # existing key in provided secret
- name: DB_PORT
secretKeyRef:
name: <provided-secret-by-softwaredam>
key: port
- name: DB_USER
valueFrom:
secretKeyRef:
name: <provided-secret-by-softwaredam>
key: username
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: <provided-secret-by-softwaredam>
key: password
- name: DB_NAME
valueFrom:
secretKeyRef:
name: <provided-secret-by-softwaredam>
key: dbname
The requested database will be automatically backed up by Softwaredam tooling if backup frequency and retention period is chosen.
Request a backup restore in case of emergency. Provide the following information:
Restoring backups are not automated for the customers themselves at the moment.
Caution: You data will definitly be lost, if you don't know what you are doing!
It is not recommended to manually access the database, but in times of need you can deploy a pod which has access to the database.
# Attention!
# You should know what you are doing before deploying or using this pod.
# This pod can be mounted on a postgres secret which is useful for debugging purposes.
apiVersion: v1
kind: Pod
metadata:
name: dangerous-ad-hoc-psql
spec:
containers:
- name: psql
image: postgres:18.3
resources: {}
envFrom:
- secretRef:
name: <secret-name-with-postgres-refs>
command: [ "sleep", "infinity" ]
kubectl exec -it dangerous-ad-hoc-psql -- bashpsql. Examples with psql:# psql -h localhost
# \list
# \c db
# \dt