¿ø·¡ ¾´ »ç¶÷ : ¾Øµå·ù C.R. ¸¶Æ¾ 
(martin@biochem.ucl.ac.uk)
¿ì¸®¸»·Î ¿Å±ä »ç¶÷ : Á¤Á÷ÇÑ 
(honest@hitel.net)
         warning: cast from pointer to integer of different size
1.8)
[SuSE-Linux 4.2-4.4] curses ¿Í termcap ÀÌ ¾îµð¿¡ ÀÖ³ª¿ä?
        yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
        make: /usr/bin/make: cannot execute binary file
1.13)
   src/Makefile.global ÀÇ X11_LIB ¿¡ ÀÖ´Â libsocket °ú libnsl ·ÎÀÇ 
·¹ÆÛ·±½º´Â ¹«¾ùÀԴϱî?
        In file included from /usr/include/sys/sem.h:8, from ipc.c:37:
        /usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
        ....
        make: *** [ipc.o] Error 1
1.17)
   postgres, gcc ¸¦ ÄÄÆÄÀÏÇϸé signal 11 ÀÌ ¹ß»ýµÇ°í Áߴܵ˴ϴÙ.
          _fUnKy_POSTPORT_sTuFf_ undefined 
3.2)
    postmaster ¸¦ ½ÇÇà½ÃŰ°í ³ª¸é 'Bad system call(Core dumped) ¶ó´Â ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù.
        Failed Assertion("!(file != 0):(null)", File:
        "/usr/local/PostgreSQL/src/backend/storage/file/fd.c", Line: 257)
        !(file != 0) (0)
        initdb: could not create template database
        initdb: cleaning up.
3.4)
    createuser °¡ ¿Ö ÀÛµ¿ÇÏÁö ¾Ê³ª¿ä?
        IpcMemoryCreate: memKey=155356396 , size=760632 ,
        permission=384IpcMemoryCreate: shmget(..., create, ...)
        failed: Invalid argument
3.6)
    psql ÀÌ ÀÌ·± ¸Þ½ÃÁö¿Í ÇÔ²² Á¾·áµÇ°í ¸¿´Ï´Ù
        psql: can't load library 'libpq.so.1'
3.7)
    ±âŸ ÀÌ»óÇÑ Áõ»óµé±× ¿Ü¿¡ ÇØÁÖ¾î¾ß ÇÒ °ÍÀ̶ó°í´Â ¸¸ÀÏ Flex ÀÇ ¹öÀü 2.5.3 À» °¡Áö°í ÀÖÀ» °æ¿ì¿¡ Flex ¸¦ ´ëÄ¡ÇØÁÖ´Â °ÍÀÔ´Ï´Ù. 2.5.3. ¹öÀüÀº createuser ¸í·ÉÀ» ¼öÇàÇÏÁö ¸øÇÕ´Ï´Ù. (Áú¹® 3.4 ¸¦ º¸¼¼¿ä)
¼öÀÛ¾÷À¸·Î makefile µéÀ» °íÄ£´Ù¸é 
        PORTNAME=       linux
´ÙÀ½ ȯ°æº¯¼öµµ ¼³Ä¡Çϴ ȯ°æ¿¡ ¸Â°Ô ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
        POSTGRESDIR
USE_TCL ¿É¼ÇÀ» Äѳõ´Â´Ù¸é ´ÙÀ½ º¯¼öµéµµ ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
        TCL_INCDIR=
        TCL_LIBDIR=
        TCL_LIB=
        TK_INCDIR=
        TK_LIBDIR=
        TK_LIB=
        X11_INCDIR=
        X11_LIBDIR=
        X11_LIB=
½½·¢¿þ¾î 3.0 À» »ç¿ëÇÑ´Ù¸é ¾Æ¸¶ ÀÌ·¸°Ô µÉ °ÍÀÔ´Ï´Ù.
        TCL_INCDIR=     /usr/include/tcl
        TCL_LIBDIR=     /usr/lib
        TCL_LIB=        -ltcl
        TK_INCDIR=      /usr/include/tcl
        TK_LIBDIR=      /usr/lib
        TK_LIB=         -ltk
        X11_INCDIR=     /usr/include/X11
        X11_LIBDIR=     /usr/X386/lib
        X11_LIB=        -lX11
