head	1.46;
access;
symbols
	REL9_0_0:1.46
	REL9_1_ALPHA1:1.46
	REL9_0_RC1:1.46
	REL9_0_BETA4:1.46
	REL9_0_STABLE:1.46.0.2
	REL9_0_BETA3:1.46
	REL9_0_BETA2:1.46
	REL7_4_29:1.32
	REL8_0_25:1.33
	REL8_1_21:1.37
	REL8_2_17:1.38.2.3
	REL8_3_11:1.42
	REL8_4_4:1.43
	REL9_0_BETA1:1.46
	REL9_0_ALPHA5_BRANCH:1.45.0.4
	REL9_0_ALPHA5:1.45
	REL7_4_28:1.32
	REL8_0_24:1.33
	REL8_1_20:1.37
	REL8_2_16:1.38.2.3
	REL8_3_10:1.42
	REL8_4_3:1.43
	REL9_0_ALPHA4:1.45
	REL9_0_ALPHA4_BRANCH:1.45.0.2
	REL8_5_ALPHA3:1.43
	REL8_5_ALPHA3_BRANCH:1.43.0.8
	REL7_4_27:1.32
	REL8_0_23:1.33
	REL8_1_19:1.37
	REL8_2_15:1.38.2.3
	REL8_3_9:1.42
	REL8_4_2:1.43
	REL8_5_ALPHA2:1.43
	REL8_5_ALPHA2_BRANCH:1.43.0.6
	REL7_4_26:1.32
	REL8_0_22:1.33
	REL8_1_18:1.37
	REL8_2_14:1.38.2.3
	REL8_3_8:1.42
	REL8_4_1:1.43
	REL8_5_ALPHA1:1.43
	REL8_5_ALPHA1_BRANCH:1.43.0.4
	REL8_4_STABLE:1.43.0.2
	REL8_4_0:1.43
	REL8_4_RC2:1.43
	REL8_4_RC1:1.43
	REL8_4_BETA2:1.43
	REL8_4_BETA1:1.43
	REL7_4_25:1.32
	REL8_0_21:1.33
	REL8_1_17:1.37
	REL8_2_13:1.38.2.3
	REL8_3_7:1.42
	REL7_4_24:1.32
	REL8_0_20:1.33
	REL8_1_16:1.37
	REL8_2_12:1.38.2.3
	REL8_3_6:1.42
	REL7_4_23:1.32
	REL8_0_19:1.33
	REL8_1_15:1.37
	REL8_2_11:1.38.2.3
	REL8_3_5:1.42
	REL7_4_22:1.32
	REL8_0_18:1.33
	REL8_1_14:1.37
	REL8_2_10:1.38.2.3
	REL8_3_4:1.42
	REL7_4_21:1.32
	REL8_0_17:1.33
	REL8_1_13:1.37
	REL8_2_9:1.38.2.3
	REL8_3_3:1.42
	REL7_4_20:1.32
	REL8_0_16:1.33
	REL8_1_12:1.37
	REL8_2_8:1.38.2.3
	REL8_3_2:1.42
	REL8_2_7:1.38.2.3
	REL8_3_1:1.42
	REL8_3_STABLE:1.42.0.2
	REL8_3_0:1.42
	REL8_3_RC2:1.42
	REL7_3_21:1.28
	REL7_4_19:1.32
	REL8_0_15:1.33
	REL8_1_11:1.37
	REL8_2_6:1.38.2.3
	REL8_3_RC1:1.42
	REL8_3_BETA4:1.41
	REL8_3_BETA3:1.41
	REL8_3_BETA2:1.41
	REL8_3_BETA1:1.41
	REL7_3_20:1.28
	REL7_4_18:1.32
	REL8_0_14:1.33
	REL8_1_10:1.37
	REL8_2_5:1.38.2.3
	REL7_3_19:1.28
	REL7_4_17:1.32
	REL8_0_13:1.33
	REL8_1_9:1.37
	REL8_2_4:1.38.2.2
	REL8_0_12:1.33
	REL8_1_8:1.37
	REL8_2_3:1.38
	REL7_3_18:1.28
	REL7_4_16:1.32
	REL8_0_11:1.33
	REL8_1_7:1.37
	REL8_2_2:1.38
	REL8_0_10:1.33
	REL8_1_6:1.37
	REL8_2_1:1.38
	REL7_4_15:1.32
	REL7_3_17:1.28
	REL8_2_STABLE:1.38.0.2
	REL8_2_0:1.38
	REL8_2_RC1:1.38
	REL8_2_BETA3:1.38
	REL8_2_BETA2:1.38
	REL8_1_5:1.37
	REL8_0_9:1.33
	REL7_4_14:1.32
	REL7_3_16:1.28
	REL8_2_BETA1:1.38
	REL7_3_15:1.28
	REL7_4_13:1.32
	REL8_0_8:1.33
	REL8_1_4:1.37
	REL7_3_14:1.28
	REL7_4_12:1.32
	REL8_0_7:1.33
	REL8_1_3:1.37
	REL7_3_13:1.28
	REL7_4_11:1.32
	REL8_0_6:1.33
	REL8_1_2:1.37
	REL7_3_12:1.28
	REL7_4_10:1.32
	REL8_0_5:1.33
	REL8_1_1:1.37
	REL8_1_STABLE:1.37.0.2
	REL8_1_0:1.37
	REL8_1_0RC1:1.37
	REL8_1_0BETA4:1.37
	REL8_1_0BETA3:1.37
	REL7_3_11:1.28
	REL7_4_9:1.32
	REL8_0_4:1.33
	REL8_1_0BETA2:1.37
	REL8_1_0BETA1:1.35
	REL7_2_8:1.23
	REL7_3_10:1.28
	REL7_4_8:1.32
	REL8_0_3:1.33
	REL8_0_2:1.33
	REL7_2_7:1.23
	REL7_3_9:1.28
	REL7_4_7:1.32
	REL8_0_1:1.33
	REL8_0_STABLE:1.33.0.4
	REL8_0_0:1.33.0.2
	REL8_0_0RC5:1.33
	REL8_0_0RC4:1.33
	REL8_0_0RC3:1.33
	REL8_0_0RC2:1.33
	REL8_0_0RC1:1.33
	REL8_0_0BETA5:1.33
	REL8_0_0BETA4:1.33
	REL7_4_6:1.32
	REL7_3_8:1.28
	REL7_2_6:1.23
	REL8_0_0BETA3:1.33
	REL8_0_0BETA2:1.33
	REL7_2_5:1.23
	REL7_4_5:1.32
	REL7_3_7:1.28
	REL7_4_4:1.32
	REL8_0_0BETA1:1.33
	REL7_4_3:1.32
	REL7_4_2:1.32
	REL7_3_6:1.28
	REL7_4_1:1.32
	REL7_3_5:1.28
	REL7_4:1.32
	REL7_4_RC2:1.32
	REL7_4_STABLE:1.32.0.2
	REL7_4_RC1:1.32
	REL7_4_BETA5:1.32
	REL7_4_BETA4:1.32
	REL7_4_BETA3:1.32
	REL7_4_BETA2:1.31
	WIN32_DEV:1.31.0.2
	REL7_4_BETA1:1.31
	REL7_3_4:1.28
	REL7_3_2:1.28
	REL7_2_4:1.23
	REL7_3_STABLE:1.28.0.2
	REL7_2_3:1.23
	REL7_2_STABLE:1.23.0.2
	REL7_2:1.23
	REL7_2_RC2:1.23
	REL7_2_RC1:1.23
	REL7_2_BETA5:1.23
	REL7_2_BETA4:1.21
	REL7_2_BETA3:1.19
	REL7_2_BETA2:1.19
	REL7_2_BETA1:1.18
	REL7_1_2:1.15
	REL7_1_STABLE:1.15.0.2
	REL7_1_BETA:1.14
	REL7_1_BETA3:1.15
	REL7_1_BETA2:1.15
	REL7_1:1.15
	REL7_0_PATCHES:1.6.0.2
	REL7_0:1.5;
