mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			232 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			232 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <HTML>
 | |
| <HEAD>
 | |
| 	<TITLE>The POSTGRES95 User Manual - GETTING STARTED</TITLE>
 | |
| </HEAD>
 | |
| 
 | |
| <BODY>
 | |
| 
 | |
| <font size=-1>
 | |
| <A HREF="pg95user.html">[ TOC ]</A> 
 | |
| <A HREF="architec.html">[ Previous ]</A> 
 | |
| <A HREF="query.html">[ Next ]</A> 
 | |
| </font>
 | |
| <HR>
 | |
| <H1>3.  GETTING STARTED WITH POSTGRES</H1>
 | |
| <HR>
 | |
|      This section discusses how to start POSTGRES and set up
 | |
|      your own environment  so  that  you  can  use  frontend
 | |
|      applications.  We assume POSTGRES has already been 
 | |
|      successfully installed. (Refer to the  installation  notes
 | |
|      for how to install POSTGRES.)
 | |
| <p>
 | |
|      Some  of the steps listed in this section will apply to
 | |
|      all POSTGRES users, and some will  apply  primarily  to
 | |
|      the site database administrator.  This site administrator 
 | |
|      is the person who installed the  software,  created
 | |
|      the  database  directories  and  started the <B>postmaster</B>
 | |
|      process.  This person does not  have  to  be  the  UNIX
 | |
|      superuser,  "root,"  or the computer system administrator.
 | |
|      In this section,  items  for  end  users  are  labelled
 | |
|      "User"  and  items  intended for the site administrator
 | |
|      are labelled "Admin."
 | |
|      Throughout this manual, any examples  that  begin  with
 | |
|      the  character  ``%'' are commands that should be typed
 | |
|      at the UNIX shell prompt.  Examples that begin with the
 | |
|      character ``*'' are commands in the POSTGRES query 
 | |
|      language, POSTGRES <B>SQL</B>.
 | |
| 
 | |
| <H2><A NAME="setting-up-your-environment">3.1.  Admin/User: Setting Up Your Environment</A></H2>
 | |
|      <IMG SRC="figure02.gif" ALT="Figure 2.  POSTGRES file layout.">
 | |
|      Figure 2. shows how the POSTGRES  distribution  is  laid
 | |
|      out  when installed in the default way. For simplicity,
 | |
|      we will assume that POSTGRES has been installed in  the
 | |
|      directory  /usr/local/postgres95.   Therefore, wherever
 | |
|      you see the directory /usr/local/postgres95 you  should
 | |
|      substitute  the name of the directory where POSTGRES is
 | |
|      actually installed.
 | |
|      All POSTGRES commands are installed  in  the  directory
 | |
|      /usr/local/postgres95/bin.   Therefore,  you should add
 | |
|      this directory to your shell command path.  If you  use
 | |
|      a variant of the Berkeley C shell, such as csh or tcsh,
 | |
|      you would add
 | |
| <pre>         % set path = ( /usr/local/postgres95/bin $path )
 | |
| </pre>
 | |
|      in the .login file in your home directory.  If you  use
 | |
|      a  variant  of  the  Bourne  shell, such as sh, ksh, or
 | |
|      bash, then you would add
 | |
| <pre>
 | |
|          % PATH=/usr/local/postgres95/bin:$PATH
 | |
|          % export PATH
 | |
| </pre>
 | |
|      to the .profile file in your home directory.
 | |
|      From now on, we will assume that  you  have  added  the
 | |
|      POSTGRES  bin  directory to your path.  In addition, we
 | |
|      will make frequent reference to "setting a shell  
 | |
|      variable"  or  "setting an environment variable" throughout
 | |
|      this document.  If you did  not  fully  understand  the
 | |
|      last  paragraph  on  modifying  your  search  path, you
 | |
|      should consult the UNIX manual pages that describe your
 | |
|      shell before going any further.
 | |
| 
 | |
| <H2><A NAME="starting-the-postmaster">3.2.  Admin: Starting the <B>Postmaster</A></B></H2>
 | |
|      It  should  be clear from the preceding discussion that
 | |
|      nothing can happen to a database unless the  <B>postmaster</B>
 | |
|      process  is  running.  As the site administrator, there
 | |
|      are a number  of  things  you  should  remember  before
 | |
|      starting  the  <B>postmaster</B>.   These are discussed in the
 | |