INSTALL ÆÄÀϰú Makefile.global ¿¡ ÀûÇôÀִ´ë·Î ´Ù¸¥ º¯¼öµéµµ ¾Ë¸Â°Ô ¼³Á¤ÇØ 
ÁÖ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù. 
µ¥ºñ¾È ¸®´ª½º´Â FreeBSD ¿Í ¸¶Âù°¡Áö·Î readline ¶óÀ̺귯¸®°¡ ±âº»À¸·Î ¼³Ä¡µÇ¾î ÀÖ½À´Ï´Ù.
libdl ¶óÀ̺귯¸®´Â ·±Å¸ÀÓ¿¡ »ç¿ëÀÚÁ¦°ø ÇÔ¼ö¸¦ µ¿ÀûÀ¸·Î ¸µÅ©Çϱâ À§ÇØ »ç¿ëµË´Ï´Ù. ¾î¶² ÀÌÀ¯¿¡¼±Áö ·¹µåÇÞ ¸®´ª½º¿¡´Â À̰ÍÀÌ ºüÁ® ÀÖ½À´Ï´Ù. ·¹µåÇÞ 4.0 (Colgate) ¿¡¼´Â °íÃÄÁ³½À´Ï´Ù.
·¹µåÇÞ »ç¿¡¼´Â »õ·Î¿î ld.so RPM ÆÐŰÁö¸¦ ÀÚ»çÀÇ FTP »çÀÌÆ®¿¡ ¿Ã·Á³õ¾Ò½À´Ï´Ù. ´ÙÀ½ ÆÄÀÏÀ» Âü°íÇϼ¼¿ä.
ftp://ftp.redhat.com/pub/redhat/devel/i386/RedHat/RPMS/ld.so-1.7.14-4.i386.rpmÆò¼Ò¿Í °°Àº ¹æ¹ýÀ¸·Î RPM ÆÄÀÏÀ» ÀνºÅçÇÏ½Ã¸é ¸¸»ç OK!
ÁÖÀÇ! ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÑ ÈÄ ÀçÄÄÆÄÀÏÀ» Çϱâ Àü¿¡ configure ¸¦ ´Ù½Ã ½ÇÇàÇÏ°í¼ Ã³À½ºÎÅÍ make ¸¦ ÇØ¾ß ÇÕ´Ï´Ù.
(³î¶ó¿î ÀÏÀº ¾Æ´Õ´Ï´Ù¸¸) ¶óÀ̺귯¸®¸¦ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ´Â µµÁß¿¡ ÇÁ·Î±×·¥ÀÌ ¶óÀ̺귯¸®¸¦ °Çµå¸®¸é ½Ã½ºÅÛÀÌ ±úÁú ¼ö ÀÖ´Ù´Â º¸°í°¡ ÀÖ½À´Ï´Ù (one report of corrupted system) »õ ¶óÀ̺귯¸®¸¦ ¼³Ä¡Çϱâ Àü¿¡ ½Ã½ºÅÛÀ» ¸®ºÎÆ® ½ÃŰ°í ¾÷±×·¹À̵尡 ÀÌ·ç¾îÁö°í ÀÖ´Â Áß¿¡´Â µÉ ¼ö ÀÖÀ¸¸é ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ´ÜÀÏ»ç¿ëÀÚ ¸ðµå·Î ÀÛ¾÷À» ÇÏ´Â °Íµµ ÁÁÀº »ý°¢ÀÔ´Ï´Ù.
¾î·Á¿î ¹æ¹ýÀ» ¾²°í ½Í´Ù¸é ´ÙÀ½ Àå¼Ò¿¡¼ ¶óÀ̺귯¸®¿Í Çì´õÆÄÀÏÀ» ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ftp://tsx-11.mit.edu/pub/linux/packages/GCC/ld.so-1.7.14.tar.gz´Ù¸¥ ¹æ¹ýÀ¸·Î´Â ÀÌ¹Ì ÄÄÆÄÀϵǾî ÀÖ´Â ¹ÙÀ̳ʸ® ÆÄÀÏÀ» °°Àº »çÀÌÆ®ÀÇ /distributions/debian/buzz/binary-i386/base/ld.so-1.7.14-4.deb ¿¡¼ ãÀ» ¼ö ÀÖ½À´Ï´Ù. ¾Æ´Ï¸é Áú¹® 1.2 ÀÇ ¼³¸í¿¡ µû¶ó ½½·¢¿þ¾î 3.1 ÀÇ ÀÌÀü ¸±¸®Áî¿¡ ÀÖ´ø µ¿ÀÏÇÑ ¿¡·¯¸¦ Àâ´Â ¹æ¹ýÀ» »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù. È®½ÇÈ÷ ÀÚ½ÅÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó¸é ÀÌ ¹æ¹ýÀº »ç¿ëÇÏÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
Áú¹® 1.3 ÀÇ ´äÀ» º¸¼¼¿ä. ½½·¢¿þ¾î ¹öÀü 3.0 ±îÁö´Â ÀÌ ¶óÀ̺귯¸®°¡ Æ÷ÇԵǾî ÀÖ¾ú°í, ¹öÀü 3.1 ÀÇ Èıâ¹öÀü¿¡µµ ¿ª½Ã Æ÷ÇԵǾî ÀÖÁö¸¸ ÃʱâÀÇ 3.1 ¸±¸®Áî (1996³â 9¿ù 9ÀÏ ÀÌÀü °Í) ¿¡´Â ºüÁ® ÀÖÀ¸¸ç ¸¹Àº CD-ROM ¹öÀüµéÀÌ ÃʱâÀÇ 3.1 ¸±¸®Áî·Î Á¦À۵Ǿú½À´Ï´Ù. (³î¶ó¿î ÀÏÀº ¾Æ´Õ´Ï´Ù¸¸) ¶óÀ̺귯¸®¸¦ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ´Â µµÁß¿¡ ÇÁ·Î±×·¥ÀÌ ¶óÀ̺귯¸®¸¦ °Çµå¸®¸é ½Ã½ºÅÛÀÌ ±úÁú ¼ö ÀÖ´Ù´Â º¸°í°¡ ÀÖ½À´Ï´Ù (one report of corrupted system) »õ ¶óÀ̺귯¸®¸¦ ¼³Ä¡Çϱâ Àü¿¡ ½Ã½ºÅÛÀ» ¸®ºÎÆ® ½ÃŰ°í ¾÷±×·¹À̵尡 ÀÌ·ç¾îÁö°í ÀÖ´Â Áß¿¡´Â µÉ ¼ö ÀÖÀ¸¸é ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰÁö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ´ÜÀÏ»ç¿ëÀÚ ¸ðµå·Î ÀÛ¾÷À» ÇÏ´Â °Íµµ ÁÁÀº »ý°¢ÀÔ´Ï´Ù.
°¡Àå ½±°Ô ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀº ÃÖ±ÙÀÇ ½½·¢¿þ¾î ¹èÆ÷ÆÇÀÇ a4 µð½ºÅ©¿¡ ÀÖ´Â ldso.tgz ÆÄÀÏÀ» °¡Á®´Ù°¡ ·çÆ®(/) µð·ºÅ丮¿¡ Ç®°í, ´ÙÀ½ ¸í·É¾î¸¦ ½ÇÇàÇÏ´Â °ÍÀÔ´Ï´Ù.
        sh install/doinst.sh