locks; strict;
comment	@# @;


1.46
date	2010.04.03.07.23.00;	author petere;	state Exp;
branches;
next	1.45;

1.45
date	2010.02.19.14.36.45;	author momjian;	state Exp;
branches;
next	1.44;

1.44
date	2010.02.19.03.50.03;	author momjian;	state Exp;
branches;
next	1.43;

1.43
date	2009.02.26.16.02.37;	author petere;	state Exp;
branches;
next	1.42;

1.42
date	2007.12.11.19.57.32;	author tgl;	state Exp;
branches;
next	1.41;

1.41
date	2007.05.15.19.43.51;	author neilc;	state Exp;
branches;
next	1.40;

1.40
date	2007.03.26.17.23.36;	author tgl;	state Exp;
branches;
next	1.39;

1.39
date	2007.02.20.18.10.58;	author momjian;	state Exp;
branches;
next	1.38;

1.38
date	2006.09.16.00.30.18;	author momjian;	state Exp;
branches
	1.38.2.1;
next	1.37;

1.37
date	2005.09.08.20.07.41;	author tgl;	state Exp;
branches;
next	1.36;

1.36
date	2005.09.05.23.50.48;	author tgl;	state Exp;
branches;
next	1.35;

1.35
date	2005.06.21.04.02.31;	author tgl;	state Exp;
branches;
next	1.34;

1.34
date	2005.05.29.03.32.18;	author momjian;	state Exp;
branches;
next	1.33;

1.33
date	2003.11.29.19.51.38;	author pgsql;	state Exp;
branches;
next	1.32;

1.32
date	2003.08.31.17.32.22;	author petere;	state Exp;
branches;
next	1.31;

1.31
date	2003.03.24.14.32.51;	author petere;	state Exp;
branches
	1.31.2.1;
next	1.30;

1.30
date	2003.03.18.22.19.46;	author petere;	state Exp;
branches;
next	1.29;

1.29
date	2003.02.13.05.37.43;	author momjian;	state Exp;
branches;
next	1.28;

1.28
date	2002.10.11.23.03.48;	author petere;	state Exp;
branches;
next	1.27;

1.27
date	2002.09.21.18.32.54;	author petere;	state Exp;
branches;
next	1.26;

1.26
date	2002.08.10.16.57.31;	author petere;	state Exp;
branches;
next	1.25;

1.25
date	2002.07.28.15.22.20;	author petere;	state Exp;
branches;
next	1.24;

1.24
date	2002.04.21.19.02.39;	author thomas;	state Exp;
branches;
next	1.23;

1.23
date	2002.01.06.03.33.25;	author tgl;	state Exp;
branches;
next	1.22;

1.22
date	2002.01.03.05.30.03;	author momjian;	state Exp;
branches;
next	1.21;

1.21
date	2001.12.08.03.24.35;	author thomas;	state Exp;
branches;
next	1.20;

