PostgreSQL 6.4.2  ġ ̵(1999/01/10)     - (hipon@kitel.co.kr)
-------------------------------------------------------------------------


1.  ..
----------------- 

%   Postgres ִ  Install   ۵Ǿϴ.
%  ڼ  postgresȨ 湮Ͻðų, α׷ ҽ
% doc丮 Ͻñ ٶϴ.

% α׷ ġϰų Ҷ ߿Ѱ α׷  ڰ
  α׷ Բ ־  , README о Դϴ.
%   PostgreSQL ⺻ ġ  ѱۻ, ׸ 
  ġغ ڰ ϰ   ֵ  Ǿ ֽϴ.
% ׷Ƿ,    ڼ  ˰ ø Բ ԵǾ
  ִ REAME   Բ о   մϴ.

%   ǻ  ߽ϴ.  عٶϴ.


   1.1  ġ Hardware 
       (Ʒ  ̰, postgres  ġǴ 386̻
        ǻ̸ ġϴ.)

     Computer : SAMSUNG Magic Station M6000
     CPU : Intel Pentium II 300 Mhz (512KB Internal Cache)
     RAM : SAMSUNG SDRAM 64MB
     VIDEO : ATI 3D Rage Pro (Korean) - AGP 4MB
     SOUND : ESS ES1689 AudioDrive at 0x220 irq 5 dma 1,5
     MOUSE : SEJIN PS/2 type
     FDD : SAMSUNG 3.5" 1.44MB
     HDD : FUJITSU MPC3043AT, 4125MB, CHS=525/255/63, UDMA
           :... WINDOWS 98
           SAMSUNG WN310820A (1.08GB), 1030MB, CHS=523/64/63, DMA
           :... LINUX
     CDROM : SAMSUNG CD-ROM SCR-3232 VM103, ATAPI 32X CDROM drive
     NETWORK : 3COM 3c900b TPO , IRQ 3
     MODEM : SAMSUNG LTV90 (56Kbps)
     MONITOR : SAMSUNG 17" Magic Monitor, CKG7507L(D),
               :... Syncmaster 700M(s)

   1.2  ġ Software 
           
     OS : ALzzA RedHat Linux 5.2 (Kernel 2.0.36)
     XFree86 : XFree86-3.3.2.3-25kr
     Netscape : Netscape-4.0.7-3kr
     glibc : glibc-2.0.7-29
     Webserver : Apache-1.3.3-3kr
     PHP : PHP3-3.0.5-3
     flex : flex-2.5.4a-4
     Database : PostgreSQL-6.4.2

     ;  ڴ Apache + PHP + PostgreSQL ؼ ۾Ѵ.
     ; ¥  5.2 ڶ Apache PHP ׸ PostgreSQL
        ⺻ ġǾִ.
     ; Ư PHP PostgreSQL mySQL ϰԲ Aphache 
        ȭ Ǿִ.
     ; ׷Ƿ PostgreSQL̳ mySQL ̿Ͽ ͺ̽ 
        Ϸ ̿ڴ Apache PHP ٽ ġ ʿ䰡 
        ״ ϸ ǰ, Ÿ̽(PostgreSQL) 
       ׷̵ ش.

   1.3 ġ 䱸
 
     ҽġ : 30MB ̻
                :... /usr/src/pgsql
     ġϱ : 20MB ̻ ( Ÿ̽ )
                :... /usr/local

   1.4  Ű  (RedHat )
  
     X  : ǿ  postgres .
     Ϲݻ : rpm -e postgresqlxx (ġ Ű ̸)
  
   1.5  
     # : root α  ()
     $ : postgres α  ()