¼³Ä¡¸¦ ¿Ï·áÇÏ·Á¸é ´ÙÀ½À» ½ÇÇàÇϼ¼¿ä.
        ldconfig
ÁÖÀÇ! ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÑ ÈÄ ÀçÄÄÆÄÀÏÀ» Çϱâ Àü¿¡ configure ¸¦ ´Ù½Ã ½ÇÇàÇϰí¼
óÀ½ºÎÅÍ make  ¸¦ ÇØ¾ß ÇÕ´Ï´Ù.¼öµ¿À¸·Î ¼³Ä¡ÇÏ°í ½Í´Ù¸é ¸ÕÀú dlfcn.h ¸¦ /usr/include ¿¡ ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù.
±×·± ´ÙÀ½, libdl.so.1.7.14 (°¡Àå ÃÖ±Ù¹öÀüÀÌ¸é µË´Ï´Ù) ¸¦ /lib ¿¡ ¼³Ä¡ÇÕ´Ï´Ù. ±×¸®°í ´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇàÇϼ¼¿ä.
        cd /lib
        ln -sf libdl.so.1.7.14 libdl.so.1
        ln -sf libdl.so.1 libdl.so
¾î¶² ½Ã½ºÅÛ¿¡¼´Â (GCC ¼³Á¤¿¡ µû¶ó ´Ù¸¨´Ï´Ù) ´ÙÀ½ ÀÛ¾÷À» ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.
        cd /usr/lib
        ln -sf /lib/libdl.so .