1.20
date	2001.11.28.20.49.10;	author petere;	state Exp;
branches;
next	1.19;

1.19
date	2001.10.26.21.17.03;	author tgl;	state Exp;
branches;
next	1.18;

1.18
date	2001.10.22.23.48.11;	author tgl;	state Exp;
branches;
next	1.17;

1.17
date	2001.09.03.12.57.49;	author petere;	state Exp;
branches;
next	1.16;

1.16
date	2001.05.09.22.08.18;	author petere;	state Exp;
branches;
next	1.15;

1.15
date	2000.12.25.23.15.26;	author petere;	state Exp;
branches;
next	1.14;

1.14
date	2000.11.22.01.41.13;	author momjian;	state Exp;
branches;
next	1.13;

1.13
date	2000.11.13.23.57.19;	author momjian;	state Exp;
branches;
next	1.12;

1.12
date	2000.11.13.23.37.51;	author momjian;	state Exp;
branches;
next	1.11;

1.11
date	2000.11.13.15.18.08;	author momjian;	state Exp;
branches;
next	1.10;

1.10
date	2000.11.11.23.01.38;	author petere;	state Exp;
branches;
next	1.9;

1.9
date	2000.11.04.21.09.41;	author momjian;	state Exp;
branches;
next	1.8;

1.8
date	2000.07.21.03.38.22;	author momjian;	state Exp;
branches;
next	1.7;

1.7
date	2000.06.01.23.40.31;	author momjian;	state Exp;
branches;
next	1.6;

1.6
date	2000.05.15.16.12.38;	author momjian;	state Exp;
branches;
next	1.5;

1.5
date	2000.03.27.17.14.42;	author thomas;	state Exp;
branches;
next	1.4;

1.4
date	2000.01.19.20.08.22;	author petere;	state Exp;
branches;
next	1.3;

1.3
date	99.12.05.20.02.42;	author momjian;	state Exp;
branches;
next	1.2;

1.2
date	99.12.04.04.53.15;	author momjian;	state Exp;
branches;
next	1.1;

1.1
date	99.08.06.13.50.30;	author thomas;	state Exp;
branches;
next	;

1.31.2.1
date	2003.09.07.04.36.45;	author momjian;	state Exp;
branches;
next	;

1.38.2.1
date	2007.02.20.18.11.17;	author momjian;	state Exp;
branches;
next	1.38.2.2;

1.38.2.2
date	2007.03.26.17.23.44;	author tgl;	state Exp;
branches;
next	1.38.2.3;

1.38.2.3
date	2007.05.15.19.43.59;	author neilc;	state Exp;
branches;
next	;


desc
@@


1.46
log
@Remove unnecessary xref endterm attributes and title ids

The endterm attribute is mainly useful when the toolchain does not support
automatic link target text generation for a particular situation.  In  the
past, this was required by the man page tools for all reference page links,
but that is no longer the case, and it now actually gets in the way of
proper automatic link text generation.  The only remaining use cases are
currently xrefs to refsects.
@
text
@<!--
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.45 2010/02/19 14:36:45 momjian Exp $
PostgreSQL documentation
-->

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

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

 <indexterm zone="app-createlang">
  <primary>createlang</primary>
 </indexterm>

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

 
 <refsect1>
  <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> is just a wrapper around the
   <xref linkend="sql-createlanguage">
   command.
  </para>
 </refsect1>


 <refsect1>
  <title>Options</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><option><optional>-d</> <replaceable class="parameter">dbname</replaceable></></term>
      <term><option><optional>--dbname</> <replaceable class="parameter">dbname</replaceable></></term>
      <listitem>
       <para>
        Specifies the database to which 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><option>-e</></term>
      <term><option>--echo</></term>
      <listitem>
       <para>
        Display SQL commands as they are executed.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><option>-l</></term>
      <term><option>--list</></term>
      <listitem>
       <para>
        Show a list of already installed languages in the target database.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
       <term><option>-V</></term>
       <term><option>--version</></term>
       <listitem>
       <para>
       Print the <application>createlang</application> version and exit.
       </para>
       </listitem>
     </varlistentry>

    <varlistentry>
      <term><option>-?</></term>
      <term><option>--help</></term>
      <listitem>
      <para>
      Show help about <application>createlang</application> command line
      arguments, and exit.
      </para>
      </listitem>
    </varlistentry>

    </variablelist>
   </para>

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

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

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

     <varlistentry>
      <term><option>-w</></term>
      <term><option>--no-password</></term>
      <listitem>
       <para>
        Never issue a password prompt.  If the server requires
        password authentication and a password is not available by
        other means such as a <filename>.pgpass</filename> file, the
        connection attempt will fail.  This option can be useful in
        batch jobs and scripts where no user is present to enter a
        password.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><option>-W</></term>
      <term><option>--password</></term>
      <listitem>
       <para>
        Force <application>createlang</application> to prompt for a
        password before connecting to a database.  
       </para>

       <para>
        This option is never essential, since
        <application>createlang</application> will automatically prompt
        for a password if the server demands password authentication.
        However, <application>createlang</application> will waste a
        connection attempt finding out that the server wants a password.
        In some cases it is worth typing <option>-W</> to avoid the extra
        connection attempt.
       </para>
      </listitem>
     </varlistentry>

    </variablelist>
   </para>
 </refsect1>


 <refsect1>
  <title>Environment</title>

  <variablelist>
   <varlistentry>
    <term><envar>PGDATABASE</envar></term>
    <term><envar>PGHOST</envar></term>
    <term><envar>PGPORT</envar></term>
    <term><envar>PGUSER</envar></term>

    <listitem>
     <para>
      Default connection parameters
     </para>
    </listitem>
   </varlistentry>
  </variablelist>

  <para>
   This utility, like most other <productname>PostgreSQL</> utilities,
   also uses the environment variables supported by <application>libpq</>
   (see <xref linkend="libpq-envars">).
  </para>

 </refsect1>


 <refsect1>
  <title>Diagnostics</title>

   <para>
    Most error messages are self-explanatory. If not, run
    <application>createlang</application> with the <option>--echo</option>
    option and see the respective <acronym>SQL</acronym> command
    for details.  Also, any default connection settings and environment
    variables used by the <application>libpq</application> front-end
    library will apply.
   </para>
 </refsect1>


 <refsect1>
  <title>Notes</title>

  <para>
   Use <xref linkend="app-droplang"> to remove a language.
  </para>
 </refsect1>
 

 <refsect1>
  <title>Examples</title>

   <para>
    To install the language <literal>pltcl</literal> into the database
    <literal>template1</literal>:
