Go-pg is a convenient PostgreSQL client and ORM for Golang with the
following features:
.
- Basic types: integers, floats, string, bool, time.Time.
sql.NullBool, sql.NullString, sql.NullInt64,
sql.NullFloat64 and pg.NullTime
- sql.Scanner and sql/driver.Valuer interfaces
- Structs, maps and arrays are marshalled as JSON by default
- PostgreSQL multidimensional Arrays using array tag and Array wrapper
- Hstore using hstore tag and Hstore wrapper
- All struct fields are nullable by default and zero values (empty string,
0, zero time) are marshalled as SQL NULL. ``sql:",notnull"` is used to
reverse this behaviour
- Transactions
- Prepared statements
- Notifications using LISTEN and NOTIFY
- Copying data using COPY FROM and COPY TO
- Timeouts
- Automatic connection pooling
- Queries retries on network errors
- Working with models using ORM and SQL
- Scanning variables using ORM and SQL
- SelectOrInsert using on-conflict
- INSERT ... ON CONFLICT DO UPDATE using ORM
- Common table expressions using WITH and WrapWith
- CountEstimate using EXPLAIN to get estimated number of matching rows
- HasOne, BelongsTo, HasMany and ManyToMany-
- Creating tables from structs
- Migrations
- Sharding
Installed Size: 421.9 kB
Architectures: all