<!--
$Header: /usr/prj/pg/cvsroot/doc/doc/src/sgml/ref/createuser.sgml,v 1.7 2001/09/14 08:59:53 t-ishii Exp $
Postgres documentation
-->

<refentry id="APP-CREATEUSER">
 <docinfo>
  <date>2000-11-11</date>
 </docinfo>

 <refmeta>
  <refentrytitle id="APP-CREATEUSER-TITLE"><application>createuser</application></refentrytitle>
  <manvolnum>1</manvolnum>
  <refmiscinfo><!-- Application -->アプリケーション</refmiscinfo>
 </refmeta>

 <refnamediv>
  <refname>createuser</refname>
  <refpurpose><!-- 
  Create a new <productname>Postgres</productname> user -->

  新しい<productname>Postgres</productname>ユーザーを作成します。<indexterm><primary>createuser</primary></indexterm><indexterm><primary>PostgreSQL</primary><secondary>createuser</secondary></indexterm><indexterm><primary sortas="ゆーざー">ユーザー</primary><secondary sortas="さくせい">作成</secondary></indexterm>

  </refpurpose>
  </refnamediv>

 <refsynopsisdiv>
  <cmdsynopsis>
   <command>createuser</command>
   <arg rep="repeat"><replaceable>options</replaceable></arg>
   <arg><replaceable>username</replaceable></arg>
  </cmdsynopsis>

  <refsect2 id="R2-APP-CREATEUSER-1">
   <title>
    <!-- Inputs -->入力
   </title>

    <variablelist>
     <varlistentry>
      <term>-h <replaceable class="parameter">host</replaceable></term>
      <term>--host <replaceable class="parameter">host</replaceable></term>
      <listitem>
       <para>
        <!-- 
	Specifies the hostname of the machine on which the 
	<application>postmaster</application>
	is running.  If host begins with a slash, it is used 
	as the directory for the unix domain socket. -->

        <application>postmaster</application>が動作しているマシンのホスト名を指定します。ホストがスラッシュで始まる場合、Unixドメインソケットのディレクトリとして使われます。

       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-p <replaceable class="parameter">port</replaceable></term>
      <term>--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 
        <application>postmaster</application>
	is listening for connections. -->

        <application>postmaster</application>が接続を監視しているインターネットTCP/IPポートもしくはローカルUnixドメインソケットファイルを指定します。

       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-e</term>
      <term>--echo</term>
      <listitem>
       <para>
        <!-- 
        Echo the queries that <application>createdb</application> 
        generates and sends to the backend. -->

        <application>createdb</application>が作成し、バックエンドに送る問い合わせを表示させます。

       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-q</term>
      <term>--quiet</term>
      <listitem>
       <para>
        <!-- Do not display a response. -->
        反応を表示させません。

       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-d</term>
      <term>--createdb</term>
      <listitem>
       <para>
	<!-- Allows the new user to create databases. -->
        新しいユーザーがデータベースを作成することを許可します。
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-D</term>
      <term>--no-createdb</term>
      <listitem>
       <para>
	<!-- Forbids the new user to create databases. -->
        新しいユーザーがデータベースを作成することを禁止します。

       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-a</term>
      <term>--adduser</term>
      <listitem>
       <para>
	<!-- Allows the new user to create other users. -->
        新しいユーザーが他のユーザーを作成することを許可します。

       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-A</term>
      <term>--no-adduser</term>
      <listitem>
       <para>
	<!-- Forbids the new user to create other users. -->
        新しいユーザーが他のユーザーを作成することを禁止します。

       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-P</term>
      <term>--pwprompt</term>
      <listitem>
       <para>
       <!-- 
       If given, <application>createuser</application> will issue a 
       prompt for the password of the new user. This is not necessary 
       if you do not plan on using password authentication. -->

       指定されると、<application>createuser</application>は新しいユーザーのパスワードのプロンプトを発行します。パスワード認証を使う予定がなければ必要ありません。

       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term>-i <replaceable class="parameter">uid</replaceable></term>
      <term>--sysid <replaceable class="parameter">uid</replaceable></term>
      <listitem>
       <para>
       <!-- 
       Allows you to pick a non-default user id for the new user. 
       This is not necessary, but some people like it. -->
       
       新しいユーザーのユーザーIDをデフォルトでないものを選ぶことができます。必要ではありませんが、これを好む人たちもいます。

       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><replaceable class="parameter">username</replaceable></term>
      <listitem>
       <para>
	<!-- Specifies the name of the <productname>Postgres</productname> 
        user to be created. 
	This name must be unique among all 
        <productname>Postgres</productname> users. -->

        作成する<productname>Postgres</productname>ユーザー名を指定します。この名前はすべての<productname>Postgres</productname>ユーザー名の中で一意なものでなければなりません。

       </para>
      </listitem>
     </varlistentry>  

    </variablelist>