<screen>
<prompt>$ </prompt><userinput>createlang pltcl template1</userinput>
</screen>
    Note that installing the language into <literal>template1</literal>
    will cause it to be automatically installed into subsequently-created
    databases as well.
   </para>
 </refsect1>

 <refsect1>
  <title>See Also</title>

  <simplelist type="inline">
   <member><xref linkend="app-droplang"></member>
   <member><xref linkend="sql-createlanguage"></member>
  </simplelist>
 </refsect1>

</refentry>
@


1.45
log
@Document --version and --help options for all client applications (they
all support it).

Per report from Josh Kupershmidt
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.44 2010/02/19 03:50:03 momjian Exp $
d8 1
a8 1
  <refentrytitle id="APP-CREATELANG-TITLE"><application>createlang</application></refentrytitle>
d44 1
a44 1
   <xref linkend="sql-createlanguage" endterm="sql-createlanguage-title">
d274 1
a274 1
   <member><xref linkend="sql-createlanguage" endterm="sql-createlanguage-title"></member>
@


1.44
log
@First pass over client applications documentation proofreading.

gabrielle
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.43 2009/02/26 16:02:37 petere Exp $
d99 21
@


1.43
log
@Add a -w/--no-password option that prevents all password prompts to all
programs that have a -W/--password option.

In passing, remove the ancient PSQL_ALWAYS_GET_PASSWORDS compile option.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.42 2007/12/11 19:57:32 tgl Exp $
d72 1
a72 1
        Specifies to which database the language should be added.
d216 1
a216 1
    option and see under the respective <acronym>SQL</acronym> command
@


1.42
log
@Make documentation of -W options more accurate and uniform.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.41 2007/05/15 19:43:51 neilc Exp $
d143 15
@


1.41
log
@Fix a bunch of bad grammar in the docs: "<link>, which see for more
information" is un-good English.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.40 2007/03/26 17:23:36 tgl Exp $
d147 12
a158 1
        Force password prompt.
@


1.40
log
@Fix seriously broken markup for libpq-envars cross-references.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.39 2007/02/20 18:10:58 momjian Exp $
d45 1
a45 1
   command, which see for additional information.
@


1.39
log
@More clearly document that most PostgreSQL utilities support libpq
environment variables.  Backpatch to 8.2.X.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.38 2006/09/16 00:30:18 momjian Exp $
d177 2
a178 2
   also uses the environment variables supported by <xref 
   linkend="libpq-envars" endterm="libpq">.
@


1.38
log
@Remove emacs info from footer of SGML files.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.37 2005/09/08 20:07:41 tgl Exp $
d174 7
d191 3
a193 1
    for details.
a227 1
   <member>Environment Variables (<xref linkend="libpq-envars">)</member>
@


1.38.2.1
log
@More clearly document that most PostgreSQL utilities support libpq
environment variables.  Backpatch to 8.2.X.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.38 2006/09/16 00:30:18 momjian Exp $
a173 7

  <para>
   This utility, like most other <productname>PostgreSQL</> utilities,
   also uses the environment variables supported by <xref 
   linkend="libpq-envars" endterm="libpq">.
  </para>

d184 1
a184 3
    for details.  Also, any default connection settings and environment
    variables used by the <application>libpq</application> front-end
    library will apply.
d219 1
@


1.38.2.2
log
@Fix seriously broken markup for libpq-envars cross-references.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.38.2.1 2007/02/20 18:11:17 momjian Exp $
d177 2
a178 2
   also uses the environment variables supported by <application>libpq</>
   (see <xref linkend="libpq-envars">).
@


1.38.2.3
log
@Fix a bunch of bad grammar in the docs: "<link>, which see for more
information" is un-good English.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.38.2.2 2007/03/26 17:23:44 tgl Exp $
d45 1
a45 1
   command.
@


1.37
log
@Create the pg_pltemplate system catalog to hold template information
for procedural languages.  This replaces the hard-wired table I had
originally proposed as a stopgap solution.  For the moment, the initial
contents only include languages shipped with the core distribution.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.36 2005/09/05 23:50:48 tgl Exp $
a223 17

<!-- 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:
-->
@


