sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan forbindes med PostgreSQL-databasen over SSL?

url=jdbc:postgresql://<host_url_or_ip>:<port>/<db_name>?currentSchema=<schema_name>&sslmode=verify-ca&sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory

Bemærk:hvis schema_name er public , det er ikke påkrævet. Men selv om porten er standard, dvs. 5432, skal du angive den.

For sslmode-værdier ref:https://jdbc.postgresql.org/documentation/ head/ssl-client.html sæt sslfactory=org.postgresql.ssl.DefaultJavaSSLFactory for at aktivere validering.

Til ikke-validerende ssl-forbindelse kan du bruge sslfactory=org.postgresql.ssl.NonValidatingFactory

Men husk, når du aktiverer SSL-validering, kan det kræve et rod-CA-certifikat.

Du har forskellige muligheder som følger (måske ikke være udtømmende. men disse fungerede for mig.)

  1. Du kan placere den på dens standardplads, dvs. ~/Postgres/root.crt ELLER
  2. Indstil PGSSLROOTCERT env variabel til dens sti ELLER
  3. importér til en truststore, og send dens sti som:-Djavax.net.ssl.trustStore=[trust_store_path] -Djavax.net.ssl.trustStorePassword=[trust_store_password] . Hvis du bruger standard truststore, dvs. JRE's cacerts disse to env-variabler er ikke nødvendige.

Ref:

https://jdbc.postgresql.org/documentation/head/ssl-client .html

https://www.postgresql.org/docs/9.0/libpq-ssl .html



  1. Oprettelse af en triggere

  2. Oracle.DataAccess mismatch fejl

  3. Sådan returneres et inkrementelt gruppenummer pr. gruppe i SQL

  4. Få antallet af rækker efter GROUP BY