¸¶Áö¸·À¸·Î ´ÙÀ½À» ½ÇÇàÇϼ¼¿ä
        ldconfig
ÁÖÀÇ! ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇÑ ÈÄ ÀçÄÄÆÄÀÏÀ» Çϱâ Àü¿¡ configure ¸¦ ´Ù½Ã ½ÇÇàÇϰí¼
óÀ½ºÎÅÍ make  ¸¦ ÇØ¾ß ÇÕ´Ï´Ù.src/Makefile.global À» ÆíÁýÇÏ¿© CFLAGS_SL ÀÇ °ªÀ» ¹Ù²Ù¸é ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
        warning: cast from pointer to integer of different size
Postgres95 ÀÇ Ãʱâ¹öÀü¿¡¼´Â ÀÌ·± ¸Þ½ÃÁö°¡ ³ª¿ÔÀ¸³ª ¹«½ÃÇØµµ µÇ´Â °ÍÀ̾ø½À´Ï´Ù.
PostgreSQL 6.0 ¿¡¼´Â ½Ã½ºÅÛ Çì´õÆÄÀϵ鿡 °ü·ÃµÈ °ÍµéÀ» (ÀÌ°Í ¿ª½Ã ¹«½ÃÇØµµ 
µÇ´Â °ÍÀÔ´Ï´Ù)  Á¦¿ÜÇϰí´Â ÀÌ·± ¸Þ½ÃÁö°¡ ³ª¿ÀÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù. 
        LDADD_BE+= -L/usr/lib/termcap
src/bin/psql/Make ¸¦ ÆíÁýÇÏ¿© ´ÙÀ½ Ç׸ñÀ» ¼öÁ¤ÇØ¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
        ifeq ($(PORTNAME), linux)
            LD_ADD+=
        À̰ÍÀ» ¾Æ·¡°ú °°ÀÌ ¹Ù²Ù¼¼¿ä.
        ifeq ($(PORTNAME), linux)
            LD_ADD+= -ltermcap