1.36
log
@Implement a preliminary 'template' facility for procedural languages,
as per my recent proposal.  For now the template data is hard-wired in
proclang.c --- this should be replaced later by a new shared system
catalog, but we don't want to force initdb during 8.1 beta.  This change
lets us cleanly load existing dump files even if they contain outright
wrong information about a PL's support functions, such as a wrong path
to the shared library or a missing validator function.  Also, we can
revert the recent kluges to make pg_dump dump PL support functions that
are stored in pg_catalog.
While at it, I removed the code in pg_regress that replaced $libdir
with a hardcoded path for temporary installations.  This is no longer
needed given our support for relocatable installations.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.35 2005/06/21 04:02:31 tgl Exp $
d43 1
a43 3
   <application>createlang</application> can handle all the languages
   supplied in the default <productname>PostgreSQL</> distribution, but
   not languages provided by other parties.  See
d45 1
a45 1
   for additional information.
@


1.35
log
@Cause initdb to create a third standard database "postgres", which
unlike template0 and template1 does not have any special status in
terms of backend functionality.  However, all external utilities such
as createuser and createdb now connect to "postgres" instead of
template1, and the documentation is changed to encourage people to use
"postgres" instead of template1 as a play area.  This should fix some
longstanding gotchas involving unexpected propagation of database
objects by createdb (when you used template1 without understanding
the implications), as well as ameliorating the problem that CREATE
DATABASE is unhappy if anyone else is connected to template1.
Patch by Dave Page, minor editing by Tom Lane.  All per recent
pghackers discussions.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.34 2005/05/29 03:32:18 momjian Exp $
d45 1
a45 7
   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
d63 2
a64 2
	Specifies the name of the procedural programming language to be
	defined.
d74 1
a74 1
	Specifies to which database the language should be added.
a100 11
     <varlistentry>
      <term><option>-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>

d114 4
a117 4
	Specifies the host name of the machine on which the 
	server
	is running.  If the value begins with a slash, it is used 
	as the directory for the Unix domain socket.
d127 3
a129 3
	Specifies the TCP port or local Unix domain socket file 
	extension on which the server
	is listening for connections.
@


1.34
log
@Add reference to libpq environment variables for client applications.
@
text
@d2 1
a2 1
$PostgreSQL: pgsql/doc/src/sgml/ref/createlang.sgml,v 1.33 2003/11/29 19:51:38 pgsql Exp $
d226 3
@


1.33
log
@
$Header: -> $PostgreSQL Changes ...
@
text
@d2 1
a2 1
$PostgreSQL: /cvsroot/pgsql-server/doc/src/sgml/ref/createlang.sgml,v 1.32 2003/08/31 17:32:22 petere Exp $
d235 1
@


1.32
log
@Add/edit index entries.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/createlang.sgml,v 1.31 2003/03/24 14:32:51 petere Exp $
@


1.31
log
@Another big editing pass for consistent content and presentation.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/createlang.sgml,v 1.30 2003/03/18 22:19:46 petere Exp $
d17 4
@


1.31.2.1
log
@Update this branch to match CVS head, includes WIN32 improvements.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/createlang.sgml,v 1.32 2003/08/31 17:32:22 petere Exp $
a16 4

 <indexterm zone="app-createlang">
  <primary>createlang</primary>
 </indexterm>
@


1.30
log
@Reimplement create and drop scripts in C, to reduce repetitive
connections, increase robustness, add NLS, and prepare for Windows port.
(vacuumdb and clusterdb will follow later.)
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/createlang.sgml,v 1.29 2003/02/13 05:37:43 momjian Exp $
d21 1
a21 1
   <arg rep="repeat"><replaceable>connection-options</replaceable></arg>
d26 1
a26 1
   <arg rep="repeat"><replaceable>connection-options</replaceable></arg>
d88 1
a88 1
        Displays SQL commands as they are executed.
d98 1
a98 2
        Shows a list of already installed languages in the target database
        (which must be specified).
d129 1
a129 1
	is running.  If host begins with a slash, it is used 
d140 1
a140 1
	Specifies the Internet TCP/IP port or local Unix domain socket file 
d184 1
a184 1
      Default connection parameters.
d217 1
a217 1
    To install <literal>pltcl</literal> into the database
@


1.29
log
@This patch fixes an error in the usage message for 'clusterdb', and
makes a few editorial changes to the documentation.


Neil Conway
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/createlang.sgml,v 1.28 2002/10/11 23:03:48 petere Exp $
d200 1
a200 2
    for details. Check also under <xref linkend="APP-PSQL">
    for more possibilities.
a209 7
  </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.
@


1.28
log
@Assorted reference page updates
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/createlang.sgml,v 1.27 2002/09/21 18:32:54 petere Exp $
d153 1
a153 1
        User name to connect as
@


1.27
log
@Add more appropriate markup.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/createlang.sgml,v 1.26 2002/08/10 16:57:31 petere Exp $
d49 1
a49 1
   for more.
d58 1
a58 1
    <application>createlang</application> accepts the following command line arguments:
d72 2
a73 2
      <term><option>-d <replaceable class="parameter">dbname</replaceable></></term>
      <term><option>--dbname <replaceable class="parameter">dbname</replaceable></></term>
d120 1
a120 1
    the following command line arguments for connection parameters:
@


1.26
log
@Make sure all clients have the same understanding of default user name
and database.  In particular, make script wrappers understand the
PGDATABASE environment variable.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql-server/doc/src/sgml/ref/createlang.sgml,v 1.25 2002/07/28 15:22:20 petere Exp $
d72 2
a73 1
      <term>-d, --dbname <replaceable class="parameter">dbname</replaceable></term>