|      section of this  manual  titled,  "Administering  POSTGRES."  
 | |
|      However, if POSTGRES has been installed by following 
 | |
|      the installation instructions exactly  as  written,  the  
 | |
|      following  simple  command is all you should
 | |
|      need to start the <B>postmaster</B>:
 | |
| <pre>         % postmaster &
 | |
| </pre>
 | |
|      The <B>postmaster</B> occasionally prints out  messages  which
 | |
|      are  often helpful during troubleshooting.  If you wish
 | |
|      to view debugging messages from the <B>postmaster</B>, you can
 | |
|      start  it with the -d option and redirect the output to
 | |
|      the log file:
 | |
| <pre>         % postmaster -d >& pm.log &
 | |
| </pre>
 | |
|      If you do not wish to see these messages, you can type
 | |
| <pre>         % postmaster -S
 | |
| </pre>
 | |
|      and the <B>postmaster</B> will be "S"ilent.  Notice that there
 | |
|      is no ampersand ("&") at the end of the last example.
 | |
| 
 | |
| <H2><A NAME="adding-and-deleting-users">3.3.  Admin: Adding and Deleting Users</A></H2>
 | |
|      The createuser command enables specific users to access
 | |
|      POSTGRES.  The destroyuser command  removes  users  and
 | |
|      prevents them from accessing POSTGRES.  Note that these
 | |
|      commands only affect users with  respect  to  POSTGRES;
 | |
|      they  have  no  effect administration of users that the
 | |
|      operating system manages.
 | |
| 
 | |
| <H2><A NAME="starting-applications">3.4.  User: Starting Applications</A></H2>
 | |
|      Assuming that  your  site  administrator  has  properly
 | |
|      started  the  <B>postmaster</B>  process and authorized you to
 | |
|      use the database, you (as a user) may begin to start up
 | |
|      applications.   As previously mentioned, you should add
 | |
|      /usr/local/postgres95/bin to your  shell  search  path.
 | |
|      In  most  cases,  this  is all you should have to do in
 | |
|      terms of preparation.<A HREF="#1">1</A>
 | |
|      If  you get the following error message from a POSTGRES
 | |
|      command (such as <B>psql</B> or createdb):
 | |
| <pre>         connectDB() failed: Is the postmaster running at 'localhost' on port '4322'?
 | |
| </pre>
 | |
|      it is usually because (1) the <B>postmaster</B>  is  not  running, or (2) you are attempting to connect to the wrong
 | |
|      server host.
 | |
|      If you get the following error message:
 | |
| <pre>         FATAL 1:Feb 17 23:19:55:process userid (2360) !=
 | |
|            database owner (268)
 | |
| </pre>
 | |
|      it means that the site administrator started the  <B>postmaster</B>  as  the  wrong user.  Tell him to restart it as
 | |
|      the POSTGRES superuser.
 | |
| 
 | |
| <H2><A NAME="managing-a-database">3.5.  User: Managing a Database</A></H2>
 | |
|      Now that POSTGRES is up and running we can create  some
 | |
|      databases  to  experiment  with.  Here, we describe the
 | |
|      basic commands for managing a database.
 | |
| 
 | |
| <H3><A NAME="creating-a-database">3.5.1.  Creating a Database</A></H3>
 | |
|      Let's say you want to create  a  database  named  mydb.
 | |
|      You can do this with the following command:
 | |
| <pre>         % createdb mydb
 | |
| </pre>
 | |
| 
 | |
|      POSTGRES  allows  you to create any number of databases
 | |
|      at a  given  site  and  you  automatically  become  the
 | |
|      database  administrator  of  the database you just created.  Database names must  have  an  alphabetic  first
 | |
|      character and are limited to 16 characters in length.
 | |
|      Not  every  user has authorization to become a database
 | |
|      administrator.  If POSTGRES refuses to create databases
 | |
|      for you, then the site administrator needs to grant you
 | |
|      permission to  create  databases.   Consult  your  site
 | |
|      administrator if this occurs.
 | |
| 
 | |
| <H3><A NAME="accessing-a-database">3.5.2.  Accessing a Database</A></H3>
 | |
|      Once you have constructed a database, you can access it
 | |
|      by:
 | |
|      <UL>
 | |
|       <LI>running the POSTGRES  terminal  monitor  programs  (
 | |
|         monitor  or  <B>psql</B>) which allows you to interactively
 | |