2. ġ 
------------

   2.1 PostgreSQL ֽŹ 

     Ȩ : http://www.postgresql.org     
     FTP : ftp://ftp.postgresql.org/pub/INSTALL
     (1999/01/10) ֽŹ : 6.4.2

   2.2 Postgres   ߱ (̹  ǳʶ)

     ; root αϿ groupadd command ̿ "postgres" ׷ . 
        : groupadd [g gid [-o]] [-r] [-f] group

       # addgroup -g 233 postgres

     ; root ¿ useradd command ̿
       "postgres"  Ѵ.

        : useradd [-u uid [-o]] [-g group] [-G group,...] 
                      [-d home] [-s shell] [-c comment] 
                      [-m [-k template]] [-f inactive]
                      [-e expire mm/dd/yy] [-p passwd] 
                      [-n] [-r] name

       # useradd -u 200 -g postgres postgres

   2.3 Postgres  α. 

        κ ۾   Ѵ.

     # su - postgres

   2.4 flex  Ȯ.

     $ flex --version

     ;   2.5.2 Ȥ 2.5.4 ̸̻ OK
     ;   2.5.3 ̳ 2.5.2 ̸ ׷̵ ʼ!
     
     ; flex  Ʈ  ִ.
       ==> Ʈ : ftp://prep.ai.mit.edu/pub/gnu

     ; flex ġ 

       # tar xvzf flex-2.5.4.tar.gz
       # cd flex-2.5.4
       # make
       # make check
       # make install (Ʈ..)

   2.5  postgres ׷̵ ϴ 
       ( ġϴ  2.8 ̵)

     ;  Ÿ Ѵ.

     $ pg_dumpall -z > db.out

     ; ֽ  pg_dumpall  ̿Ϸ..
       ( \ ٰ Ǿٴ ǥ, \ǥô Է )

       $ gunzip -c postgresql-v6.4.2.tar.gz \
                | tar xvf -src/bin/pg_dumpall    <= ٿ Է
       $ chmod a+x src/bin/pg_dump/pg_dumpall 
       $ src/bin/pg_dump/pg_dumpall -z > db.out
       $ rm -rf src

     ; db.out  Ȯ .

       $ ls -l db.out

   2.6 ׷̵带 Ϸ  postmaster Ų.

     $ ps -ax | grep postmaster
     $ kill pid ( Ȯε ȣ)

   2.7  丮 Ѵ.

     # cd /usr/src
     # mv pgsql pgsql_6_0
     # cd /usr/local
     # mv pgsql pgsql_6_0

   2.8 ġ 丮 .

     # cd /usr/src
     # mkdir pgsql
     # chown postgres.postgres pgsql
     # cd /usr/local
     # mkdir pgsql
     # chown postgres.postgres pgsql

   2.9 ҽ  Ǭ.
       (  ġ ϰ ϱ ؼ root ġ
        postgres   ִ  ϰڴ.)
 
     # cd /usr/src/pgsql
     # tar xzvf (ҽ ִ 丮)/postgresql-v6.4.2.tar.gz

   2.10 ҽڵ带 ýۿ ° Ѵ.

     # cd /usr/src/pgsql/src
     # ./configure [ options ]

     ; ʿ ɼ   
       * pentium pro ޿ ȭ
         ( Ŀ  ټ α׷ κ 386 
          ط Ű¡۾ Ѵ.
          postgresa ܴ ƴϾ ⺻ġ 386޿ ȭ
          Ǿִ. pentium ̶̻ Ʒ  ָȴ.
          -  386 ȭǳ ̻εǳ ̴
             .)

       # cd /usr/src/pgsql/src
       # vi Makefile.custom
         CFLAG+= -m486       <==   ۼϰ Ѵ.
       ׷ pentitum pro  ̻󿡼 ȭ ȴ.

       ** ѱ  (ƼƮ  )
       
       ; ̺  ʵ忡 ѱ Ϸ configure ɼ ش.
         ɼ : --with-mb=EUC_KR

      :  configure 

         # cd /usr/src/pgsql/src
         # vi Makefile.custom
           CFLAG+= -m486
         # ./configure --with-mb=EUC_KR

   2.11    HTML ȭ ġ

     # cd /usr/src/pgsql/doc
     # make install

   2.12 α׷ 

     # cd /usr/src/pgsql/src
     # make all

     ;   ߴٸ 

       # make clean
         ٽ ɼǵ ؼ  ϸ ȴ.

     ;   Ǿ   ޼ δ. 
       'All of PostgreSQL is successfully made. Ready to install'

   2.13 α׷ ġ
       
     ; ġ postgres  Ѵ.

     $ cd /usr/src/pgsql/src
     $ make install

     ;  postgres  ġ  ȵɶ, root ġ ϰ
       pgsql丮 Ѹ ָ    ִ. 
       
       # chown -R postgres.postgres /usr/local/pgsql
     
   2.14 ý ̺귯 ʿҶ,  ã ֵ Ʒ 
          ش.

     a.   켱 root αؼ.. /etc/ld.so.conf Ͽ
          ߰.
         /usr/local/pgsql/lib
        ׸  /sbin/ldconfig  Ѵ.

     ;  ý̶ a  ϸ ǰ, ٸ unixý̶ 
       a  b c  ʿ䰡  𸥴.

     b. (bash) ̶, Ʒ  .
        export LD_LIBRARY_PATH=/usr/local/pgsql/lib

     c. C(csh) ̶, Ʒ  .
        setenv LD_LIBRART_PATH /usr/local/pgsql/lib

     ; Ÿ̽ Ҷ, Ʒ  ޼   
       ʿϴ.

       pd_id: can't load library 'libpq.so'

       ׸ ٽ Ÿ̽ Ѵ.
       
   2.15 ȯ溯 Ѵ.

     a.  α ȯ溯  ߰Ѵ.
        (bash ) 

        ~/.bash_profile

        PATH=$PATH:/usr/local/pgsql/bin
        MANPATH=$MANPATH:/usr/local/pgsql/man
        PGLIB=/usr/local/pgsql/lib
        PGDATA=/usr/local/pgsql/data
        export PATH MANPATH PGLIB PGDATA

     b. ȯ溯 ϰ   ϸ ȴ.

        $ source ~/.bash_profile 

     % ȯ溯  

     ;    ڿ   ְ ִ 
       ̰,  ڿ   ְ Ϸ Ʒ 
       ϴ  ִ.
     
     ;  , /etc/profile.d  postgresȯ溯 .
        postgres-environment.sh (bash  )Ϸ .
        ̸   bash   .sh ϰ
       csh̳ tcsh ڴ  .csh Ͽ setenv Ͽ 
       Ʒ   ȯ溯   ִ.

       ) /etc/profile.d/postgres-environment.sh
        PATH=$PATH:/usr/local/pgsql/bin
        MANPATH=$MANPATH:/usr/local/pgsql/man
        PGLIB=/usr/local/pgsql/lib
        PGDATA=/usr/local/pgsql/data
        export PATH MANPATH PGLIB PGDATA

     ; .sh  .csh   డϰ ִ° .
       ( root..)

       # chmod 755 /etc/profile.d/postgres-environment.sh

      ; /etc/profile.d/ 丮  , 

        /etc/profile (bash) /etc/csh.cshrc (csh/tcsh)
        Ͽ   ߰ش.

   2.16 Ÿ ̽ ʱȭѴ (ݵ postgres α)
        (  ۾ postgres Ѵ.  
          root  ,  쿡 
         ȿ ū  ϰ ȴ.) 

     $ initdb

     % ƼƮ ڵ !!

     ; initdb command postgresql ⺻ ڵ ʱȭȴ.
        ,

       $ initdb -e EUC_KR
     
       ̷ ϸ ѱ۷ ڵ   ִ.
       (EUC_JP ϸ Ϻ, EUC_CN ϸ ߱.. ڼ 
        doc/README.mb  )
     
   2.17 Ÿ̽   Ѵ.

     ;  ۾ /etc/local/pgsql/data/pg_hba.conf  Ѵ.
        ݵ б   д.
       ( Ҷ ߿ϴ. ÿ   ׳
        ֵ .)
      
   2.18 command line ϰ ׽Ʈ غ.

     a. postmaster 빮 .

        $ postmaster -i &
    
        ; 6.4  postmaster  Ǿµ, tcp 
          Ϸ,  ٸǻͿ Ʈũ Ÿ̽ Ҷ
          ݵ postmaster -i  Ѵ.
          (  pg_hba.conf    ־ Ѵ.)

        ; ÿ  Ŷ postmaster ϸ ȴ.

     b. Ÿ̽ .

        $ createdb

     c.  Ÿ̽ Ѵ.

        $ psql

     d. ׸,    .

        postgres=> SELECT datetime 'now';

     e. psql ´.
     
        postgres=> \q

     f. ׽Ʈ Ÿ̽ .

        $ destroydb

   2.19 Postgres   (տ postgres ) 
        postmaster Ѵ.  root   
        ʴ´. Ҷ ڵ  Ʒ 
         ش.

     ; Ʒ ۾  root Ѵ.
   
     a.  linux  unix ýۿ /etc/rc.d 丮
        ؿ Ҷ Ǵ   ũƮ ִ.  
        rc.local  Ͽ   ش.  root.
        (\ ٰ Ǿٴ ǥ, \ǥô Է )

       # PostgreSQL database Server starting   <== ּ

       echo "PostgreSQL Starting..."
       su postgres -c "/usr/local/pgsql/bin/postmaster -S -D \
          /usr/local/pgsql/data"       <== ٿ Է
        
    b.       ִ.

      ; /etc/inittab Ͽ   ߰Ѵ.
        (ٿ Էµ Ѵ.)

        pg:2345:respawn:/bin/su - postgres -c 
            "/usr/local/pgsql/bin/postmaster -D/usr/local/pgsql/data
            >> /usr/local/pgsql/server.log 2>&1 </dev/null"

      ; ̰ ϴ PostgreSQL   ִ ȯ Ǿ.
      ; Ʒʹ ׽Ʈ  Ÿ   ̴̾߱.
      ;  غ.

   2.20 ȸ׽Ʈ

     Ʒ  ԷѴ.

     $ cd /usr/src/pgsql/src/test/regress
     $ make clean
     $ make all runtest
 
     ;   ڶ   ̰, Ÿ ڶ 
         𸣰ڴ.(  int8 ׽Ʈϴٰ  ߻
       ߴٸ,  CϷ 64bit integer Ÿ Ÿ 
       ϱ ̴. ̰ 64bit Ÿ  ʿ䰡 
       츦 ϰ ص ȴ.)

     ;  ׽Ʈ    ԷѴ.

       $ destroydb regression
       $ cd /usr/src/pgsql/src/test/regress
       $ make clean

   2.21  Ÿ 
 
     ;  ġϴ 찡 ƴϰ, ׷̵ ϴ  
       (2.5 Ÿ  ) Ʒ  .

       $ cd   (db.out  ִ 丮 ̵)
       $ psql -e template1 < db.out
     
   2.22 ڷ 

     $ rm -rf /usr/src/pgsql_6_0
     $ rm -rf /usr/local/pgsql_6_0
    
     ;   ȭϵ ãƼ ش.

   2.23   Ϸ..

     ; Ʈ ũƮ ͸  

     $ cd /usr/local/pgsql/doc
     $ gunzip user.ps.tz | lpr

     ; Ʈ ũƮ Ͽ  ͷ Ѵٸ

     $ alias gshp='ps -sDEVICE=laserjet -r300 -dNOPAUSE'
     $ export 
       GS_LIB=/usr/share/ghostscript:/usr/share/ghostscript/fonts
     $ gunzip user.ps.gz
     $ gshp -sOUTPUTFILE=user.hp user.ps
     $ gzip user.ps
     $ lpr -l -s -r manpage.hp     


