Sam Vilain


Tangram::Driver::Pg - Orthogonal Object Persistence in PostgreSQL databases


   use Tangram;
   use Tangram::Driver::Pg;

   $schema = Tangram::Driver::Pg->schema( $hashref );

   Tangram::Driver::Pg->deploy($schema, $dbh);

   $storage = Tangram::Driver::Pg->connect( $schema,
      $data_source, $username, $password );


   Tangram::Driver::Pg->retreat($schema, $dbh);


This is the entry point in the Pg-specific object-relational persistence backend.

This module performs the following:


This backend does not add any methods; for a description of available methods, see Tangram::Relational.


Tangram::Type::Dump::Storable objects are first encoded with MIME::Base64, because Tangram does not currently have an easy mechanism for calling DBI->bind_param() at the appropriate time to flag the column as binary.

Tangram::Type::Dump::Perl objects are stored as BYTEA columns, which as of DBD::Pg 1.31, also do not get correctly escaped by the DBD driver. This also affects the (as-yet not fully functional) Tangram::Type::Dump::YAML back-end, which might put \ characters into a YAML document.

It is recommended to use the storable type with Tangram::Type::Dump::Any for this reason.