The erd package

[Tags:program, public-domain]

erd transforms a plain text description of a relational database schema to a graphical representation of that schema. It is intended that the graph make use of common conventions when depicting entity-relationship diagrams, including modeling the cardinality of relationships between entities.

A quick example that transforms an er file to a PDF:

 $ curl '' >
 $ cat
 # Entities are declared in '[' ... ']'. All attributes after the entity header
 # up until the end of the file (or the next entity declaration) correspond
 # to this entity.


 # Each relationship must be between exactly two entities, which need not
 # be distinct. Each entity in the relationship has exactly one of four
 # possible cardinalities:
 # Cardinality    Syntax
 # 0 or 1         0
 # exactly 1      1
 # 0 or more      *
 # 1 or more      +
 Person *--1 Location
 $ erd -i -o simple.pdf

The PDF should now contain a graph that looks like this:

See the file for more examples and instructions on how to write ER files.


Dependencies base (==4.7.*), bytestring (==0.10.*), containers (==0.5.*), graphviz (==2999.*), parsec (==3.1.*), text (==1.*) [details]
License PublicDomain
Author Andrew Gallant
Category Database, Development
Home page
Source repository head: git clone git://
Uploaded Wed Aug 20 23:25:26 UTC 2014 by burntsushi
Distributions NixOS:
Downloads 1168 total (30 in the last 30 days)
0 []
Status Docs not available [build log]
Last success reported on 2015-05-19 [all 6 reports]


Maintainer's Corner

For package maintainers and hackage trustees