create_user.sgml
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:8k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. <refentry id="SQL-CREATEUSER">
  2.  <refmeta>
  3.   <refentrytitle>
  4.    CREATE USER
  5.   </refentrytitle>
  6.   <refmiscinfo>SQL - Language Statements</refmiscinfo>
  7.  </refmeta>
  8.  <refnamediv>
  9.   <refname>
  10.    CREATE USER
  11.   </refname>
  12.   <refpurpose>
  13.    Creates account information for a new user
  14.   </refpurpose>
  15.  </refnamediv>
  16.  <refsynopsisdiv>
  17.   <refsynopsisdivinfo>
  18.    <date>1998-09-21</date>
  19.   </refsynopsisdivinfo>
  20.   <synopsis>
  21. CREATE USER<replaceable class="PARAMETER"> username</replaceable>
  22.     [ WITH PASSWORD <replaceable class="PARAMETER">password</replaceable> ]
  23.     [ CREATEDB   | NOCREATEDB ]
  24.     [ CREATEUSER | NOCREATEUSER ]
  25.     [ IN GROUP     <replaceable class="PARAMETER">groupname</replaceable> [, ...] ]
  26.     [ VALID UNTIL  '<replaceable class="PARAMETER">abstime</replaceable>' ]
  27.   </synopsis>
  28.   
  29.   <refsect2 id="R2-SQL-CREATEUSER-1">
  30.    <refsect2info>
  31.     <date>1998-09-21</date>
  32.    </refsect2info>
  33.    <title>
  34.     Inputs
  35.    </title>
  36.    <para>
  37.     <variablelist>
  38.      <varlistentry>
  39.       <term><replaceable class="parameter">username</replaceable></term>
  40.       <listitem>
  41.        <para>
  42. The name of the user.
  43.        </para>
  44.       </listitem>
  45.      </varlistentry>
  46.      <varlistentry>
  47.       <term><replaceable class="parameter">password</replaceable></term>
  48.       <listitem>
  49.        <para>
  50. The WITH PASSWORD clause sets the user's password within
  51. the "<filename>pg_shadow</filename>" table. For this reason,
  52. <filename>"pg_shadow</filename>" is no
  53. longer accessible to the instance of
  54. <productname>Postgres</productname> that the
  55. <productname>Postgres</productname>
  56. user's password is initially set to NULL.
  57.        </para>
  58.        <para>
  59. When a
  60. user's password in the "<filename>pg_shadow</filename>"
  61. table is NULL, user
  62. authentication proceeds as it historically has (HBA,
  63. PG_PASSWORD, etc). However, if a password is set for a
  64. user, a new authentication system supplants any other
  65. configured for the <productname>Postgres</productname>
  66. instance, and the password
  67. stored in the "<filename>pg_shadow</filename>" table is used
  68. for authentication.
  69. For more details on how this authentication system
  70. functions see pg_crypt(3). If the WITH PASSWORD clause is
  71. omitted, the user's password is set to the empty
  72. string which equates to a NULL value in the authentication
  73. system mentioned above.
  74.        </para>
  75.       </listitem>
  76.      </varlistentry>
  77.      <varlistentry>
  78.       <term>CREATEDB</term>
  79.       <term>NOCREATEDB</term>
  80.       <listitem>
  81.        <para> 
  82. These clauses define a user's ability to create databases.
  83. If CREATEDB is specified, the user being defined will
  84. be allowed to create his own databases. Using NOCREATEDB
  85. will deny a user the ability to create databases. If this
  86. clause is omitted,  NOCREATEDB is used by default.
  87.        </para>
  88.       </listitem>
  89.      </varlistentry>
  90.      <varlistentry>
  91.       <term>CREATEUSER</term>
  92.       <term>NOCREATEUSER</term>
  93.       <listitem>
  94.        <para>
  95. These clauses determine whether a user will be permitted to
  96. create new
  97. users in an instance of <productname>Postgres</productname>.
  98. Omitting this clause will set the user's value of this
  99. attribute to be NOCREATEUSER.
  100.        </para>
  101.       </listitem>
  102.      </varlistentry>
  103.      <varlistentry>
  104.       <term><replaceable class="parameter">groupname</replaceable></term>
  105.       <listitem>
  106.        <para>
  107. A name of a group into which to insert the user as a new member.
  108.        </para>
  109.       </listitem>
  110.      </varlistentry>
  111.      <varlistentry>
  112.       <term><replaceable class="parameter">abstime</replaceable></term>
  113.       <listitem>
  114.        <para>
  115. The VALID UNTIL clause sets an absolute time after which the
  116. user's <productname>Postgres</productname>
  117. login is no longer valid. Please note that
  118. if a user does not have a password defined in the
  119. "<filename>pg_shadow</filename>"
  120. table, the valid until date will not be checked
  121. during user authentication. If this clause is omitted,
  122. a NULL value is stored in "<filename>pg_shadow</filename>" 
  123. for this attribute,
  124. and the login will be valid for all time.
  125.        </para>
  126.       </listitem>
  127.      </varlistentry>
  128.     </variablelist>
  129.    </para>
  130.   </refsect2>
  131.   
  132.   <refsect2 id="R2-SQL-CREATEUSER-2">
  133.    <refsect2info>
  134.     <date>1998-09-21</date>
  135.    </refsect2info>
  136.    <title>
  137.     Outputs
  138.    </title>
  139.    <para>
  140.     <variablelist>
  141.      <varlistentry>
  142.       <term><computeroutput>
  143. CREATE USER
  144.        </computeroutput></term>
  145.       <listitem>
  146.        <para>
  147. Message returned if the command completes successfully.
  148.        </para>
  149.       </listitem>
  150.      </varlistentry>
  151.     </variablelist>
  152.    </para>
  153.   </refsect2>
  154.  </refsynopsisdiv>
  155.  <refsect1 id="R1-SQL-CREATEUSER-1">
  156.   <refsect1info>
  157.    <date>1998-09-21</date>
  158.   </refsect1info>
  159.   <title>
  160.    Description
  161.   </title>
  162.   <para>
  163.    CREATE USER will add a new user to an instance of 
  164.    <productname>Postgres</productname>.
  165.   </para>
  166.   <para>
  167.    The new user will be given a <filename>usesysid</filename> of:
  168.    <programlisting>
  169. SELECT MAX(usesysid) + 1 FROM pg_shadow;
  170.    </programlisting>
  171.    This means that 
  172.    <productname>Postgres</productname> users' <filename>usesysid</filename>s will not
  173.    correspond to their operating
  174.    system(OS) user ids. The exception to this rule is
  175.    the <literal>postgres</literal> superuser, whose OS user id
  176.    is used as the
  177.    <filename>usesysid</filename> during the initdb process. 
  178.    If you still want the
  179.    OS user id and the <filename>usesysid</filename> to match
  180.    for any given user,
  181.    use the <application>createuser</application> script provided with
  182.    the <productname>Postgres</productname> distribution.
  183.   </para>
  184.   
  185.   <refsect2 id="R2-SQL-CREATEUSER-3">
  186.    <refsect2info>
  187.     <date>1998-09-21</date>
  188.    </refsect2info>
  189.    <title>
  190.     Notes
  191.    </title>
  192.    <para>
  193.     <command>CREATE USER</command> statement is a
  194.     <productname>Postgres</productname> language extension.
  195.    </para>
  196.    <para>
  197.     Use <command>DROP USER</command> or <command>ALTER USER</command>
  198.     statements to remove or modify a user account.
  199.    </para>
  200.    <para>
  201.     Refer to the <filename>pg_shadow</filename> table for further information.
  202.    </para>
  203.    <programlisting>
  204.    Table    = pg_shadow
  205.    +--------------------------+--------------------------+-------+
  206.    |          Field           |          Type            | Length|
  207.    +--------------------------+--------------------------+-------+
  208.    | usename                  | name                     |    32 |
  209.    | usesysid                 | int4                     |     4 |
  210.    | usecreatedb              | bool                     |     1 |
  211.    | usetrace                 | bool                     |     1 |
  212.    | usesuper                 | bool                     |     1 |
  213.    | usecatupd                | bool                     |     1 |
  214.    | passwd                   | text                     |   var |
  215.    | valuntil                 | abstime                  |     4 |
  216.    +--------------------------+--------------------------+-------+
  217.    </programlisting>
  218.   </refsect2>
  219.  </refsect1>
  220.   
  221.  <refsect1 id="R1-SQL-CREATEUSER-2">
  222.   <title>
  223.    Usage
  224.   </title>
  225.   <para>
  226.    Create a user with no password:
  227.    <programlisting>
  228. CREATE USER jonathan
  229.    </programlisting>
  230.   </para>
  231.   <para>
  232.    Create a user with a password:
  233.    <programlisting>
  234. CREATE USER davide WITH PASSWORD jw8s0F4
  235.    </programlisting>
  236.   </para>
  237.   <para>
  238.    Create a user with a password, whose account is valid until the end of 2001.
  239.    Note that after one second has ticked in 2002, the account is not
  240.    valid:
  241.    <programlisting>
  242. CREATE USER miriam WITH PASSWORD jw8s0F4 VALID UNTIL 'Jan 1 2002'
  243.    </programlisting>
  244.   </para>
  245.   <para> 
  246.    Create an account where the user can create databases:
  247.    <programlisting>
  248. CREATE USER manuel WITH PASSWORD jw8s0F4 CREATEDB
  249.    </programlisting>
  250.   </para>
  251.  </refsect1>
  252.  
  253.  <refsect1 id="R1-SQL-CREATEUSER-3">
  254.   <title>
  255.    Compatibility
  256.   </title>
  257.   <para>
  258.   </para>
  259.   
  260.   <refsect2 id="R2-SQL-CREATEUSER-4">
  261.    <refsect2info>
  262.     <date>1998-09-21</date>
  263.    </refsect2info>
  264.    <title>
  265.     SQL92
  266.    </title>
  267.    <para>
  268.     There is no <command>CREATE USER</command> statement in SQL92.
  269.    </para>
  270.   </refsect2>
  271.  </refsect1>
  272. </refentry>
  273. <!-- Keep this comment at the end of the file
  274. Local variables:
  275. mode: sgml
  276. sgml-omittag:nil
  277. sgml-shorttag:t
  278. sgml-minimize-attributes:nil
  279. sgml-always-quote-attributes:t
  280. sgml-indent-step:1
  281. sgml-indent-data:t
  282. sgml-parent-document:nil
  283. sgml-default-dtd-file:"../reference.ced"
  284. sgml-exposed-tags:nil
  285. sgml-local-catalogs:"/usr/lib/sgml/catalog"
  286. sgml-local-ecat-files:nil
  287. End:
  288. -->