|         enter, edit, and execute <B>SQL</B> commands.
 | |
|       <LI>writing a  C  program  using  the  LIBPQ  subroutine
 | |
|         library.   This  allows  you  to submit <B>SQL</B> commands
 | |
|         from C and get answers and status messages  back  to
 | |
|         your  program.   This interface is discussed further
 | |
|         in section ??.
 | |
|      </UL>
 | |
|      You might want to start up <B>psql</B>, to try out  the  examples  in  this manual. It can be activated for the mydb
 | |
|      database by typing the command:
 | |
| <pre>         % psql mydb
 | |
| </pre>
 | |
|      You will be greeted with the following message:
 | |
| <pre>         Welcome to the POSTGRES95 interactive sql monitor:
 | |
| 
 | |
|             type \? for help on slash commands
 | |
|             type \q to quit
 | |
|             type \g or terminate with semicolon to execute query
 | |
|           You are currently connected to the database: mydb
 | |
| 
 | |
|          mydb=>
 | |
| </pre>     This prompt indicates that the terminal monitor is listening  to you and that you can type <B>SQL</B> queries into a
 | |
|      workspace maintained by the terminal monitor.
 | |
|      The <B>psql</B> program responds to escape  codes  that  begin
 | |
|      with  the  backslash  character, "\".  For example, you
 | |
|      can get help on the syntax of various POSTGRES <B>SQL</B> commands by typing:
 | |
| <pre>         mydb=> \h
 | |
| </pre>
 | |
|      Once  you  have finished entering your queries into the
 | |
|      workspace, you can pass the contents of  the  workspace
 | |
|      to the POSTGRES server by typing:
 | |
| <pre>         mydb=> \g
 | |
| </pre>
 | |
|      This  tells  the  server  to process the query.  If you
 | |
|      terminate your query with a semicolon, the  \g  is  not
 | |
|      necessary.   <B>psql</B> will automatically process semicolon terminated queries.
 | |
|      To read queries from a file,  say  myFile,  instead  of
 | |
|      entering them interactively, type:
 | |
| <pre>         mydb=> \i fileName
 | |
| </pre>
 | |
|      To get out of <B>psql</B> and return to UNIX, type
 | |
| <pre>         mydb=> \q
 | |
| </pre>
 | |
|      and  <B>psql</B>  will  quit  and  return  you to your command
 | |
|      shell. (For more escape codes, type \h at  the  monitor
 | |
|      prompt.)
 | |
|      White  space  (i.e.,  spaces, tabs and newlines) may be
 | |
|      used freely in <B>SQL</B> queries.  Comments  are  denoted  by
 | |
|      <b>--</b>.   Everything  after the dashes up to the end of the
 | |
|      line is ignored.
 | |
|      
 | |
| <H3><A NAME="detroying-a-database">3.5.3.  Destroying a Database</A></H3>
 | |
|      If you are the database administrator for the  database
 | |
|      mydb,  you can destroy it using the following UNIX command:
 | |
| <pre>         % destroydb mydb
 | |
| </pre>
 | |
|      This action physically removes all of  the  UNIX  files
 | |
|      associated  with  the database and cannot be undone, so
 | |
|      this should only be done with a  great  deal  of  fore-thought.
 | |
| 
 | |
| <p>
 | |
| <HR>
 | |
| 
 | |
| <A NAME="1"><B>1.</B></A> If your site administrator has not set things up in the
 | |
| default  way,  you may have some more work to do.  For example, if the database server machine is a remote machine, you
 | |
| will need to set the <B>PGHOST</B> environment variable to the name
 | |
| of the database server machine.   The  environment  variable
 | |
| <B>PGPORT</B> may also have to be set.  The bottom line is this: if
 | |
| you try to start an application  program  and  it  complains
 | |
| that it cannot connect to the <B>postmaster</B>, you should immediately consult your site administrator to make sure that your
 | |
| environment is properly set up.
 | |
| 
 | |
| <HR>
 | |
| <font size=-1>
 | |
| <A HREF="pg95user.html">[ TOC ]</A> 
 | |
| <A HREF="architec.html">[ Previous ]</A> 
 | |
| <A HREF="query.html">[ Next ]</A> 
 | |
| </font>
 | |
| </BODY>
 | |
| </HTML>
 |