PostgreSQL( V6.1 )
----------------------
¼³Á¤(configure) ½ºÅ©¸³Æ®´Â termcap ¶óÀ̺귯¸®°¡ /usr/lib/termcap ¿¡ ÀÖ´Ù´Â °ÍÀ» 
¾ËÁö ¸øÇÕ´Ï´Ù. µû¶ó¼ »ç¿ëÀÚ´Â Ãß°¡ °Ë»öÇÒ µð·ºÅ丮¸¦ ¹°¾î¿Ã ¶§ /usr/lib/termcap
ÀÌ ¶óÀ̺귯¸® µð·ºÅ丮¶ó´Â °ÍÀ» ¸í½ÃÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
ÀÌ ¹æ¹ýÀÌ È¿°ú°¡ ¾ø´Ù¸é (ÇÊÀÚ¿¡°Ô SuSE °¡ ¾ø¾î¼ °Ë»çÇØ º¸Áö ¸øÇß½À´Ï´Ù) 
configure ¸¦ ½ÇÇàÇÑ ÈÄ, src/Makefile.global À» ÆíÁýÇÏ¿© LDFLAGS °¡ ÀÖ´Â ÁÙÀÇ 
-lreadline µÚ¿¡ -ltermcap À» Ãß°¡ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. (¾Æ´Ï¸é, configure ¸¦ 
½ÇÇà½Ã۱â Àü¿¡ src/Makefile.custom À» ¼öÁ¤ÇØ Á־ µË´Ï´Ù)
SuSE ÀÇ ¾î¶² ¹öÀüÀº ncurses ¸¸À» Á¦°øÇϹǷΠcurses ´ë½Å ncurses ¸¦ »ç¿ëÇϵµ·Ï 
°Á¦ÀûÀ¸·Î -lcurses ¸¦ -lncurses ·Î ¹Ù²ãÁÖ¾î¾ß ÇÕ´Ï´Ù. (SuSE 5.1 ¿¡¼ ±×·¸´Ù´Â 
º¸°í°¡ ÀÖ½À´Ï´Ù)
Linux/libs/dld.3.2.7.tar.gz ( ftp://sunsite.unc.edu/pub/Linux/libs/dld.3.2.7.tar.gz)±×·± ´ÙÀ½, src/Makefile.custom ¿¡ ¾Æ·¡ÀÇ ³»¿ëÀ» Ãß°¡Çϼ¼¿ä.
        LINUX_ELF=
(Ä¿½ºÅ͸¶ÀÌÁîÇÏ´Â ½ºÅ©¸³Æ®¸¦ »ç¿ëÇØµµ µË´Ï´Ù)
        yacc -d /disk2/PostgreSQL/src/backend/parser/gram.y
        make: /usr/bin/make: cannot execute binary file
Postgres95 ÀÇ Ãʱâ¹öÀü¿¡¼ ÀÖ¾ú´ø ¹®Á¦ÀÔ´Ï´Ù. PostgreSQL Àº ±âº»ÀûÀ¸·Î 
yacc °¡ ¾Æ´Ï¶ó bison -y ¸¦ »ç¿ëÇÕ´Ï´Ù.yacc ´Â ÀϹÝÀûÀ¸·Î bison -y ¸¦ ºÎ¸£´Â ½ºÅ©¸³Æ®·Î ±¸ÇöµÈ´Ù. ¾î¶² ÀÌÀ¯¿¡¼±Áö make °¡ ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃŰÁö ¸øÇÑ´Ù. (make ÀÇ ¾î¶² ¹öÀüÀÎÁö? bash ÀÇ ¾î¶² ¹öÀüÀÎÁö?) ÀÌ ¹®Á¦¸¦ ÇØ°áÇϱâ À§Çؼ´Â src/mk/port/postgres.mk.linux ¸¦ ¿¾î ¸¶Áö¸· ÁÙÀÇ
        #YACC = bison -y 
¸¦
        YACC = bison -y 
·Î ¹Ù²Ù¾î ÁÝ´Ï´Ù.
src/bin/psql/Makefile À» ÆíÁýÇÏ¿© ´ÙÀ½ ÁÙÀ» º¯°æÇØ ÁÖ¼¼¿ä.
        ifeq ($(PORTNAME), linux)
            LD_ADD+= -ltermcap
À̰ÍÀ» ´ÙÀ½°ú °°ÀÌ º¯°æÇÕ´Ï´Ù
        ifeq ($(PORTNAME), linux)
            LD_ADD+=
À̰ÍÀº ¹Ì¸® ÄÄÆÄÀϵǾîÀÖ´Â ¹öÀüÀÌ¸ç ¼Ò½º RPM Àº ±ÛÀ» ¾²´Â ½ÃÁ¡¿¡ ÀÖ´Â À§Ä¡ÀÔ´Ï´Ù. (1997³â 2¿ù 3ÀÏ)
        In file included from /usr/include/sys/sem.h:8, from ipc.c:37:
        /usr/include/asm/bitops.h:32: warning: no previous prototype for Set_bit'
        ....
        make: *** [ipc.o] Error 1
¸®´ª½º°¡ ÇØ´ç ÀζóÀÌ´Ï ÇÔ¼öµé¿¡ ´ëÇØ ÇÁ·ÎÅäŸÀÔÀ» Á¦°øÇÏÁö ¾Ê±â ¶§¹®¿¡ »ý±â´Â
¹®Á¦ÀÔ´Ï´Ù. ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é .../src/backend/storage/ipc µð·ºÅ丮¿¡ ÀÖ´Â
Makefile À» ÆíÁýÇÏ¿© ´ÙÀ½°ú °°ÀÌ º¯°æÀ» ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.
        CFLAGS+=$(INCLUDE_OPT)
À̰ÍÀ» ¾Æ·¡¿Í °°ÀÌ ¹Ù²ß´Ï´Ù.
        CFLAGS+=$(INCLUDE_OPT) -Wno-error
../src/backend/storage/lmgr µð·ºÅ丮¿¡¼µµ µ¿ÀÏÇÑ ÀÛ¾÷À» ÇØÁÖ¼¼¿ä.
        gcc: Internal compiler error: program cc1 got fatal signal 11
Çϵå¿þ¾î ³»Áö ¸Þ¸ð¸® ¹®Á¦ÀÎ °Í °°½À´Ï´Ù. PostgreSQL Àº ¸Å¿ì Å« ÇÁ·Î±×·¥À̸ç
gcc ¿¡¼ Å« ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ´Â °ÍÀº (PostgreSQL À» ÄÄÆÄÀÏÇϰųª Ä¿³ÎÀ» 
¸®ºôµåÇÏ´Â µî) ¸Þ¸ð¸®¿¡ ±²ÀåÇÑ ºÎÇϸ¦ ÁÖ°Ô µÇ¸ç, Á¤»óÀûÀÎ »óȲ¿¡¼´Â ÀϾÁö
¾Ê´Â ¿¡·¯¸¦ ¹ß»ý½Ãų ¼öµµ ÀÖ½À´Ï´Ù. »ó´ëÀûÀ¸·Î ÀÛÀº ¿î¿µÃ¼Á¦µéÀº Çϵå¿þ¾î¸¦ 
±×Á¤µµ±îÁö Ȥ»ç½ÃŰÁö ¾Ê±â ¶§¹®¿¡ µµ½º³ª À©µµ¿ìÁî¿¡¼´Â °æÇèÇÏÁö ¸øÇÏ´Â ¹®Á¦ÀÏ
¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹®Á¦¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â ´ÙÀ½ Àå¼Ò¿¡¼ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
http://www.bitwizard.nl/sig11À̰÷¿¡ ÀÖ´Â Sig11 FAQ ¿¡ µû¸£¸é, ·¹µåÇÞ 5.0 ÀÇ gcc ¸¦ »çÀ̸¯½º ÇÁ·Î¼¼¼¿¡¼ µ¹¸± ¶§ ƯÁ¤ÇÑ ¹®Á¦°¡ »ý±â´Â °Í °°½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ °ÍÀº À§ÀÇ URL À» ÂüÁ¶Çϼ¼¿ä.
ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/mklinux.patch.gz
        CFLAGS+= -m486
¾Æ´Ï¸é (¾ÆÁ÷ ¸¹ÀÌ »ç¿ëµÇ°í ÀÖÁö ¾ÊÀº »õ ÄÄÆÄÀÏ·¯¿¡¼´Â)
        CFLAGS+= -mpentium
¶Ç´Â 
        CFLAGS+= -mpentiumpro
        X11_LIBDIR = /usr/X11R6/lib
        _fUnKy_POSTPORT_sTuFf_ undefined 
Postgres ¹öÀü 1.06¿¡¼ 1.07»çÀÌ¿¡ ÀÖ¾ú´ø ¹®Á¦ÀÔ´Ï´Ù. ¹öÀü 1.08 À̻󿡼´Â
¼öÁ¤µÇ¾ú½À´Ï´Ù. 
        Failed Assertion("!(file != 0):(null)", File:
        "/usr/local/PostgreSQL/src/backend/storage/file/fd.c", Line: 257)
        !(file != 0) (0)
        initdb: could not create template database
        initdb: cleaning up.
/dev/null ¿¡ ´ëÇÑ ÆÛ¹Ì¼ÇÀÌ À߸øµÇ¾î ÀÖ½À´Ï´Ù. ls -l /dev/null À» ½ÇÇà½ÃŰ¸é ´ÙÀ½°ú ºñ½ÁÇÏ°Ô º¸ÀÏ °ÍÀÔ´Ï´Ù.
        crw-rw-rw-  1 root  wheel    2,   2 Oct  8 18:41 /dev/null
ÆÛ¹Ì¼ÇÀ» ´ÙÀ½°ú °°ÀÌ ¹Ù²Ù¾î ÁÖ¼¼¿ä. 
        chmod a+rw /dev/null
ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz
        IpcMemoryCreate: memKey=155356396 , size=760632 ,
        permission=384IpcMemoryCreate: shmget(..., create, ...)
        failed: Invalid argument
¸®´ª½º Ä¿³ÎÀÌ IPC Áö¿øÀ» Á¦¿ÜÇÑ Ã¤ ÄÄÆÄÀÏ µÇ¾ú½À´Ï´Ù. Ä¿³ÎÀ» ´Ù½Ã ºôµåÇϸé¼
ÀÌ ¿É¼ÇÀ» ÄÑ¾ß ÇÕ´Ï´Ù. 
        psql: can't load library 'libpq.so.1'
Psql ÀÌ libpq ¶óÀ̺귯¸®¿Í µ¿ÀûÀ¸·Î ¿¬°áµÇµµ·Ï ÄÄÆÄÀϵǾî ÀÖ½À´Ï´Ù.ÀÌ ¹®Á¦¸¦ ÇØ°áÇÏ·Á¸é root ·Î ·Î±äÇØ¼ ´ÙÀ½ ÆÄÀÏÀ» ÆíÁýÇØ¾ß ÇÕ´Ï´Ù.
        /etc/ld.so.conf
¸¶Áö¸· ÁÙ¿¡ PostgreSQL ¶óÀ̺귯¸® µð·ºÅ丮 (PostgreSQL ÀÌ ¼³Ä¡µÈ °÷ÀÇ
lib ¼ºêµð·ºÅ丮) ¸¦ ¾Ë·ÁÁÖ´Â ³»¿ëÀ» Ãß°¡ÇÑ ÈÄ, ´ÙÀ½À» ½ÇÇà½Ãŵ´Ï´Ù.
        /sbin/ldconfig -v
´Ù¸¥ ¹æ¹ýÀ¸·Î´Â (¿¹¸¦ µé¾î root ±ÇÇÑÀ» °¡Áö°í ÀÖÁö ¾Ê´Ù¸é) LD_LIBRARY_PATH
ȯ°æº¯¼ö¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.LD_LIBRARY_PATH ȯ°æº¯¼ö´Â °øÀ¯ ¶óÀ̺귯¸®¸¦ °Ë»öÇÒ °æ·ÎÀÇ ¸ñ·ÏÀ» ÄÝ·Ð(:)À¸·Î ±¸ºÐÇØ¼ °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ ¸ñ·ÏÀº ldconfig ¿¡ ÀÇÇØ ÁöÁ¤µÈ ¶óÀ̺귯¸®¸¦ °Ë»öÇϱâ Àü¿¡ ¸ÕÀú ÂüÁ¶µË´Ï´Ù.
Bash ¿¡¼´Â ´ÙÀ½°ú °°ÀÌ ÇÕ´Ï´Ù.
        export LD_LIBRARY_PATH='PathToPGSQL'/lib
tcsh ¸¦ »ç¿ëÇÑ´Ù¸é 
        setenv LD_LIBRARY_PATH 'PathToPGSQL'/lib
'PathToPGSQL' À» ÀûÀýÇÑ »ç¿ëÀÚÀÇ PostgreSQL ¼³Ä¡ µð·ºÅ丮·Î ¹Ù²Ù¸é µË´Ï´Ù. ldd ¸í·ÉÀ» »ç¿ëÇÏ¸é µ¿ÀûÀ¸·Î ¿¬°áµÇ´Â ½ÇÇàÆÄÀÏÀÌ »ç¿ëÇÏ´Â °øÀ¯¶óÀ̺귯¸®µéÀÇ °æ·Î¸íÀ» ¸ñ·ÏÀ¸·Î º¼ ¼ö ÀÖ½À´Ï´Ù.
±×·¡¼, postmaster ¸¦ rc ½ºÅ©¸³Æ®¿¡¼ ±âµ¿½ÃŰ´Â ¹æ¹ýÀ» ÃßõÇÕ´Ï´Ù. ½½·¢¿þ¾î °è¿ÀÇ ¸±¸®Áî¿¡¼´Â /etc/rc.d/rc.local À» ÆíÁýÇÏ¿© Æ÷½ºÆ®¸¶½ºÅ͸¦ ±âµ¿½Ãų °ÍÀÔ´Ï´Ù. ·¹µåÇÞ °è¿¿¡¼´Â /etc/rc.d/init.d ½ºÄ̸®Æ° ÆÄÀÏÀ» ±âÃÊ·Î ÇÏ¿© /etc/rc.d/rc3.d ¿¡ SysV ½ºÅ¸ÀÏÀÇ ½ºÅ©¸³Æ®¸¦ ¸¸µé¾î¾ß ÇÕ´Ï´Ù.
contrib/linux/postgres.init ¿¡ »ùÇà ÆÄÀÏÀÌ ÀÖ½À´Ï´Ù.
Á¸ ·Îºó½¼ÀÌ Á¦°øÇÑ »ùÇÃÀ» Á¦½ÃÇÕ´Ï´Ù. Çʿ信 µû¶ó ¼öÁ¤Çؼ ¾²¼¼¿ä.
#!/bin/sh
#
# postgreSQL.init This shell script takes care of starting and stopping
#               the PostgreSQL postmaster.
#
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# See how we were called.
case "$1" in
  start)
        # Start daemons.
        echo -n "Starting postgres Postmaster daemon:"
        if [ -z "`pidofproc postmaster`" ]
        then
                su postgres -c "/usr/local/pgsql/bin/postmaster -D /home/postgreSQL/data -p 5432 &"
                echo -n " postmaster"
        else
                echo -n " (already running)"
        fi
        echo
        touch /var/lock/subsys/postgres
        ;;
  stop)
        # Stop daemons.
        echo -n "Shutting down postgres Postmaster daemon: "
        killall -TERM postmaster 2>/dev/null
        killall -TERM postgres 2>/dev/null
        echo
        rm -f /var/lock/subsys/postgres
        ;;
  *)
        echo "Usage: postgres {start|stop}"
        exit 1
esac
exit 0
        time postgres -texecutor -tplanner -Q bench < bench.sql
¸¦ 
        postgres -texecutor -tplanner -Q bench < bench.sql
·Î ¹Ù²Ù¸é µË´Ï´Ù.
2. Å×½ºÆ®¸¦ ½ÇÇà½ÃŲ ÈÄ, bench.out ÀÇ ¸¶Áö¸·¿¡ ´ÙÀ½°ú °°Àº ÁÙÀ» »èÁ¦Çϼ¼¿ä.
        85.86user 114.47system 4:49.20elapsed 69%CPU (0avgtext+0avgdata 0maxresident)k
±×¸®°í ´ÙÀ½À» ÀÔ·ÂÇϼ¼¿ä.
        sh ./perquery < bench.out > & bench.out.perquery