PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

SQLAlchemy memverifikasi koneksi SSL

Saya tidak menggunakan postgres jadi semoga ini berlaku untuk Anda.

SQLAlchemy mengambil info yang Anda berikan di url dan meneruskannya ke pustaka dbapi yang mendasari yang juga ditentukan dalam url, dalam kasus Anda adalah psycopg2.

engine Anda instance hanya terhubung ke database saat dibutuhkan, dan sqlalchemy hanya meneruskan info koneksi ke driver yang ditentukan dalam url yang mengembalikan koneksi yang digunakan sqlalchemy.

Maafkan ini mysql, tetapi pada dasarnya sama untuk Anda:

>>> engine
Engine(mysql+mysqlconnector://test:***@localhost/test)
>>> conn = engine.connect()
>>> conn
<sqlalchemy.engine.base.Connection object at 0x000001614ACBE2B0>
>>> conn.connection
<sqlalchemy.pool._ConnectionFairy object at 0x000001614BF08630>
>>> conn.connection.connection
<mysql.connector.connection_cext.CMySQLConnection object at 0x000001614AB7E1D0>

Memanggil engine.connect() mengembalikan sqlalchemy.engine.base.Connection instance yang memiliki properti koneksi connection property yang menurut docstring:

Namun, Anda dapat melihat dari atas bahwa itu benar-benar mengembalikan sqlalchemy.pool._ConnectionFairy objek yang dari docstringnya:

Berikut adalah __init__() metode peri koneksi, dan seperti yang Anda lihat memiliki connection atribut yang merupakan koneksi dbapi sebenarnya.

def __init__(self, dbapi_connection, connection_record, echo):
    self.connection = dbapi_connection
    self._connection_record = connection_record
    self._echo = echo

Mengenai info apa yang tersedia di objek koneksi dbapi, itu tergantung pada implementasi driver tersebut. Misalnya objek koneksi psycopg2 memiliki info atribut:

info itu objek memiliki atribut seperti ssl_in_use :

Dan ssl_attribute :

Jadi Anda tidak perlu menggali terlalu dalam untuk mendapatkan koneksi db yang sebenarnya untuk melihat apa yang sebenarnya terjadi.

Juga, jika Anda ingin memastikan bahwa semua koneksi klien adalah ssl, Anda selalu dapat force them to .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penerapan &Konfigurasi PostgreSQL dengan Wayang

  2. tugas cron untuk menghapus data lama dari postgres di debian

  3. pgbackups format dump tidak valid:pulihkan bahkan dengan tautan unduhan Dropbox

  4. Mengonversi kueri SELECT DISTINCT ON dari Postgresql ke MySQL

  5. GROUP BY tanggal berturut-turut dibatasi oleh kesenjangan