A Go query builder library for PostgreSQL with a fluent API and comprehensive SQL feature support.
buildsqlx is a Go library that provides a fluent, chainable API for building SQL queries programmatically, specifically for PostgreSQL. It allows developers to construct complex database queries without writing raw SQL strings, reducing errors and improving code readability. The library supports a wide range of SQL operations including SELECTs, JOINs, transactions, and schema migrations.
Go developers working with PostgreSQL who want a lightweight, expressive query builder without the overhead of a full ORM. It's ideal for projects where raw SQL is cumbersome but full ORM features are unnecessary.
Developers choose buildsqlx for its simplicity, performance, and comprehensive PostgreSQL support. Its fluent API is familiar to users of popular web frameworks, and it avoids the complexity of larger ORMs while covering most everyday SQL needs.
Go database query builder library for PostgreSQL
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Chainable methods for SELECT, INSERT, UPDATE, and JOINs make complex query construction intuitive and reduce raw SQL errors, as shown in the README examples for WHERE clauses and transactions.
Supports advanced PostgreSQL features like JSONB, geometric types, and full-text search, allowing developers to leverage database-specific capabilities without manual SQL.
Dump and Dd methods enable easy inspection of generated SQL during development, helping quickly identify issues in query building.
Provides a structured way to create, modify, and drop tables and columns using closures, reducing manual SQL for schema changes.
Exclusively designed for PostgreSQL, making it unsuitable for projects that need to support multiple database systems or migrate away from PostgreSQL.
Lacks advanced ORM capabilities such as model relationships, lazy loading, or built-in caching, which can be essential for complex object-relational mapping.
Schema changes require custom closures and manual management, which can be more verbose and error-prone compared to declarative migration tools with versioning.