Skip to content
This repository has been archived by the owner on Aug 23, 2024. It is now read-only.

PostgreSQL DBI driver

License

Notifications You must be signed in to change notification settings

swt30/PostgreSQL.jl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PostgreSQL.jl

Build Status Coverage Status codecov.io

An interface to PostgreSQL from Julia. Uses libpq (the C PostgreSQL API) and obeys the DBI.jl protocol.

Maintenance Notice

I can no longer spend work time on this so this project is in maintenance mode (accepting PRs and attempting to resolve issues). New code on the dbapi branch (https://github.com/JuliaDB/DBAPI.jl) represents the most recent work, which I will continue if I am in a position to do so again.

Usage

using DBI
using PostgreSQL

conn = connect(Postgres, "localhost", "username", "password", "dbname", 5432)

stmt = prepare(conn, "SELECT 1::bigint, 2.0::double precision, 'foo'::character varying, " *
					 "'foo'::character(10);")
result = execute(stmt)
for row in result
	# code
end

finish(stmt)

disconnect(conn)

Block Syntax

using DBI
using PostgreSQL

connect(Postgres, "localhost", "username", "password", "dbname", 5432) do conn
	#code
end

Requirements

  • DBI.jl
  • DataFrames.jl >= v0.8.0
  • DataArrays.jl >= v0.3.4 for Julia 0.4, v0.3.8 for Julia 0.5
  • libpq shared library (comes with a standard PostgreSQL client installation)
  • Julia 0.4

Tests require a local PostgreSQL server with a postgres user/database (installed by default with PostgreSQL server installations) with trusted authentication from localhost.

Systems

  • Tested on Funtoo Linux and Windows 8
  • Should work on other systems provided libpq is avaiable (please file an issue if this is not the case)

TODO (soon)

  • Implement more default PostgreSQL type handling
  • Test type handling overrides
  • More comprehensive error handling and tests
  • Support for COPY

TODO (not soon)

  • Asynchronous connection support
  • Asynchronous Julia for handling asynchronous connections
  • Testing and compatibility with multiple versions of PostgreSQL and libpq

About

PostgreSQL DBI driver

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Julia 100.0%