#lang racket/base
(require racket/contract
"base.rkt"
"private/postgresql/main.rkt")
(provide/contract
[postgresql-connect
(->* (#:user string?
#:database string?)
(#:password (or/c string? false/c)
#:server (or/c string? false/c)
#:port (or/c exact-positive-integer? false/c)
#:socket (or/c path-string? false/c)
#:allow-cleartext-password? boolean?
#:ssl (symbols 'yes 'no 'optional)
#:ssl-encrypt (symbols 'sslv2 'sslv3 'sslv2-or-v3)
#:notice-handler (or/c 'output 'error output-port? procedure?)
#:notification-handler (or/c 'output 'error output-port? procedure?))
any/c)]
[postgresql-guess-socket-path
(-> path-string?)])