d84 2
a85 1
      <term>-e, --echo</term>
d94 2
a95 1
      <term>-l, --list</term>
d105 1
a105 1
      <term>--L <replaceable class="parameter">directory</replaceable></term>
d124 2
a125 1
      <term>-h, --host <replaceable class="parameter">host</replaceable></term>
d137 2
a138 1
      <term>-p, --port <replaceable class="parameter">port</replaceable></term>
d149 2
a150 1
      <term>-U, --username <replaceable class="parameter">username</replaceable></term>
d159 2
a160 1
      <term>-W, --password</term>
@


1.25
log
@Structure reference pages consistently.  Document that structure.
Add information about environment variables.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.24 2002/04/21 19:02:39 thomas Exp $
d171 1
a217 1
  <informalexample>
a224 1
  </informalexample>
@


1.24
log
@Augment the date/time examples in the User's Guide to reflect the newer
 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.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.23 2002/01/06 03:33:25 tgl Exp $
d14 1
a14 1
  <refname id="createlang">createlang</refname>
d30 26
a56 4
  <refsect2 id="R2-APP-CREATELANG-1">
   <title>
    Inputs
   </title>
d163 24
a186 1
  </refsect2>
a187 4
  <refsect2 id="R2-APP-CREATELANG-2">
   <title>
    Outputs
   </title>
d195 2
a196 7
  </refsect2>
 </refsynopsisdiv>
 
 <refsect1 id="R1-APP-CREATELANG-1">
  <title>
   Description
  </title>
d198 2
a199 16
  <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>
a200 4
 <refsect1 id="R1-APP-CREATELANG-2">
  <title>
   Notes
  </title>
d213 3
a215 2
 <refsect1 id="R1-APP-CREATELANG-3">
  <title>Usage</title>
d227 10
@


1.23
log
@Fix copy-and-paste brain damage.  (These commands do not create a
database.)
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.22 2002/01/03 05:30:03 momjian Exp $
a6 4
 <docinfo>
  <date>2001-05-09</date>
 </docinfo>

@


1.22
log
@In createlang, make dbname optional, not langname, or rather, make
existing code of dbname optional actually work.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.21 2001/12/08 03:24:35 thomas Exp $
d58 1
a58 1
        The default is to create a database with the same name as the
@


1.21
log
@Use PostgreSQL consistantly throughout docs. Before, usage was split evenly
 between Postgres and PostgreSQL.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.20 2001/11/28 20:49:10 petere Exp $
d26 2
a27 2
   <arg><replaceable>langname</replaceable></arg>
   <arg choice="plain"><replaceable>dbname</replaceable></arg>
a48 3
	<application>createlang</application> will prompt for
	<replaceable class="parameter">langname</replaceable>
	if it is not specified on the command line.
d58 2
@


1.20
log
@proof-reading
@
text
@d2 2
a3 2
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.19 2001/10/26 21:17:03 tgl Exp $
Postgres documentation
@


1.19
log
@More cleanup of CREATE FUNCTION examples.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.18 2001/10/22 23:48:11 tgl Exp $
d89 2
a90 2
        to be found.  Use of this option is deprecated; the directory
	is normally found automatically.
d107 2
a108 2
	Specifies the hostname of the machine on which the 
	<application>postmaster</application>
d110 1
a110 1
	as the directory for the unix domain socket.
d120 1
a120 1
	extension on which the <application>postmaster</application>
d130 1
a130 1
        Username to connect as.
d169 4
a172 4
   programming language to a <productname>Postgres</productname> database.
   <application>createlang</application> currently accepts several
   languages, <literal>plpgsql, pltcl, pltclu,</literal> and <literal>
   plperl</literal>.
@


1.18
log
@Add note explaining that multiple prompts for a password are normal
behavior when password auth is used.
@
text
@d2 1
a2 1
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.17 2001/09/03 12:57:49 petere Exp $
d47 2
a48 1
	Specifies the name of the backend programming language to be defined.
d60 1
a60 1
	Specifies which database the language should be added.
d89 2
a90 1
        to be found.  This is normally found automatically.
@


1.17
log
@Put some kind of grammatical uniformity in the <refpurpose> lines.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.16 2001/05/09 22:08:18 petere Exp $
d188 7
@


1.16
log
@Add --echo option to createlang and droplang.
from Oliver Elphick
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.15 2000/12/25 23:15:26 petere Exp $
d19 1
a19 1
  <refpurpose>Add a new programming language to a <productname>Postgres</productname> database</refpurpose>
@


1.15
log
@Refine some things to create better looking man pages.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.14 2000/11/22 01:41:13 momjian Exp $
d8 1
a8 1
  <date>2000-11-11</date>
d65 9
d79 10
@


1.14
log
@Make socket option specify just the directory, not the full path.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.13 2000/11/13 23:57:19 momjian Exp $
d135 1
a135 1
    for details. Check also under <xref linkend="APP-PSQL" endterm="APP-PSQL-title">
d168 1
a168 2
   Use <xref linkend="app-droplang" endterm="app-droplang-title">
   to remove a language.
@


1.13
log
@Add mention of hostname leading slash handling to all manual pages that use -h.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.12 2000/11/13 23:37:51 momjian Exp $
d89 1
a89 1
	as the path to a unix domain socket.
@


