Pure Pony Postgres driver
Postgres is an alpha-level package.
We welcome users who are willing to experience errors and possible application shutdowns. Your feedback on API usage and in reporting bugs is greatly appreciated.
Please note that if this library encounters a state that the programmers thought was impossible to hit, it will exit the program immediately with informational messages. Normal errors are handled in standard Pony fashion.
- Install corral
corral add github.com/ponylang/postgres.git --version 0.1.0
corral fetch
to fetch your dependenciesuse "postgres"
to include this packagecorral run -- ponyc
to compile your application
https://ponylang.github.io/postgres
This library aims to support the Postgres API to the level required to use Postgres from Pony in ways that the Pony community needs. We do not aim to support the entire API surface. If there is functionality missing, we will happily accept high-quality pull requests to add additional support so long as they don't come with additional external dependencies or overly burdensome maintenance.
Only MD5 password authentication is supported. KerberosV5, cleartext, SCM, GSS, SSPI, and SASL authentication methods are not supported.
Basic API commands related to querying are supported at this time. Some functionality that isn't yet supported is:
- Supplying connection configuration to the server
- Prepared statements (aka Extended Queries)
- Pipelining queries
- Function calls
- COPY operations
- Cancelling in progress requests
- Session encryption
Note the appearance of an item on the above list isn't a guarantee that it will be supported in the future.
The following data types are fully supported and will be converted from their postgres type to the corresponding Pony type. All other data types will be presented as String
.
bool
=>Bool
int2
=>I16
int4
=>I32
int8
=>I64
float4
=>F32
float8
=>F64
As String
is our default type, all character types such as text
are returned to the user as String
and as such, aren't listed in our supported types.