3. Postgres ϱ
--------------------

   ;  Ѵ Postgres ġ, Ÿ̽ ý ,
     postmaster 빮 ġ, ׸ ȸ׽Ʈ ƴٸ, 
     postres   ϴ  ̴.
     (Ư, ó ġ ڶ..)

   ; Postgres  KLDP  ãƺ    
     ִ.

   $ psql template1 
     (template1 Ư Ÿ ̸̽, ̰Ϳ  ڼ
       KLDP ٶ.)

     template1=>

   ; ⿡ foo Ÿ ̽  

      template1=> create database foo;
      CREATEDB

   ; Ÿ̽ 

     template1=> \c foo

     connecting to new database: foo

     ("slash" command SQL  ƴϾ ݷ(;) ʿ.)

     foo=> create table bar (i int4, c char(16));

     CREATE

   ; ׷ ο ̺ غ.

     foo=> \d bar

     Table   = bar
     +---------------+----------+---------+
     |   Field       |  Type    | Length  |
     +---------------+----------+---------+
     | i             | int4     |      4  |
     | c             | (bp)char |     16  |
     +---------------+----------+---------+

     ; Ϲ Ÿ̽ 鶧 createdb  ϰ,
       Ҷ destroydb  ϸ, DB ڸ ߰Ҷ
       createuser ϰ, Ҷ destroyuser Ѵ)

       ; foo Ÿ ̽ ٸ 

         $ createdb foo

       ; foo Ÿ ̽ ۾Ϸ..

         $ psql foo

       ; foo Ÿ ̽ Ϸ
         (ѹ  ڷ  Ұϴ.)
         
         $ destroydb foo

       ; gildong ̶ DBڸ ߰Ϸ..
         (ó postgres() DB   ִ.
          ׷, Ϲ ̿ڰ DB Ϸ,  Ѵ.)

         $ createuser gildong

       ; gildong ̶ DBڸ Ϸ..
         (̰  ü  ϴ° ƴϰ postgres
              ̴.)

         $ destroyuser gildong

         
4. ߰  
-------------------

   ; ̳  Ȥ ǵ , 켱 /usr/src/pgsql/doc/ 
      о. FAQ ū  ɰ̴. (ѱ۹ KLDP )
   
   ; , http://www.postgresql.org   湮Ͽ ֽ  .
   ;   postgres  ٷ  ƴϹǷ,  
     HOW-TO   ٶ.


5. ġ鼭
-----------

   ; ̻  ġ ϴ.

   ; PostgreSQL Բ ſ  Ǳ...

   ; ø, ׷쿡 Ͻðų,  ȣȸ Ͻø
     Ƿִ  е ֽ ̴ϴ.
