Skip to content
Snippets Groups Projects
  • Thomas G. Lockhart's avatar
    c05f29e8
    Augment the date/time examples in the User's Guide to reflect the newer · c05f29e8
    Thomas G. Lockhart authored
     capabilities of specifying time zones as intervals per SQL9x.
    Put refentrytitle contents on the same line as the tag.
     Otherwise, leading whitespace is propagated into the product, which
     (at least) messes up the ToC layout.
    Remove (some) docinfo tags containing dates. Best to omit if the dates
     are not accurate; maybe use CVS dates instead or leave them out.
    c05f29e8
    History
    Augment the date/time examples in the User's Guide to reflect the newer
    Thomas G. Lockhart authored
     capabilities of specifying time zones as intervals per SQL9x.
    Put refentrytitle contents on the same line as the tag.
     Otherwise, leading whitespace is propagated into the product, which
     (at least) messes up the ToC layout.
    Remove (some) docinfo tags containing dates. Best to omit if the dates
     are not accurate; maybe use CVS dates instead or leave them out.
createlang.sgml 6.16 KiB
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.24 2002/04/21 19:02:39 thomas Exp $
PostgreSQL documentation
-->

<refentry id="APP-CREATELANG">
 <refmeta>
  <refentrytitle id="APP-CREATELANG-TITLE"><application>createlang</application></refentrytitle>
  <manvolnum>1</manvolnum>
  <refmiscinfo>Application</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname id="createlang">createlang</refname>
  <refpurpose>define a new <productname>PostgreSQL</productname> procedural language</refpurpose>
 </refnamediv>

 <refsynopsisdiv>
  <cmdsynopsis>
   <command>createlang</command>
   <arg rep="repeat"><replaceable>connection-options</replaceable></arg>
   <arg choice="plain"><replaceable>langname</replaceable></arg>
   <arg><replaceable>dbname</replaceable></arg>
   <sbr>
   <command>createlang</command>
   <arg rep="repeat"><replaceable>connection-options</replaceable></arg>
   <group choice="plain"><arg>--list</arg><arg>-l</arg></group>
   <arg choice="plain"><replaceable>dbname</replaceable></arg>
  </cmdsynopsis>

  <refsect2 id="R2-APP-CREATELANG-1">
   <title>
    Inputs
   </title>
   <para>
    <application>createlang</application> accepts the following command line arguments:
    
    <variablelist>
     <varlistentry>
      <term><replaceable class="parameter">langname</replaceable></term>
      <listitem>
       <para>
	Specifies the name of the procedural programming language to be
	defined.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-d, --dbname <replaceable class="parameter">dbname</replaceable></term>
      <listitem>
       <para>
	Specifies to which database the language should be added.
        The default is to use the database with the same name as the
        current system user.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-e, --echo</term>
      <listitem>
       <para>
        Displays SQL commands as they are executed.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-l, --list</term>
      <listitem>
       <para>
        Shows a list of already installed languages in the target database
        (which must be specified).
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>--L <replaceable class="parameter">directory</replaceable></term>
      <listitem>
       <para>
	Specifies the directory in which the language interpreter is
        to be found.  The directory is normally found automatically; this
        option is primarily for debugging purposes.
       </para>
      </listitem>
     </varlistentry>

    </variablelist>
   </para>

   <para>
    <application>createlang</application> also accepts 
    the following command line arguments for connection parameters:
    
    <variablelist>
     <varlistentry>
      <term>-h, --host <replaceable class="parameter">host</replaceable></term>
      <listitem>
       <para>
	Specifies the host name of the machine on which the 
	server
	is running.  If host begins with a slash, it is used 
	as the directory for the Unix domain socket.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-p, --port <replaceable class="parameter">port</replaceable></term>
      <listitem>
       <para>
	Specifies the Internet TCP/IP port or local Unix domain socket file 
	extension on which the server
	is listening for connections.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-U, --username <replaceable class="parameter">username</replaceable></term>
      <listitem>
       <para>
        User name to connect as
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-W, --password</term>
      <listitem>
       <para>
        Force password prompt.
       </para>
      </listitem>
     </varlistentry>

    </variablelist>
   </para>
  </refsect2>

  <refsect2 id="R2-APP-CREATELANG-2">
   <title>
    Outputs
   </title>
   <para>
    Most error messages are self-explanatory. If not, run
    <application>createlang</application> with the <option>--echo</option>
    option and see under the respective <acronym>SQL</acronym> command
    for details. Check also under <xref linkend="APP-PSQL">
    for more possibilities.
   </para>
  </refsect2>
 </refsynopsisdiv>
 
 <refsect1 id="R1-APP-CREATELANG-1">
  <title>
   Description
  </title>

  <para>
   <application>createlang</application> is a utility for adding a new 
   programming language to a <productname>PostgreSQL</productname> database.
   <application>createlang</application> can handle all the languages
   supplied in the default <productname>PostgreSQL</> distribution, but
   not languages provided by other parties.
  </para>
  <para>
   Although backend programming languages can be added directly using
   several <acronym>SQL</acronym> commands, it is recommended to use
   <application>createlang</application> because it performs a number
   of checks and is much easier to use. See
   <xref linkend="sql-createlanguage" endterm="sql-createlanguage-title">
   for more.
  </para>
 </refsect1>

 <refsect1 id="R1-APP-CREATELANG-2">
  <title>
   Notes
  </title>
  <para>
   Use <xref linkend="app-droplang"> to remove a language.
  </para>

  <para>
   <application>createlang</application> is a shell script that invokes
   <application>psql</application> several times.  If you have things
   arranged so that a password prompt is required to connect, you will be
   prompted for a password several times.
  </para>
 </refsect1>
 
 <refsect1 id="R1-APP-CREATELANG-3">
  <title>Usage</title>

  <informalexample>
   <para>
    To install <literal>pltcl</literal> into the database
    <literal>template1</literal>:
<screen>
<prompt>$ </prompt><userinput>createlang pltcl template1</userinput>
</screen>
   </para>
  </informalexample>
 </refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:nil
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../reference.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:"/usr/lib/sgml/catalog"
sgml-local-ecat-files:nil
End:
-->