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

数据库系统

开发平台:

Unix_Linux

  1. <Chapter Id="start">
  2. <Title>Getting Started</Title>
  3. <Abstract>
  4. <Para>
  5. How to begin work with <ProductName>Postgres</ProductName> for a new user.
  6. </Para>
  7. </Abstract>
  8. <Para>
  9.      Some  of the steps required to use <ProductName>Postgres</ProductName>
  10.      can be performed by any Postgres user, and some must be done by
  11.      the site database administrator.  This site administrator 
  12.      is the person who installed the  software,  created
  13.      the  database  directories  and  started the <Application>postmaster</Application>
  14.      process.  This person does not  have  to  be  the  UNIX
  15.      superuser (<Quote>root</Quote>)
  16.  or the computer system administrator; a person can install and use
  17. <ProductName>Postgres</ProductName> without any special accounts or privileges.
  18. </Para>
  19. <Para>
  20. If you are installing <ProductName>Postgres</ProductName> yourself, then
  21. refer to the Administrator's Guide for instructions on installation, and return
  22. to this guide when the installation is complete.
  23. </Para>
  24. <Para>
  25.      Throughout this manual, any examples  that  begin  with
  26.      the  character  <Quote>%</Quote> are commands that should be typed
  27.      at the UNIX shell prompt.  Examples that begin with the
  28.      character <Quote>*</Quote> are commands in the Postgres query 
  29.      language, Postgres <Acronym>SQL</Acronym>.
  30. </Para>
  31. <Sect1>
  32. <Title>Setting Up Your Environment</Title>
  33. <Para>
  34.      This section discusses how to set up
  35.      your own environment  so  that  you  can  use  frontend
  36.      applications.  We assume <ProductName>Postgres</ProductName> has already been 
  37.      successfully installed and started; refer to the Administrator's Guide
  38. and the installation  notes
  39.      for how to install Postgres.
  40. </Para>
  41. <Para>
  42. <ProductName>Postgres</ProductName> is a client/server application. As a user,
  43. you only need access to the client portions of the installation (an example
  44. of a client application is the interactive monitor <Application>psql</Application>).
  45.      For simplicity,
  46.      we will assume that <ProductName>Postgres</ProductName> has been installed in  the
  47.      directory  <FileName>/usr/local/pgsql</FileName>.   Therefore, wherever
  48.      you see the directory <FileName>/usr/local/pgsql</FileName> you  should
  49.      substitute  the name of the directory where <ProductName>Postgres</ProductName> is
  50.      actually installed.
  51.      All <ProductName>Postgres</ProductName> commands are installed  in  the  directory
  52.      <FileName>/usr/local/pgsql/bin</FileName>.   Therefore,  you should add
  53.      this directory to your shell command path.  If you  use
  54.      a variant of the Berkeley C shell, such as csh or tcsh,
  55.      you would add
  56. <ProgramListing>
  57. % set path = ( /usr/local/pgsql/bin path )
  58. </ProgramListing>
  59.      in the <FileName>.login</FileName> file in your home directory.  If you  use
  60.      a  variant  of  the  Bourne  shell, such as sh, ksh, or
  61.      bash, then you would add
  62. <ProgramListing>
  63. % PATH=/usr/local/pgsql/bin:$PATH
  64. % export PATH
  65. </ProgramListing>
  66.      to the .profile file in your home directory.
  67.      From now on, we will assume that  you  have  added  the
  68.      <ProductName>Postgres</ProductName>  bin  directory to your path.  In addition, we
  69.      will make frequent reference to <Quote>setting a shell  
  70.      variable</Quote>  or  <Quote>setting an environment variable</Quote> throughout
  71.      this document.  If you did  not  fully  understand  the
  72.      last  paragraph  on  modifying  your  search  path, you
  73.      should consult the UNIX manual pages that describe your
  74.      shell before going any further.
  75. </Para>
  76. <Para>
  77. If your site administrator has not set things up in the
  78. default  way,  you may have some more work to do.  For example, if the database
  79.  server machine is a remote machine, you
  80. will need to set the <Acronym>PGHOST</Acronym> environment variable to the name
  81. of the database server machine.   The  environment  variable
  82. <Acronym>PGPORT</Acronym> may also have to be set.  The bottom line is this: if
  83. you try to start an application  program  and  it  complains
  84. that it cannot connect to the <Application>postmaster</Application>,
  85.  you should immediately consult your site administrator to make sure that your
  86. environment is properly set up.
  87. </Para>
  88. </Sect1>
  89. <Sect1>
  90. <Title>Starting the Interactive Monitor (psql)</Title>
  91. <Para>
  92.      Assuming that  your  site  administrator  has  properly
  93.      started  the  <Application>postmaster</Application>  process and authorized you to
  94.      use the database, you (as a user) may begin to start up
  95.      applications.   As previously mentioned, you should add
  96.      <FileName>/usr/local/pgsql/bin</FileName> to your  shell  search  path.
  97.      In  most  cases,  this  is all you should have to do in
  98.      terms of preparation.
  99. </Para>
  100. <Para>
  101. As of <ProductName>Postgres</ProductName> v6.3, two different styles of connections
  102. are supported. The site administrator will have chosen to allow TCP/IP network connections
  103. or will have restricted database access to local (same-machine) socket connections only.
  104. These choices become significant if you encounter problems in connecting to a database.
  105. </Para>
  106. <Para>
  107.      If  you get the following error message from a <ProductName>Postgres</ProductName>
  108.      command (such as <Application>psql</Application> or <Application>createdb</Application>):
  109. <ProgramListing>
  110. % psql template1
  111. Connection to database 'postgres' failed.
  112. connectDB() failed: Is the postmaster running and accepting connections
  113.     at 'UNIX Socket' on port '5432'?
  114. </ProgramListing>
  115. or
  116. <ProgramListing>
  117. % psql -h localhost template1
  118. Connection to database 'postgres' failed.
  119. connectDB() failed: Is the postmaster running and accepting TCP/IP
  120.     (with -i) connections at 'localhost' on port '5432'?
  121. </ProgramListing>
  122.      it is usually because (1) the <Application>postmaster</Application>  is  not  running,
  123.  or (2) you are attempting to connect to the wrong server host.
  124.      If you get the following error message:
  125. <ProgramListing>
  126. FATAL 1:Feb 17 23:19:55:process userid (2360) != database owner (268)
  127. </ProgramListing>
  128.      it means that the site administrator started the  <Application>postmaster</Application>
  129.   as  the  wrong user.  Tell him to restart it as
  130.      the <ProductName>Postgres</ProductName> superuser.
  131. </Para>
  132. </Sect1>
  133. <Sect1>
  134. <Title>Managing a Database</Title>
  135. <Para>
  136.      Now that <ProductName>Postgres</ProductName> is up and running we can create  some
  137.      databases  to  experiment  with.  Here, we describe the
  138.      basic commands for managing a database.
  139. </Para>
  140. <Para>
  141. Most <ProductName>Postgres</ProductName>
  142. applications assume that the database name, if not specified, is the same as the name on your computer
  143. account.
  144. </Para>
  145. <Para>
  146. If your database administrator has set up your account without database creation privileges,
  147. then she should have told you what the name of your database is. If this is the case, then you
  148. can skip the sections on creating and destroying databases.
  149. </Para>
  150. <Sect2>
  151. <Title>Creating a Database</Title>
  152. <Para>
  153.      Let's say you want to create  a  database  named  <Database>mydb</Database>.
  154.      You can do this with the following command:
  155. <ProgramListing>
  156. % createdb mydb
  157. </ProgramListing>
  158. </Para>
  159. <Para>
  160. If you do not have the privileges required to create a database, you will see
  161. the following:
  162. <ProgramListing>
  163. % createdb mydb
  164. WARN:user "your username" is not allowed to create/destroy databases
  165. createdb: database creation failed on mydb.
  166. </ProgramListing>
  167. </Para>
  168. <Para>
  169.      <ProductName>Postgres</ProductName>  allows  you to create any number of databases
  170.      at a  given  site  and  you  automatically  become  the
  171.      database  administrator  of  the database you just created.  Database names must  have  an  alphabetic  first
  172.      character and are limited to 32 characters in length.
  173.      Not  every  user has authorization to become a database
  174.      administrator.  If <ProductName>Postgres</ProductName> refuses to create databases
  175.      for you, then the site administrator needs to grant you
  176.      permission to  create  databases.   Consult  your  site
  177.      administrator if this occurs.
  178. </Para>
  179. </Sect2>
  180. <Sect2>
  181. <Title>Accessing a Database</Title>
  182. <Para>
  183.      Once you have constructed a database, you can access it
  184.      by:
  185. <ItemizedList Mark="bullet" Spacing="compact">
  186. <ListItem>
  187. <Para>
  188. running the <ProductName>Postgres</ProductName>  terminal  monitor  programs
  189.  (e.g. <Application>psql</Application>) which allows you to interactively
  190.         enter, edit, and execute <Acronym>SQL</Acronym> commands.
  191. </Para>
  192. </ListItem>
  193. <ListItem>
  194. <Para>
  195.       writing a <Acronym>C</Acronym>  program  using  the  LIBPQ  subroutine
  196.         library.   This  allows  you  to submit <Acronym>SQL</Acronym> commands
  197.         from <Acronym>C</Acronym> and get answers and status messages  back  to
  198.         your  program.   This interface is discussed further
  199.         in <citetitle>The PostgreSQL Programmer's Guide</citetitle>.
  200. </Para>
  201. </ListItem>
  202. </ItemizedList>
  203. You might want to start up <Application>psql</Application>, 
  204. to try out the examples in this manual.
  205.  It can be activated for the <Database>mydb</Database>
  206.      database by typing the command:
  207. <ProgramListing>
  208. % psql mydb
  209. </ProgramListing>
  210.      You will be greeted with the following message:
  211. <ProgramListing>
  212. Welcome to the POSTGRESQL interactive sql monitor:
  213.   Please read the file COPYRIGHT for copyright terms of POSTGRESQL
  214.    type ? for help on slash commands
  215.    type q to quit
  216.    type g or terminate with semicolon to execute query
  217.  You are currently connected to the database: template1
  218. mydb=>
  219. </ProgramListing>
  220. </Para>
  221. <Para>
  222. This prompt indicates that the terminal monitor is listening
  223.   to you and that you can type <Acronym>SQL</Acronym> queries into a
  224.      workspace maintained by the terminal monitor.
  225.      The <Application>psql</Application> program responds to escape  codes  that  begin
  226.      with  the  backslash  character, <Quote></Quote>  For example, you
  227.      can get help on the syntax of various
  228.  <ProductName>Postgres</ProductName> <Acronym>SQL</Acronym> commands by typing:
  229. <ProgramListing>
  230. mydb=> h
  231. </ProgramListing>
  232.      Once  you  have finished entering your queries into the
  233.      workspace, you can pass the contents of  the  workspace
  234.      to the <ProductName>Postgres</ProductName> server by typing:
  235. <ProgramListing>
  236. mydb=> g
  237. </ProgramListing>
  238.      This  tells  the  server  to process the query.  If you
  239.      terminate your query with a semicolon, the  <Quote>g</Quote> is  not
  240.      necessary.
  241.      <Application>psql</Application> will automatically process semicolon terminated queries.
  242.      To read queries from a file,  say  myFile,  instead  of
  243.      entering them interactively, type:
  244. <ProgramListing>
  245. mydb=> i fileName
  246. </ProgramListing>
  247.      To get out of <Application>psql</Application> and return to UNIX, type
  248. <ProgramListing>
  249. mydb=> q
  250. </ProgramListing>
  251.      and  <Application>psql</Application>  will  quit  and  return  you to your command
  252.      shell. (For more escape codes, type <Command>h</Command> at  the  monitor
  253.      prompt.)
  254.      White  space  (i.e.,  spaces, tabs and newlines) may be
  255.      used freely in <Acronym>SQL</Acronym> queries.  Single-line comments  are  denoted  by
  256.      <Quote>--</Quote>.   Everything  after the dashes up to the end of the
  257.      line is ignored. Multiple-line comments, and comments within a line,
  258.      are denoted by <Quote>/* ... */</Quote>
  259. </Para>
  260. </Sect2>
  261.      
  262. <Sect2>
  263. <Title>Destroying a Database</Title>
  264. <Para>
  265.      If you are the database administrator for the  database
  266.      <Database>mydb</Database>,  you can destroy it using the following UNIX command:
  267. <ProgramListing>
  268. % destroydb mydb
  269. </ProgramListing>
  270.      This action physically removes all of  the  UNIX  files
  271.      associated  with  the database and cannot be undone, so
  272.      this should only be done with a  great  deal  of  forethought.
  273. </Para>
  274. </Sect2>
  275. </Sect1>
  276. </Chapter>
  277. <!-- Keep this comment at the end of the file
  278. Local variables:
  279. mode: sgml
  280. sgml-omittag:t
  281. sgml-shorttag:t
  282. sgml-minimize-attributes:nil
  283. sgml-always-quote-attributes:t
  284. sgml-indent-step:1
  285. sgml-indent-data:t
  286. sgml-parent-document:nil
  287. sgml-default-dtd-file:"./reference.ced"
  288. sgml-exposed-tags:nil
  289. sgml-local-catalogs:"/usr/lib/sgml/CATALOG"
  290. sgml-local-ecat-files:nil
  291. End:
  292. -->