1.12
log
@Remove -k unix socketpath option from client side, allow hostname with
leading slash to behave as a unix socket path.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.11 2000/11/13 15:18:08 momjian Exp $
d88 2
a89 1
	is running.
@


1.11
log
@UUNET is looking into offering PostgreSQL as a part of a managed web
hosting product, on both shared and dedicated machines.  We currently
offer Oracle and MySQL, and it would be a nice middle-ground.
However, as shipped, PostgreSQL lacks the following features we need
that MySQL has:

1. The ability to listen only on a particular IP address.  Each
   hosting customer has their own IP address, on which all of their
   servers (http, ftp, real media, etc.) run.
2. The ability to place the Unix-domain socket in a mode 700 directory.
   This allows us to automatically create an empty database, with an
   empty DBA password, for new or upgrading customers without having
   to interactively set a DBA password and communicate it to (or from)
   the customer.  This in turn cuts down our install and upgrade times.
3. The ability to connect to the Unix-domain socket from within a
   change-rooted environment.  We run CGI programs chrooted to the
   user's home directory, which is another reason why we need to be
   able to specify where the Unix-domain socket is, instead of /tmp.
4. The ability to, if run as root, open a pid file in /var/run as
   root, and then setuid to the desired user.  (mysqld -u can almost
   do this; I had to patch it, too).

The patch below fixes problem 1-3.  I plan to address #4, also, but
haven't done so yet.  These diffs are big enough that they should give
the PG development team something to think about in the meantime :-)
Also, I'm about to leave for 2 weeks' vacation, so I thought I'd get
out what I have, which works (for the problems it tackles), now.

With these changes, we can set up and run PostgreSQL with scripts the
same way we can with apache or proftpd or mysql.

In summary, this patch makes the following enhancements:

1. Adds an environment variable PGUNIXSOCKET, analogous to MYSQL_UNIX_PORT,
   and command line options -k --unix-socket to the relevant programs.
2. Adds a -h option to postmaster to set the hostname or IP address to
   listen on instead of the default INADDR_ANY.
3. Extends some library interfaces to support the above.
4. Fixes a few memory leaks in PQconnectdb().

The default behavior is unchanged from stock 7.0.2; if you don't use
any of these new features, they don't change the operation.

David J. MacKenzie
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.10 2000/11/11 23:01:38 petere Exp $
a102 12

    <varlistentry>
      <term>-k, --unixsocket <replaceable class="parameter">path</replaceable></term>
      <listitem>
      <para>
      Specifies the Unix-domain socket on which the
      <application>postmaster</application> is running.
      Without this option, the socket is created in <filename>/tmp</filename>
      based on the port number.
      </para>
      </listitem>
    </varlistentry>
@


1.10
log
@Markup enhancements, some factual corrections.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.9 2000/11/04 21:09:41 momjian Exp $
d103 12
@


1.9
log
@Update for createlang options in docs.
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.8 2000/07/21 03:38:22 momjian Exp $
d7 4
d12 2
a13 3
  <refentrytitle id="APP-CREATELANG-TITLE">
   <application>createlang</application>
  </refentrytitle>
d16 1
d18 2
a19 6
  <refname id="createlang">
   <application>createlang</application>
  </refname>
  <refpurpose>
   Add a new programming language to a <productname>Postgres</productname> database
  </refpurpose>
d21 1
d23 11
a33 7
  <refsynopsisdivinfo>
   <date>1999-12-05</date>
  </refsynopsisdivinfo>
  <synopsis>
createlang [ <replaceable class="parameter">connection options</replaceable> ] [ <replaceable class="parameter">langname</replaceable> [ <replaceable class="parameter">dbname</replaceable> ] ]
createlang [ <replaceable class="parameter">connection options</replaceable> ] --list|-l [ <replaceable class="parameter">dbname</replaceable> ]
  </synopsis>
a126 3
   <refsect2info>
    <date>1998-10-04</date>
   </refsect2info>
a140 3
  <refsect1info>
   <date>1999-12-05</date>
  </refsect1info>
d173 11
a183 9
  <title>
   Usage
  </title>
  <para>
   To install <literal>pltcl</literal>:
<programlisting>
$ createlang pltcl dbname
</programlisting>
  </para>
@


1.8
log
@reference page cleanup
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.7 2000/06/01 23:40:31 momjian Exp $
d149 3
a151 2
   <application>createlang</application> currently accepts two
   languages, <literal>plsql</literal> and <literal>pltcl</literal>.
@


1.7
log
@createlang fix
@
text
@d2 1
a2 1
$Header: /home/projects/pgsql/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.6 2000/05/15 16:12:38 momjian Exp $
d51 1
a51 1
      <term>[-d, --dbname] <replaceable class="parameter">dbname</replaceable></term>
d54 1
a54 1
	Specifies to which database the language should be added.
@


1.6
log
@Fix createlang -l dbname so it works, update sgml.
@
text
@d2 1
a2 1
$Header: /usr/local/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.5 2000/03/27 17:14:42 thomas Exp $
d179 1
a179 1
$ createlang pltcl
@


1.5
log
@Start updating for the v7.0 release.
Use "generic functions" for math and other routines.
Use SQL92 "type 'literal'" syntax rather than Postgres "'literal'::type".
@
text
@d2 1
a2 1
$Header: /usr/local/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.4 2000/01/19 20:08:22 petere Exp $
d27 1
a27 1
createlang [ <replaceable class="parameter">connection options</replaceable> ] --list|-l
@


