DBIx-PgLink

 view release on metacpan or  search on metacpan

Usage.html  view on Meta::CPAN

<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>
</pre>
<pre>
  or</pre>
<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">'DBIx::PgLink::Adapter::MSSQL'</span><span class="operator">,</span>
    <span class="string">'empty'</span><span class="operator">,</span>           <span class="operator">--</span><span class="keyword">use</span> <span class="variable">integrated</span> <span class="variable">security</span>
    <span class="keyword">NULL</span><span class="operator">,</span>
    <span class="string">'Sample database'</span>  <span class="operator">--</span><span class="variable">comment</span>
  <span class="operator">);</span>
</pre>
<p>
</p>
<h2><a name="mapping_between_local_and_remote_user">Mapping between local and remote user</a></h2>
<p>SELECT <code>dbix_pglink.set_user</code>(<em>conn_name</em>, <em>local_user</em>, <em>remote_user</em>, <em>remote_password</em>);</p>
<p>SELECT <code>dbix_pglink.delete_user</code>(<em>conn_name</em>, <em>local_user</em>);</p>
<p>This is optional when</p>
<pre>
  - no authentication required (desktop database like DBF, SQLite)</pre>
<pre>
  - OS-level authentication of 'postgres' account on remote server
    (MSSQL with integrated security mode, PostgreSQL with sspi)</pre>
<p>There can be special &lt;default&gt; user entry for each connection, where <em>local_user</em> = '' (empty string).</p>
<p><strong>WARNING: Password stored as plain text</strong></p>
<p>
</p>
<h2><a name="roles">Roles</a></h2>
<p>Roles requires disconnect from remote database to apply.</p>
<p>SELECT <code>dbix_pglink.set_conn_role</code>(<em>conn_name</em>, <em>local_user</em>, <em>role_kind</em>, <em>role_name</em>, <em>position</em>, <em>replace</em>);</p>
<p>SELECT <code>dbix_pglink.delete_conn_role</code>(<em>conn_name</em>, <em>local_user</em>, <em>role_kind</em>, <em>role_name</em>);</p>
<p>where</p>
<dl>
<dt><strong><a name="item_role_kind"><em>role_kind</em> (TEXT)</a></strong>

<dd>
<p>To which object role will be applied, 'Adapter' or 'Connector'</p>
</dd>
</li>
<dt><strong><a name="item_local_user"><em>local_user</em> (TEXT)</a></strong>

<dd>
<p>PostgreSQL user name or '' (empty string) for global.</p>
</dd>
</li>
<dt><strong><a name="item_role_name"><em>role_name</em> (TEXT)</a></strong>

<dd>
<p>Perl class name.</p>
</dd>
<dd>
<p>Can be full name like 'DBIx::PgLink::Adapter::Roles::InitSession' or just 'InitSession'.</p>
</dd>
<dd>
<p>See directory lib/DBIx/PgLink/Roles.</p>
</dd>
</li>
<dt><strong><a name="item_position"><em>position</em> (INTEGER)</a></strong>

<dd>
<p>For some roles loading order can matter. Use NULL to append role to end of list.</p>
</dd>
</li>
<dt><strong><a name="item_replace"><em>replace</em> (BOOLEAN)</a></strong>

<dd>
<p>If true replace role in specified <em>position</em>. If false insert role in <em>position</em> and shift list down.</p>
</dd>
</li>
</dl>
<p>
</p>
<h2><a name="attributes">Attributes</a></h2>
<p>There is <em>DBI</em> database handle attibutes (with name in CamelCase) 
and Adapter object attributes (with name in lower case). 
Some roles may add extra Adapter attributes.</p>
<p>SELECT <code>dbix_pglink.set_conn_attr</code>(<em>conn_name</em>, <em>local_user</em>, <em>name</em>, <em>value</em>);</p>
<p>SELECT <code>dbix_pglink.delete_conn_attr</code>(<em>conn_name</em>, <em>local_user</em>, <em>name</em>);</p>
<p>See description of DBI attributes in <em>DBI/ATTRIBUTES COMMON TO ALL HANDLES</em>:</p>
<p>



( run in 1.246 second using v1.01-cache-2.11-cpan-c966e8aa7e8 )