<para>
    <!-- 
    You will be prompted for a name and other missing information 
    if it is not specified on the command line. -->

    もしコマンドラインで指定しない場合、名前と他の足りない情報を入力するよう要求されます。

    </para>

    <para>
    <!-- 
    The options <literal>-h</literal>, <literal>-p</literal>, and 
    <literal>-e</literal>,
    are passed on literally to <xref linkend="APP-PSQL">. The
    <application>psql</application> options <literal>-U</literal> and 
    <literal>-W</literal>
    are available as well, but their use can be confusing in this context.
    -->

    オプション<literal>-h</literal>、<literal>-p</literal>、<literal>-e</literal>は文字どおり<xref linkend="APP-PSQL">に渡されます。<application>psql</application>オプション<literal>-U</literal>と<literal>-W</literal>も有効ですが、このコンテキストではこれらを使うことは混乱を招きかねません。

   </para>
  </refsect2>

  <refsect2 id="R2-APP-CREATEUSER-2">
   <title>
    <!-- Outputs -->出力
   </title>
    <variablelist>
     <varlistentry>
      <term><computeroutput>CREATE USER</computeroutput></term>
      <listitem>
       <para>
        <!-- All is well. -->すべてうまく動作した場合に返されます。
       </para>
      </listitem>
     </varlistentry>

     <varlistentry>
      <term><computeroutput>createuser: creation of user "<replaceable class="parameter">username</replaceable>" failed</computeroutput></term>
      <listitem>
       <para>
        <!-- Something went wrong. The user was not created. -->
        何かに失敗しまし、ユーザーが作成されなかった場合に返されます。

       </para>
      </listitem>
     </varlistentry>

    </variablelist>

<para>
    <!--  
    If there is an error condition, the backend error message will be 
    displayed.
    See <xref linkend="SQL-CREATEUSER" endterm="SQL-CREATEUSER-title">
    and <xref linkend="APP-PSQL"> for possibilities. -->

    もしエラー状態がある場合、バックエンドエラーメッセージが表示されます。可能なエラーについては<xref linkend="SQL-CREATEUSER" endterm="SQL-CREATEUSER-title">と<xref linkend="APP-PSQL">を参照してください。

   </para>
  </refsect2>
 </refsynopsisdiv>
  
 <refsect1 id="R1-APP-CREATEUSER-1">
  <title>
   <!-- Description -->説明
  </title>
  <para>
   <!-- 
   <application>createuser</application> creates a 
   new <productname>Postgres</productname> user.  
   Only users with <literal>usesuper</literal> set in
   the <literal>pg_shadow</literal> table can create 
   new <productname>Postgres</productname> users. -->

   <application>createuser</application>は、新しい<productname>Postgres</productname>ユーザーを作成します。<literal>pg_shadow</literal>テーブルで<literal>usesuper</literal>がTRUE(t)に設定されているユーザーのみが新しい<productname>Postgres</productname>ユーザーを作成することができます。

  </para>

  <para>
   <!-- 
   <application>createuser</application> is a shell script wrapper 
   around the <acronym>SQL</acronym> command
   <xref linkend="SQL-CREATEUSER" endterm="SQL-CREATEUSER-title"> via
   the <productname>Postgres</productname> interactive terminal
   <xref linkend="APP-PSQL">. Thus, there is nothing
   special about creating users via this or other methods. This means
   that the <application>psql</application> must be found by the script 
   and that a database server is running at the targeted host. 
   Also, any default settings and environment variables available to 
   <application>psql</application> and the <application>libpq</application> 
   front-end library do apply. -->

   <application>createuser</application>は、<productname>Postgres</productname>の対話式端末プログラム<xref linkend="APP-PSQL">を使用して<acronym>SQL</acronym>コマンド<xref linkend="SQL-CREATEUSER" endterm="SQL-CREATEUSER-title">を実行するシェルスクリプトです。従って、このスクリプトを利用しても直接SQLコマンドを実行しても実際には違いはありません。ただし、<application>psql</application>がスクリプトから参照できる場所にあり、データベースサーバーが目的のホストで稼働していなければいけないということに注意してください。また、<application>psql</application>と<application>libpq</application>フロントエンドライブラリが利用する、すべてのデフォルト設定と環境変数が適用されることにも注意してください。
  </para>

 </refsect1>


 <refsect1 id="R1-APP-CREATEUSER-2">
  <title><!-- Usage -->使用法</title>

  <informalexample>
   <para>
    <!-- To create a user <literal>joe</literal> on the default database
    server: -->

    <literal>joe</literal>というユーザーをデフォルトデータベースサーバーに作成するには以下のようにします。
</para>

<screen>
<prompt>$ </prompt><userinput>createuser joe</userinput>
<computeroutput>Is the new user allowed to create databases? (y/n) </computeroutput><userinput>n</userinput>
<computeroutput>Shall the new user be allowed to create more new users? (y/n) </computeroutput><userinput>n</userinput>
<computeroutput>CREATE USER</computeroutput>
</screen>
  </informalexample>

  <informalexample>
   <para>
    <!-- To create the same user <literal>joe</literal> using the
    postmaster on host eden, port 5000, avoiding the prompts and
    taking a look at the underlying query: -->

    ホストeden上のポート5,000のpostmasterを使って同じユーザー<literal>joe</literal>を作成し、プロンプトは表示せず、使用される問い合わせを表示するには以下のようにします。
</para>

<screen>
<prompt>$ </prompt><userinput>createuser -p 5000 -h eden -D -A -e joe</userinput>
<computeroutput>CREATE USER "joe" NOCREATEDB NOCREATEUSER</computeroutput>
<computeroutput>CREATE USER</computeroutput>
</screen>
  </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:
-->
