5-      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%2013 Kei Hibino, 2014 Shohei MurayamaBSD3shohei.murayama@gmail.com experimentalunknownNone/Configuration parameter against PostgreSQL v8.x%2013 Kei Hibino, 2014 Shohei MurayamaBSD3shohei.murayama@gmail.com experimentalunknownNone24      $2013 Kei Hibino, 2014 Sohei MurayamaBSD3shohei.murayama@gmail.com experimentalunknownNone24    %2013 Kei Hibino, 2014 Shohei MurayamaBSD3shohei.murayama@gmail.com experimentalunknownNone24  !"#$%&  !"#$%&&&%$#"!   !"#$%&%2013 Kei Hibino, 2014 Shohei MurayamaBSD3shohei.murayama@gmail.com experimentalunknownNone24,'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR+'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ.'()*+,-./0123456789:RRRQPONMLKJIHGFEDCBA@?>=<;'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR%2013 Kei Hibino, 2014 Shohei MurayamaBSD3shohei.murayama@gmail.com experimentalunknownNone24*STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|)STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{,STUVWXYZ[\]^_`abcde|||{zyxwvutsrqponmlkjihgfSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|%2013 Kei Hibino, 2014 Shohei MurayamaBSD3shohei.murayama@gmail.com experimentalunknownNone}%Type to represent Column information.4Mapping between type in PostgreSQL and Haskell type.~@Normalize column name string to query PostgreSQL system catalog.)Not-null attribute information of column.3Get column normalized name and column Haskell type.B to query PostgreSQL relation oid from schema name and table name.; to query column attribute from schema name and table name. to query }! from schema name and table name.Phantom typed  to get }! from schema name and table name.= to query primary key length from schema name and table name.Phantom typed ; to get primary key length from schema name and table name.8One column which is nth column of composite primary key.<Make composite primary key relation from primary key length.; to query primary key name from schema name and table name.Phantom typed 9 to get primary key name from schema name and table name.}~Type mapping specified by userColumn info in system catalog.Result normalized name and mapped Haskell type}~}~}~%2013 Kei Hibino, 2014 Shohei MurayamaBSD3shohei.murayama@gmail.com experimentalunknownNone6Driver implementation         !""#$%&'()*++,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~relational-postgresql8-0.1.0.0,Database.Relational.Schema.PgCatalog8.Config2Database.Relational.Schema.PgCatalog8.PgConstraint-Database.Relational.Schema.PgCatalog8.PgClass1Database.Relational.Schema.PgCatalog8.PgNamespace,Database.Relational.Schema.PgCatalog8.PgType1Database.Relational.Schema.PgCatalog8.PgAttribute&Database.Relational.Schema.PostgreSQL8 Database.HDBC.Schema.PostgreSQL8config PgConstraintcontypeconrelidcolumnOffsetsPgConstrainttableOfPgConstraint pgConstraintinsertPgConstraintinsertQueryPgConstraintcontype' conrelid'$fPersistableWidthPgConstraintPgClassoidrelname relnamespacecolumnOffsetsPgClasstableOfPgClasspgClass insertPgClassinsertQueryPgClassoid'relname' relnamespace'$fPersistableWidthPgClass PgNamespacenspnamecolumnOffsetsPgNamespacetableOfPgNamespace pgNamespaceinsertPgNamespaceinsertQueryPgNamespacenspname'$fPersistableWidthPgNamespacePgTypetypname typnamespacetypownertyplentypbyvaltyptype typisdefinedtypdelimtyprelidtypelemtypalign typstorage typnotnull typbasetype typtypmodtypndims typdefaultcolumnOffsetsPgType tableOfPgTypepgType insertPgTypeinsertQueryPgTypetypname' typnamespace' typowner'typlen' typbyval'typtype' typisdefined' typdelim' typrelid'typelem' typalign' typstorage' typnotnull' typbasetype' typtypmod' typndims' typdefault'$fPersistableWidthPgType PgAttributeattrelidattnameatttypid attstattargetattlenattnumattndims attcacheoff atttypmodattbyval attstorageattalign attnotnull atthasdef attisdropped attislocal attinhcountcolumnOffsetsPgAttributetableOfPgAttribute pgAttributeinsertPgAttributeinsertQueryPgAttribute attrelid'attname' atttypid'attstattarget'attlen'attnum' attndims' attcacheoff' atttypmod' attbyval' attstorage' attalign' attnotnull' atthasdef' attisdropped' attislocal' attinhcount'$fPersistableWidthPgAttributeColumnnormalizeColumnnotNullgetTypecolumnQuerySQLprimaryKeyLengthQuerySQLprimaryKeyQuerySQLdriverPostgreSQLmapFromSqlDefaultrelOidRelationrelational-query-0.3.0.3"Database.Relational.Query.RelationRelationattributeRelationcolumnRelationDatabase.Relational.Query.TypeQueryprimaryKeyLengthRelationconstraintColRelationconstraintColExpandRelationprimaryKeyRelationfromSqlOfPgAttributetoSqlOfPgAttribute$fFromSqlSqlValuePgAttributefromSqlOfPgType toSqlOfPgType logPrefixputLogcompileErrorIOgetPrimaryKey' getFields'$fFromSqlSqlValuePgType