FAQ
Hi Gophers,

Yet another PostgreSQL client: https://github.com/vmihailenco/pg . This is
not a driver for database/sql and therefore client supports (or will
support) PostgreSQL specific features.

Currently implemented:
- Arrays.
- Partially hstore.
- Transactions.
- Prepared statements.
- Notifications, LISTEN/NOTIFY.
- Timeouts. Client sends CancelRequest message on timeout.
- Connection pool.
- PostgreSQL to Go struct mapping.

It should be significantly faster than lib/pq, because it does not have to
deal with database/sql restrictions. Synthetic benchmark:

BenchmarkQueryRowStmt 10000 117048 ns/op
BenchmarkQueryRowStmtStdlibPq 10000 166451 ns/op

BenchmarkQueryRow 10000 128592 ns/op
BenchmarkQueryRowStdlibPq 5000 311622 ns/op

Client is used in production for a few months and can be considered stable.

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Search Discussions

  • Andy Bonventre at Nov 23, 2013 at 2:13 pm
    Looks great. Are you currently using this in production at Airbrake?

    On Sat, Nov 23, 2013 at 9:00 AM, Vladimir Mihailenco wrote:

    Hi Gophers,

    Yet another PostgreSQL client: https://github.com/vmihailenco/pg . This
    is not a driver for database/sql and therefore client supports (or will
    support) PostgreSQL specific features.

    Currently implemented:
    - Arrays.
    - Partially hstore.
    - Transactions.
    - Prepared statements.
    - Notifications, LISTEN/NOTIFY.
    - Timeouts. Client sends CancelRequest message on timeout.
    - Connection pool.
    - PostgreSQL to Go struct mapping.

    It should be significantly faster than lib/pq, because it does not have to
    deal with database/sql restrictions. Synthetic benchmark:

    BenchmarkQueryRowStmt 10000 117048 ns/op
    BenchmarkQueryRowStmtStdlibPq 10000 166451 ns/op

    BenchmarkQueryRow 10000 128592 ns/op
    BenchmarkQueryRowStdlibPq 5000 311622 ns/op

    Client is used in production for a few months and can be considered stable.

    --
    You received this message because you are subscribed to the Google Groups
    "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an
    email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Vladimir Mihailenco at Nov 23, 2013 at 5:36 pm
    @Andy, yes, it is in production for 2 months.

    On Sat, Nov 23, 2013 at 4:13 PM, Andy Bonventre wrote:

    Looks great. Are you currently using this in production at Airbrake?


    On Sat, Nov 23, 2013 at 9:00 AM, Vladimir Mihailenco <
    vladimir.webdev@gmail.com> wrote:
    Hi Gophers,

    Yet another PostgreSQL client: https://github.com/vmihailenco/pg . This
    is not a driver for database/sql and therefore client supports (or will
    support) PostgreSQL specific features.

    Currently implemented:
    - Arrays.
    - Partially hstore.
    - Transactions.
    - Prepared statements.
    - Notifications, LISTEN/NOTIFY.
    - Timeouts. Client sends CancelRequest message on timeout.
    - Connection pool.
    - PostgreSQL to Go struct mapping.

    It should be significantly faster than lib/pq, because it does not have
    to deal with database/sql restrictions. Synthetic benchmark:

    BenchmarkQueryRowStmt 10000 117048 ns/op
    BenchmarkQueryRowStmtStdlibPq 10000 166451 ns/op

    BenchmarkQueryRow 10000 128592 ns/op
    BenchmarkQueryRowStdlibPq 5000 311622 ns/op

    Client is used in production for a few months and can be considered
    stable.

    --
    You received this message because you are subscribed to the Google Groups
    "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an
    email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.
  • Peter Nguyen at Jan 21, 2014 at 11:00 pm
    Hi,

    are there struct tags to declare column name for each field in case you
    have to mix snake_case and camelCase?

    Den lördagen den 23:e november 2013 kl. 18:36:32 UTC+1 skrev Vladimir
    Mihailenco:
    @Andy, yes, it is in production for 2 months.


    On Sat, Nov 23, 2013 at 4:13 PM, Andy Bonventre <andy...@gmail.com<javascript:>
    wrote:
    Looks great. Are you currently using this in production at Airbrake?


    On Sat, Nov 23, 2013 at 9:00 AM, Vladimir Mihailenco <
    vladimi...@gmail.com <javascript:>> wrote:
    Hi Gophers,

    Yet another PostgreSQL client: https://github.com/vmihailenco/pg . This
    is not a driver for database/sql and therefore client supports (or will
    support) PostgreSQL specific features.

    Currently implemented:
    - Arrays.
    - Partially hstore.
    - Transactions.
    - Prepared statements.
    - Notifications, LISTEN/NOTIFY.
    - Timeouts. Client sends CancelRequest message on timeout.
    - Connection pool.
    - PostgreSQL to Go struct mapping.

    It should be significantly faster than lib/pq, because it does not have
    to deal with database/sql restrictions. Synthetic benchmark:

    BenchmarkQueryRowStmt 10000 117048 ns/op
    BenchmarkQueryRowStmtStdlibPq 10000 166451 ns/op

    BenchmarkQueryRow 10000 128592 ns/op
    BenchmarkQueryRowStdlibPq 5000 311622 ns/op

    Client is used in production for a few months and can be considered
    stable.

    --
    You received this message because you are subscribed to the Google
    Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send
    an email to golang-nuts...@googlegroups.com <javascript:>.
    For more options, visit https://groups.google.com/groups/opt_out.
    --
    You received this message because you are subscribed to the Google Groups "golang-nuts" group.
    To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
    For more options, visit https://groups.google.com/groups/opt_out.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupgolang-nuts @
categoriesgo
postedNov 23, '13 at 2:00p
activeJan 21, '14 at 11:00p
posts4
users3
websitegolang.org

People

Translate

site design / logo © 2022 Grokbase