Trình kết nối "PostgreSQL Python" cho phép các chương trình Python truy cập cơ sở dữ liệu PostgreSQL, trình kết nối sử dụng API tuân thủ Đặc tả API cơ sở dữ liệu Python
Có một số trình điều khiển Python cho PostgreSQL. Dưới đây là danh sách các trình điều khiển
ConnectorLicensePlatformsPhiên bản PythonPsycopgLGPLUnix, Win322. 4-3. 2PyGreSQLBSDUnix, Win322. 3-2. 6ocpgdbBSDUnix2. 3-2. 6py-postgresqlBSDany (Python thuần túy)3. 0+bpgsqlLGPLany (Python thuần túy)2. 3-2. 6pg8000BSDany (Trăn thuần)2. 5+ / 3. 0+
Psycopg là bộ điều hợp PostgreSQL phổ biến nhất cho ngôn ngữ lập trình Python. Về cốt lõi, nó triển khai đầy đủ Python DB API 2. 0 thông số kỹ thuật. Một số tiện ích mở rộng cho phép truy cập vào nhiều tính năng do PostgreSQL cung cấp
Psycopg được phát hành theo các điều khoản của GNU Lesser General Public License, cho phép sử dụng cả phần mềm miễn phí và phần mềm độc quyền
Các tính năng của Psycopg.
Psycopg chủ yếu được viết bằng C và bao bọc thư viện libpq với kết quả vừa nhanh vừa an toàn.
- Hỗ trợ các phiên bản Python từ 2. 5 đến 3. 4
- Hỗ trợ các phiên bản PostgreSQL từ 7. 4 đến 9. 4
- Việc triển khai tuân thủ đầy đủ đặc tả API Python DB cho bộ điều hợp cơ sở dữ liệu
- chủ đề an toàn. các luồng có thể sử dụng các kết nối khác nhau hoặc chia sẻ cùng một kết nối
- I/O không chặn không đồng bộ cũng được tích hợp với các thư viện dựa trên quy trình
- Thích ứng nhiều đối tượng Python với loại cơ sở dữ liệu. bộ dữ liệu thành bản ghi, danh sách thành mảng, từ điển thành hstore, hỗ trợ JSON linh hoạt
- Có thể mở rộng với các bộ điều hợp mới để chuyển đổi các đối tượng Python thành cú pháp SQL và nhập casters để chuyển đổi các loại PostgreSQL trở lại thành các đối tượng Python
- Con trỏ phía máy chủ
- hỗ trợ SAO CHÉP
- Hỗ trợ đối tượng lớn
- Có thể gửi và nhận thông báo không đồng bộ
- Hỗ trợ cho cam kết hai giai đoạn
Tải xuống và cài đặt
Trình kết nối python chạy trên mọi nền tảng đã cài đặt Python. Python được cài đặt sẵn trên nhiều hệ thống phân phối Linux hoặc giống Unix, chẳng hạn như Mac OS X và FreeBSD
API PostgreSQL cho Python cho phép người dùng tương tác với cơ sở dữ liệu PostgreSQL bằng mô-đun psycopg2. Trong bài viết này, chúng ta sẽ xem xét quá trình kết nối với cơ sở dữ liệu PostgreSQL bằng Python
điều kiện tiên quyết
Trước tiên, chúng ta sẽ cần cài đặt mô-đun psycopg2 bằng lệnh bên dưới trong dấu nhắc lệnh
pip install psycopg2Tạo cơ sở dữ liệu
Với mục đích ví dụ, chúng tôi sẽ cần một cơ sở dữ liệu mẫu. Để tạo như vậy, hãy làm theo các bước dưới đây
- Trước tiên hãy mở một công cụ máy khách PostgreSQL như pgadmin4 hoặc psql
- Đăng nhập lần thứ hai vào cơ sở dữ liệu bằng thông tin đăng nhập của bạn
- Cuối cùng, sử dụng lệnh dưới đây để tạo cơ sở dữ liệu (giả sử, Trường học)
Kết nối với cơ sở dữ liệu
Để kết nối với cơ sở dữ liệu đã tạo ở trên (tức là trường học), chúng ta sử dụng hàm connect(). Hàm connect() được sử dụng để tạo một phiên cơ sở dữ liệu mới và nó trả về một thể hiện của lớp kết nối mới
Để làm như vậy, sử dụng cú pháp dưới đây
Syntax: conn = psycopg2.connect("dbname=suppliers user=postgres password=postgres")Để thuận tiện khi sử dụng, bạn có thể sử dụng phương pháp dưới đây
1. Đầu tiên tạo cơ sở dữ liệu. ini với thông tin đăng nhập như hình bên dưới
[postgresql] host=localhost database=school user=postgres password=5555Bây giờ, hàm config() sau đọc cơ sở dữ liệu. ini và trả về các tham số kết nối. Chức năng config() tương tự được thêm vào trong cấu hình. tập tin py
Python3
[postgresql] host=localhost database=school user=postgres password=5555 9
CREATE DATABASE school; 0 CREATE DATABASE school; 1CREATE DATABASE school; 2 CREATE DATABASE school; 3
CREATE DATABASE school; 4
CREATE DATABASE school; 4
CREATE DATABASE school; 1 CREATE DATABASE school; 2CREATE DATABASE school; 3_______14CREATE DATABASE school; 5CREATE DATABASE school; 3CREATE DATABASE school; 7CREATE DATABASE school; 8
CREATE DATABASE school; 9Syntax: conn = psycopg2.connect("dbname=suppliers user=postgres password=postgres") 0
CREATE DATABASE school; 9Syntax: conn = psycopg2.connect("dbname=suppliers user=postgres password=postgres") 2____13 Syntax: conn = psycopg2.connect("dbname=suppliers user=postgres password=postgres") 4
CREATE DATABASE school; 9Syntax: conn = psycopg2.connect("dbname=suppliers user=postgres password=postgres") 6
CREATE DATABASE school; 9Syntax: conn = psycopg2.connect("dbname=suppliers user=postgres password=postgres") 8
CREATE DATABASE school; 4
CREATE DATABASE school; 9[postgresql] host=localhost database=school user=postgres password=5555 1
CREATE DATABASE school; 9[postgresql] host=localhost database=school user=postgres password=5555 3CREATE DATABASE school; 3 [postgresql] host=localhost database=school user=postgres password=5555 5
CREATE DATABASE school; 9[postgresql] host=localhost database=school user=postgres password=5555 7 [postgresql] host=localhost database=school user=postgres password=5555 8
[postgresql] host=localhost database=school user=postgres password=5555 9[postgresql] host=localhost database=school user=postgres password=5555 90CREATE DATABASE school; 3 [postgresql] host=localhost database=school user=postgres password=5555 92
[postgresql] host=localhost database=school user=postgres password=5555 9[postgresql] host=localhost database=school user=postgres password=5555 94 [postgresql] host=localhost database=school user=postgres password=5555 95[postgresql] host=localhost database=school user=postgres password=5555 96 [postgresql] host=localhost database=school user=postgres password=5555 97
[postgresql] host=localhost database=school user=postgres password=5555 98[postgresql] host=localhost database=school user=postgres password=5555 99CREATE DATABASE school; 00CREATE DATABASE school; 01CREATE DATABASE school; 3 CREATE DATABASE school; 03____404CREATE DATABASE school; 05
_______19____407____408
[postgresql] host=localhost database=school user=postgres password=5555 9CREATE DATABASE school; 10 CREATE DATABASE school; 11CREATE DATABASE school; 12CREATE DATABASE school; 13CREATE DATABASE school; 14CREATE DATABASE school; 15
CREATE DATABASE school; 4
CREATE DATABASE school; 9CREATE DATABASE school; 18 [postgresql] host=localhost database=school user=postgres password=5555 3
Ví dụ
Hàm connect() sau kết nối với cơ sở dữ liệu trường học mà chúng ta đã tạo trước đó và trả về phiên bản cơ sở dữ liệu PostgreSQL