RepositoryJulia
JuliaDatabases

JuliaDatabases/LibPQ.jl

A Julia wrapper for libpq

227stars
57forks
37issues
2views

🐘 LibPQ.jl — Wrapper Julia cho PostgreSQL libpq

Thuần wrapper, không phải ORM. Nói cách khác: không parse SQL, không emit SQL, không bọc transaction hay cursor — chỉ gọi libpq đúng như tài liệu PostgreSQL ghi.

LibPQ.jl là một gói Julia bao bọc thư viện C libpq chính thức của PostgreSQL. Dự án tự động cài đặt libpq qua BinaryBuilder.jl trên MacOS, GNU Linux và Windows, giúp người dùng Julia kết nối trực tiếp đến máy chủ PostgreSQL mà không cần phụ thuộc hệ thống bên ngoài.

✨ Điểm nổi bật

  • Kết nối đa dạng: hỗ trợ DSN và chuỗi kết nối PostgreSQL, với encoding UTF-8 mặc định
  • Truy vấn có/không tham số: tạo và thực thi query với hoặc không dùng parameter binding
  • Async queries: thực thi truy vấn bất đồng bộ, tận dụng khả năng concurrency của Julia
  • Stream kết quả qua Tables.jl: tích hợp sẵn với hệ sinh thái JuliaData để chuyển đổi kết quả truy vấn sang định dạng dễ xử lý
  • Chuyển đổi kiểu tự động: cấu hình được việc ánh xạ nhiều kiểu PostgreSQL sang kiểu Julia tương ứng
  • Prepared Statements: tạo và thực thi câu lệnh đã chuẩn bị, hỗ trợ truyền bảng tham số để tái sử dụng với dữ liệu khác nhau
  • Cài đặt tự động: BinaryBuilder.jl tự động build và cung cấp libpq cho 3 nền tảng chính

💡 Vì sao đáng chú ý

LibPQ.jl chọn cách tiếp cận "wrapper thuần" — không biến mình thành ORM hay thư viện database chuẩn. Dự án hướng tới việc bao bọc toàn bộ chức năng non-deprecated của libpq đúng theo tài liệu PostgreSQL, kể cả xử lý lỗi theo đúng spec. Điều này làm LibPQ.jl phù hợp cho những ai muốn truy cập PostgreSQL từ Julia ở mức thấp, kiểm soát chi tiết mà không bị che giấu bởi các abstraction dư thừa.

Gói này đã tích hợp sẵn với Tables.jl, cho phép pipeline dữ liệu từ query result sang các định dạng malleable trong hệ sinh thái Julia. Dự án mở rộng cho phép cộng đồng đóng góp type conversion cho các Oid còn thiếu, và welcome các PR có test cùng tài liệu.


#PostgreSQL #Julia #libpq #Database #OpenSource #TiniX

Similar Projects

Discover other similar projects and AI models.

RepositoryJulia
JuliaLang/julia

The Julia Programming Language

49.2k
Oct 28, 2026
RepositoryClojure
metabase/metabase

The easy-to-use open source Business Intelligence and Embedded Analytics tool that lets everyone work with data :bar_chart:

50.0k
Oct 30, 2026
RepositoryHaskell
PostgREST/postgrest

REST API for any Postgres database

27.7k
Oct 24, 2026
RepositoryRust
neondatabase/neon

Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, code-like database branching, and scale to zero.

23.3k
Aug 31, 2026
RepositoryTypeScript
julia-vscode/julia-vscode

Julia extension for Visual Studio Code

1.3k
Oct 25, 2026
RepositoryJulia
MakieOrg/Makie.jl

Interactive data visualizations and plotting in Julia

2.8k
Oct 29, 2026
RepositoryJulia
JuliaPlots/Plots.jl

Powerful convenience for Julia visualizations and data analysis

2.0k
Oct 29, 2026
RepositoryJulia
JuliaIO/JLD2.jl

HDF5-compatible file format in pure Julia

641
Oct 9, 2026
RepositoryJulia
julia-vscode/LanguageServer.jl

An implementation of the Microsoft Language Server Protocol for the Julia language.

417
Oct 5, 2026