1.4
log
@another round of user interface cleanups
removed pg_id
fixed a few bugs in the scripts
@
text
@d2 1
a2 1
$Header: /usr/local/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.3 1999/12/05 20:02:42 momjian Exp $
d18 1
a18 1
   Add a new programming language to a <productname>PostgreSQL</productname> database
d148 1
a148 1
   programming language to a <productname>PostgreSQL</productname> database.
@


1.3
log
@I cleaned those out as well (the echo -n "bug" was in there ;) and moved
them into the scripts dir. I also added a --list option to show already
installed languages.

This whole moving and renaming totally confused CVS and my checked out
copy got completely fried last night. When you apply the source patch,
please make sure that all the directories src/bin/{create|destroy}* as
well as vacuumdb, cleardbdir are gone and that all the scripts (7) are
in
scripts/.

Meanwhile I am still puzzled about what happened with the docs patch.
Because I don't know what you got now, the second attachment contains
the
files

ref/allfiles.sgml
ref/commands.sgml
ref/createlang.sgml
ref/droplang.sgml
doc/src/sgml/Makefile

Peter Eisentraut                  Sernanders väg 10:115
@
text
@d2 1
a2 1
$Header: /usr/local/cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.1 1999/08/06 13:50:30 thomas Exp $
a116 10
     <varlistentry>
      <term>-e, --echo</term>
      <listitem>
       <para>
        Echo the commands that <application>createlang</application> generates
	and sends to the backend.
       </para>
      </listitem>
     </varlistentry>

a133 3
   </para>
   <para>
    No output is generated if <application>createlang</application> succeeds.
@


1.2
log
@New scripts for create/drop user/db from Peter Eisentraut
@
text
@d1 213
@


1.1
log
@Fix markup to allow clean man pages.
Add new pages for programming languages and tcl shells.
@
text
@a0 172
<!--
$Header$
Postgres documentation
-->

<refentry id="APP-CREATELANG">
 <refmeta>
  <refentrytitle id="APP-CREATELANG-TITLE">
   <application>createlang</application>
  </refentrytitle>
  <refmiscinfo>Application</refmiscinfo>
 </refmeta>
 <refnamediv>
  <refname id="createlang">
   <application>createlang</application>
  </refname>
  <refpurpose>
   Add a new programming language to a <productname>Postgres</productname> database
  </refpurpose>
 </refnamediv>
 <refsynopsisdiv>
  <refsynopsisdivinfo>
   <date>1999-08-05</date>
  </refsynopsisdivinfo>
  <synopsis>
createlang [ <replaceable class="parameter">langname</replaceable> ]
createlang [ -h <replaceable class="parameter">host</replaceable> ] [ -p <replaceable class="parameter">port</replaceable> ]
        [ <replaceable class="parameter">langname</replaceable> ]
  </synopsis>

  <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 backend programming language to be defined.
	<application>createlang</application> will prompt for
	<replaceable class="parameter">langname</replaceable>
	if it is not specified on the command line.
       </para>
      </listitem>
     </varlistentry>
    </variablelist>
   </para>

   <para>
    <application>createlang</application> also accepts 
    the following command line arguments for connection parameters:
    
    <variablelist>
     <varlistentry>
      <term>-h <replaceable class="parameter">host</replaceable></term>
      <listitem>
       <para>
	Specifies the hostname of the machine on which the 
	<application>postmaster</application>
	is running.  Defaults to using a local Unix domain socket
	rather than an IP connection.
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-p <replaceable class="parameter">port</replaceable></term>
      <listitem>
       <para>
	Specifies the Internet TCP/IP port or local Unix domain socket file 
	extension on which the <application>postmaster</application>
	is listening for connections.  The port number defaults to 5432,
	or the value of the <envar>PGPORT</envar>
	environment variable (if set).
       </para>
      </listitem>
     </varlistentry>
     <!--
     <varlistentry>
      <term>-u</term>
      <listitem>
       <para>
	Use password authentication. 
	Prompts for
	<replaceable class="parameter">username</replaceable>
	and <replaceable class="parameter">password</replaceable>.
       </para>
      </listitem>
     </varlistentry>
     -->
    </variablelist>
   </para>
  </refsect2>

  <refsect2 id="R2-APP-CREATELANG-2">
   <refsect2info>
    <date>1998-10-04</date>
   </refsect2info>
   <title>
    Outputs
   </title>
   <para>
    <application>createlang</application> installs a new programming
    language into a <productname>Postgres</productname> server,
    so has not explicit external output.
   </para>
  </refsect2>
 </refsynopsisdiv>
 
 <refsect1 id="R1-APP-CREATELANG-1">
  <refsect1info>
   <date>1998-10-04</date>
  </refsect1info>
  <title>
   Description
  </title>

  <para>
   <application>createlang</application> is a utility for adding a new 
   programming language to a
   <productname>Postgres</productname> database.
   <application>createlang</application> currently accepts two
   languages, <literal>plsql</literal> and <literal>pltcl</literal>.
  </para>
 </refsect1>

 <refsect1 id="R1-APP-CREATELANG-2">
  <title>
   Notes
  </title>

  <para>
   See 
   <xref linkend="sql-createlanguage" endterm="sql-createlanguage-title">
   for more details.
  </para>
 </refsect1>
 
 <refsect1 id="R1-APP-CREATELANG-3">
  <title>
   Usage
  </title>
  <para>
   To install <literal>pltcl</literal>:
   
   <programlisting>
% createlang pltcl
   </programlisting>
  </para>
 </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:
-->
@
