DBIx-PgLink

 view release on metacpan or  search on metacpan

Usage.html  view on Meta::CPAN

</li>
<dt><strong><a name="item_dbix_3a_3apglink_3a_3alocal_2f"><a href="../../../../../site/lib/DBIx/PgLink/Local.html">the DBIx::PgLink::Local manpage</a></a></strong>

<dd>
<p>Emulation of DBI for local PostgreSQL database.</p>
</dd>
</li>
</dl>
<p>Metadata and helper functions stored in PostgreSQL <em>dbix_pglink</em> schema.</p>
<p>
<a href="#__index__"><small>Back to Top</small></a>
</p>
<hr />
<h1><a name="connection_setup">CONNECTION SETUP</a></h1>
<p>
</p>
<h2><a name="main_connection_record">Main connection record</a></h2>
<ul>
<li>
<p>Ensure that DBD driver works properly.</p>
<p>Simple test perl script provided</p>
<pre>
  ./util/dbd_check.pl --dsn=&quot;dbi:...&quot; --user=... --password=...</pre>
<p>It is OK to fail some catalog information tests, 
if exists adapter for your database that cover that issues.
If not, you cannot use persistent accessor, but (probably) can use ad-hoc queries.</p>
</li>
<li>
<p>Login to PostgreSQL database as PostgreSQL superuser</p>
<p>Run <code>psql</code> or <code>pgAdmin</code> or another query tool of your choice.</p>
</li>
<li>
<p>Create main connection record:</p>
<p>SELECT <code>dbix_pglink.create_connection</code>(<em>conn_name</em>, <em>data_source</em>,
<em>adapter_class</em>, <em>logon_mode</em>, <em>use_libs</em>, <em>comment</em>);</p>
<p>or</p>
<p>SELECT <code>dbix_pglink.create_connection</code>(<em>conn_name</em>, <em>data_source</em>, <em>comment</em>)</p>
<p>where</p>
<dl>
<dt><strong><a name="item_conn_name"><em>conn_name</em> (TEXT, mandatory)</a></strong>

<dd>
<p>Connection name</p>
</dd>
</li>
<dt><strong><a name="item_data_source"><em>data_source</em> (TEXT, mandatory)</a></strong>

<dd>
<p>DBI connection string ('dbi:Driver:params...')</p>
</dd>
</li>
<dt><strong><a name="item_adapter_class"><em>adapter_class</em> (TEXT)</a></strong>

<dd>
<p>Perl module name for used database, guessed if not specified.</p>
</dd>
</li>
<dt><strong><a name="item_logon_mode"><em>logon_mode</em> (TEXT, mandatory)</a></strong>

<dd>
<p>Tells what credentials are used when no mapping exists
between local PostgreSQL login and remote user</p>
</dd>
<dl>
<dt><strong><a name="item__27empty_27">'empty'</a></strong>

<dd>
<p>Connect with empty user name and empty password</p>
</dd>
</li>
<dt><strong><a name="item__27current_27">'current'</a></strong>

<dd>
<p>Connect as session_user without password</p>
</dd>
</li>
<dt><strong><a name="item__27default_27">'default'</a></strong>

<dd>
<p>Connect as default user with default password (see below).</p>
</dd>
<dd>
<p>This is default value.</p>
</dd>
</li>
<dt><strong><a name="item__27deny_27">'deny'</a></strong>

<dd>
<p>Connection refused</p>
</dd>
</li>
</dl>
<dt><strong><a name="item_use_libs"><em>use_libs</em> (TEXT[])</a></strong>

<dd>
<p>List of directories, which will be appended to Perl library path (@INC global variable).
Useful when part of code resides out of default Perl locations (or PERL5LIB environment variable)
and restart of main PostgreSQL process is undesirable.</p>
</dd>
<dd>
<p>Main Connector class loaded *before* using this libs. 
Setting this attribute can affects only class or role loaded at runtime.</p>
</dd>
</li>
</dl>
<li>
<p>To modify connection update of <em>dbix_pglink.connections</em> table directly.</p>
</li>
<li>
<p>To delete connection:</p>
<p>SELECT <code>dbix_pglink.delete_connection</code>(<em>conn_name</em>)</p>
<p>All metadata and database objects will be deleted as well.</p>
</li>
</ul>
<p>Example:</p>
<pre>
  <span class="variable">SELECT</span> <span class="variable">dbix_pglink</span><span class="operator">.</span><span class="variable">create_connection</span><span class="operator">(</span>
    <span class="string">'NORTHWIND'</span><span class="operator">,</span>
    <span class="string">'dbi:ODBC:Northwind'</span><span class="operator">,</span>
    <span class="string">'Sample database'</span>
  <span class="operator">);</span>



( run in 3.053 seconds using v1.01-cache-2.11-cpan-437f7b0c052 )