Frequently Asked Questions (FAQ) for PostgreSQL >= V6.1

Linux °ü·ÃÁú¹® ¸ðÀ½

ÀÏ¹Ý FAQ¿Í ÇÔ²² Àоî¾ß ÇÕ´Ï´Ù.

¸¶Áö¸·À¸·Î °íÄ£ ³¯Â¥: 1998³â 5¿ù 11ÀÏ

¿ø·¡ ¾´ »ç¶÷ : ¾Øµå·ù C.R. ¸¶Æ¾ (martin@biochem.ucl.ac.uk)
¿ì¸®¸»·Î ¿Å±ä »ç¶÷ : Á¤Á÷ÇÑ (honest@hitel.net)



ÀÌ ÆÄÀÏÀº ´ÙÀ½°ú °°ÀÌ ¼¼ ºÎºÐÀ¸·Î ³ª´µ¾î ÀÖ½À´Ï´Ù.

1.) PostgreSQL ¼³Ä¡Çϱâ
2.) º¸Á¶ÇÁ·Î±×·¥ ÄÄÆÄÀÏÇϱâ
3.) ½ÇÇà½Ã¿¡ °Þ´Â ¹®Á¦µé


Áú¹®°ú ´ä:

1.1) src/Makefile.global À̳ª src/Makefile.custom ÆÄÀÏÀ» ¾î¶»°Ô °íÃÄ¾ß Çմϱî? ´Þ¸® ¶Ç °íÃÄ¾ß ÇÒ °ÍÀÌ ÀÖ³ª¿ä?
1.2) libreadline ÀÌ ¾ø´Ù´Â ¹®Á¦°¡ ¿Ö »ý±é´Ï±î?
1.3) [·¹µåÇÞ ¸®´ª½º] libdl °ú dlfcn.h °¡ ¾ø´Ù´Â ¹®Á¦°¡ ¿Ö »ý±é´Ï±î?
1.4) [½½·¢¿þ¾î 3.1] libdl °ú dlfcn.h °¡ ¾ø´Ù´Â ¹®Á¦°¡ ¿Ö »ý±é´Ï±î?
1.5) ¹é¿£µå¸¦ ÄÄÆÄÀÏÇϸé dlfcn.h ¸¦ ÀÎŬ·çµåÇÒ ¼ö ¾ø´Ù´Â ¿¡·¯¸Þ½ÃÁö°¡ ³ª¿À°í´Â Á×¾î¹ö¸³´Ï´Ù.
1.6) GCC °¡ -fpic ¿É¼ÇÀÌ ¹«½ÃµÇ¾ú´Ù´Â ¸Þ½ÃÁö¸¦ ³»º¸³À´Ï´Ù.
1.7) ´ÙÀ½°ú °°Àº °æ°í ¸Þ½ÃÁö¸¦ ¹Þ¾Ò½À´Ï´Ù.
         warning: cast from pointer to integer of different size
1.8) [SuSE-Linux 4.2-4.4] curses ¿Í termcap ÀÌ ¾îµð¿¡ ÀÖ³ª¿ä?
1.9) ld.so ¶§¹®¿¡ ¹®Á¦°¡ »ý±é´Ï´Ù. ¿ÖÁÒ?
1.10) 'yy_flush_buffer undefined' ¶ó´Â ¿¡·¯°¡ ¿Ö »ý±é´Ï±î?
1.11) a.out ½Ã½ºÅÛ¿¡¼­ ¾î¶»°Ô PostgreSQL À» ÄÄÆÄÀÏÇØ¾ß Çմϱî?
1.12) ¿Ö ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ³ª¿ÀÁö¿ä?
        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 ·ÎÀÇ ·¹ÆÛ·±½º´Â ¹«¾ùÀԴϱî?
1.14) [µ¥ºñ¾È] libtermcap ÀÌ ¾îµð ÀÖ½À´Ï±î?
1.15) [·¹µåÇÞ] PostgreSQL À» RPM ÇüÅ·Π±¸ÇÒ ¼ö ÀÖ³ª¿ä?
1.16) Linux ÇÏ¿¡¼­ÀÇ °³¹ßÀÚ ¹öÀüÀ» ÄÄÆÄÀÏÇÏ·Á´Ù°¡ ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö¿Í ÇÔ²² ÄÄÆÄÀÏ¿¡ ½ÇÆÐÇß½À´Ï´Ù
        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 ÀÌ ¹ß»ýµÇ°í Áߴܵ˴ϴÙ.
1.18) MkLinux ¿¡¼­ 6.1.1 À» ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï±î?
1.19) make °¡ Á¾·áµÇ°Å³ª Á×´Â ÀÌÀ¯´Â ¹¹ÁÒ?
1.20) 486 À̳ª ÆæƼ¾ö¿¡ ÃÖÀûÈ­½ÃÅ°·Á¸é ¾î¶»°Ô Çմϱî?

2.1) pgtclsh ¸¦ ÄÄÆÄÀÏÇÒ ¶§ ¸µÄ¿°¡ libX11 À» ãÁö ¸øÇÕ´Ï´Ù.

3.1) createuser °°Àº ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÅ°¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ³ª¿É´Ï´Ù.
          _fUnKy_POSTPORT_sTuFf_ undefined 
3.2) postmaster ¸¦ ½ÇÇà½ÃÅ°°í ³ª¸é 'Bad system call(Core dumped) ¶ó´Â ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù.
3.3) postmaster ¸¦ ½ÇÇà½ÃÅ°·Á°í ÇÏ¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ³³´Ï´Ù.
        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 °¡ ¿Ö ÀÛµ¿ÇÏÁö ¾Ê³ª¿ä?
3.5) ´ÙÀ½°ú °°Àº ¿¡·¯´Â ¿Ö ³ª´Â °Ì´Ï±î?
        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) ±âŸ ÀÌ»óÇÑ Áõ»óµé
3.8) PostgreSQL ÀÌ ½ÇÇàµÇ°í Àִµ¿¾È ½Ã½ºÅÛÀ» ¼Ë´Ù¿î ½ÃÅ°¸é Linux °¡ ÀçºÎÆõǾúÀ» ¶§ ²À fsck ¸¦ ÇÏ°Ô µË´Ï´Ù.
3.9) ȸ±Í Å×½ºÆ®¿¡¼­ Query 32 ´Â ¿Ö ±×·¸°Ô ½Ã°£ÀÌ ¸¹ÀÌ °É¸³´Ï±î?
3.10) ¾î¶² date/time ¿¬»ê¿¡¼­´Â ¹Ý¿Ã¸²ÀÌ ÀÌ»óÇÏ°Ô µË´Ï´Ù.
select '4 hours'::timespan; À» ½ÇÇà½ÃÅ°¸é
'3 hours 59 minutes 60 seconds' °¡ °á°ú·Î ³ª¿É´Ï´Ù.

1Àý : PostgreSQL ÄÄÆÄÀÏÇϱâ


1.1) src/Makefile.global À̳ª src/Makefile.custom ÆÄÀÏÀ» ¾î¶»°Ô °íÃÄ¾ß Çմϱî? ´Þ¸® ¶Ç °íÃÄ¾ß ÇÒ °ÍÀÌ ÀÖ³ª¿ä?

makefile À» °¡Àå ½±°Ô °íÄ¡´Â ¹æ¹ýÀº src µð·ºÅ丮ÀÇ Ä¿½ºÅ͸¶ÀÌÁî¿ë ¼Ð½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© °¢°¢ÀÇ È¯°æ¿¡ ¸Â´Â Makefile.custom À» ¸¸µå´Â °ÍÀÔ´Ï´Ù.

±× ¿Ü¿¡ ÇØÁÖ¾î¾ß ÇÒ °ÍÀ̶ó°í´Â ¸¸ÀÏ 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 ¿¡ ÀûÇôÀִ´ë·Î ´Ù¸¥ º¯¼öµéµµ ¾Ë¸Â°Ô ¼³Á¤ÇØ ÁÖ¾î¾ß ÇÒ °ÍÀÔ´Ï´Ù.

1.2) libreadline ÀÌ ¾ø´Ù´Â ¹®Á¦°¡ ¿Ö »ý±é´Ï±î?

Linux ½Ã½ºÅÛ¿¡´Â º¸Åë GNU ÀÇ readline ¶óÀ̺귯¸®°¡ óÀ½ºÎÅÍ ¼³Ä¡µÇ¾î ÀÖÁö´Â ¾Ê½À´Ï´Ù. src/Makefile.global À̳ª src/Makefile.custom ÆÄÀÏ¿¡¼­ readline ¿É¼ÇÀ» È°¼ºÈ­½ÃÄÑ ³õÁö ¾Ê¾Ò´ÂÁö È®ÀÎÇϽʽÿÀ. ¾Æ´Ï¸é GNU ÀÇ readline ¶óÀ̺귯¸®¸¦ ¼³Ä¡Çϼŵµ µË´Ï´Ù.

µ¥ºñ¾È ¸®´ª½º´Â FreeBSD ¿Í ¸¶Âù°¡Áö·Î readline ¶óÀ̺귯¸®°¡ ±âº»À¸·Î ¼³Ä¡µÇ¾î ÀÖ½À´Ï´Ù.

1.3) [·¹µåÇÞ ¸®´ª½º] libdl °ú dlfcn.h °¡ ¾ø´Ù´Â ¹®Á¦°¡ ¿Ö »ý±é´Ï±î?

ÀÌ°ÍÀº ÄÄÆÄÀÏ ÇÏ´Â µµÁß ¸¶Áö¸· ¼ø¼­¿¡¼­ dlopen(), dlclose(), µîÀÇ ÇÔ¼ö¸¦ ¸µÅ©½Ãų ¼ö ¾ø´Ù´Â ¸Þ½ÃÁö·Î ³ªÅ¸³³´Ï´Ù.

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.4) [½½·¢¿þ¾î 3.1] libdl °ú dlfcn.h °¡ ¾ø´Ù´Â ¹®Á¦°¡ ¿Ö »ý±é´Ï±î?

ÀÌ°ÍÀº ÄÄÆÄÀÏ ÇÏ´Â µµÁß ¸¶Áö¸· ¼ø¼­¿¡¼­ dlopen(), dlclose(), µîÀÇ ÇÔ¼ö¸¦ ¸µÅ©½Ãų ¼ö ¾ø´Ù´Â ¸Þ½ÃÁö·Î ³ªÅ¸³³´Ï´Ù.

Áú¹® 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 ¸¦ ÇØ¾ß ÇÕ´Ï´Ù.

1.5) ¹é¿£µå¸¦ ÄÄÆÄÀÏÇϸé dlfcn.h ¸¦ ÀÎŬ·çµåÇÒ ¼ö ¾ø´Ù´Â ¿¡·¯¸Þ½ÃÁö°¡ ³ª¿À°í´Â Á×¾î¹ö¸³´Ï´Ù.

Áú¹® 1.3/1.4 ¿¡ ´ëÇÑ ´äÀ» Âü°íÇϼ¼¿ä. a.out ½Ã½ºÅÛÀ» »ç¿ëÇÏ°í ÀÖ´Ù¸é dlfcn.h º¸´Ù ¸ÕÀú dld ÆÐÅ°Áö¸¦ (´ë°³ÀÇ a.out ½Ã½ºÅÛ¿¡´Â ±âº»ÀûÀ¸·Î Æ÷ÇԵǾî ÀÖÁö ¾Ê½À´Ï´Ù) ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù. Áú¹® 1.11 À» º¸¼¼¿ä.

1.6) GCC °¡ -fpic ¿É¼ÇÀÌ ¹«½ÃµÇ¾ú´Ù´Â ¸Þ½ÃÁö¸¦ ³»º¸³À´Ï´Ù.

GCC ÀÇ ÀÌÀü¹öÀüÀº -fpic ¿Í -fPIC ¸¦ µÑ ´Ù ¹Þ¾Æµé¿´½À´Ï´Ù. ÃÖ±ÙÀÇ ¹öÀü (2.7.2?) Àº -fPIC ¸¦ ¿ä±¸ÇÏ´Â °ÍÀ¸·Î º¸ÀÔ´Ï´Ù. ¸®´ª½ºÀÇ ELF ¹öÀüÀ» »ç¿ëÇÑ´Ù¸é -fPIC °¡ ±âº»À¸·Î »ç¿ëµÇ¹Ç·Î -fpic ´Â ¹«½ÃµÇ¾îµµ ±¦Âú½À´Ï´Ù.

src/Makefile.global À» ÆíÁýÇÏ¿© CFLAGS_SL ÀÇ °ªÀ» ¹Ù²Ù¸é ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ½À´Ï´Ù.

1.7) ´ÙÀ½°ú °°Àº °æ°í ¸Þ½ÃÁö¸¦ ¹Þ¾Ò½À´Ï´Ù.

        warning: cast from pointer to integer of different size
Postgres95 ÀÇ Ãʱâ¹öÀü¿¡¼­´Â ÀÌ·± ¸Þ½ÃÁö°¡ ³ª¿ÔÀ¸³ª ¹«½ÃÇصµ µÇ´Â °ÍÀ̾ø½À´Ï´Ù. PostgreSQL 6.0 ¿¡¼­´Â ½Ã½ºÅÛ Çì´õÆÄÀϵ鿡 °ü·ÃµÈ °ÍµéÀ» (ÀÌ°Í ¿ª½Ã ¹«½ÃÇصµ µÇ´Â °ÍÀÔ´Ï´Ù) Á¦¿ÜÇÏ°í´Â ÀÌ·± ¸Þ½ÃÁö°¡ ³ª¿ÀÁö ¾Ê¾Æ¾ß ÇÕ´Ï´Ù.

1.8) [SuSE-Linux 4.2-4.4] curses ¿Í termcap ÀÌ ¾îµð¿¡ ÀÖ³ª¿ä?

SuSE-Linux 4.2 ´Â curses °¡ ¾Æ´Ñ, ncurses ¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. 4.4 ¿¡´Â µÑ ´Ù µé¾î ÀÖ´Â °Í °°½À´Ï´Ù. SuSE-Linux ÀÇ termcap ¶óÀ̺귯¸®´Â /usr/lib ÀÌ ¾Æ´Ï¶ó /usr/lib/termcap ¿¡ µé¾îÀÖ½À´Ï´Ù. PostgreSQL( V6.0 ±îÁö) ---------------------- src/Makefile.custom ÀÇ CURSES_LIB °ªÀ» -lncurses ·Î ¼³Á¤Çϼ¼¿ä (Ä¿½ºÅ͸¶ÀÌÁî ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϸ鼭 Çϼŵµ µË´Ï´Ù). ±×¸®°í src/Makefile.custom ¿¡ ´ÙÀ½ ÁÙÀ» Ãß°¡Çϼ¼¿ä.

        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 ¿¡¼­ ±×·¸´Ù´Â º¸°í°¡ ÀÖ½À´Ï´Ù)

1.9) ld.so ¶§¹®¿¡ ¹®Á¦°¡ »ý±é´Ï´Ù. ¿ÖÁÒ?

ELF ÇÏ¿¡¼­ µ¿ÀûÀÎ ·ÎµùÀ» À§ÇØ ÇÊ¿äÇÑ ¶ÇÇϳªÀÇ ¶óÀ̺귯¸®ÀÎ ld.so ¿¡¼­ ¹®Á¦°¡ »ý±ä´Ù¸é, ¾Æ¸¶ »ç¿ëÀÚ°¡ ¸®´ª½ºÀÇ ¼³Ä¡ ³»Áö´Â (ÀÌÂÊÀÌ ´õ °¡´É¼ºÀÌ ³ôÀºµ¥) ¾÷±×·¹À̵带 ¾û¸ÁÀ¸·Î ÇßÀ» °ÍÀÔ´Ï´Ù. Áú¹® 1.3/1.4 ÀÇ ´äÀ» º¸¼¼¿ä. ld.so.x.y.z ¸¦ /lib ¿¡ ¼³Ä¡ÇÏ°í ldconfig ¸¦ ½ÇÇØ¾ß ÇÒ °Ì´Ï´Ù. ld ÆÐÅ°Áö Áß °¡Àå ÃÖ±Ù¿¡ ³ª¿Â ¾ÈÁ¤µÈ ¹öÀüÀº 1.7.14 ÀÔ´Ï´Ù. ÀÌ ±ÛÀÌ ¾²¿©Áö´Â ½ÃÁ¡¿¡ 1.8.x ¹öÀüÀº ¾ÆÁ÷ ½ÇÇèÀûÀÎ ¹öÀüÀÔ´Ï´Ù.

1.10) 'yy_flush_buffer undefined' ¶ó´Â ¿¡·¯°¡ ¿Ö »ý±é´Ï±î?

»ç½Ç ÀÌ ¹®Á¦´Â ¸®´ª½º¿¡¸¸ °ü·ÃµÈ ¹®Á¦´Â ¾Æ´Õ´Ï´Ù¸¸ ¿À·¡µÈ ¸®´ª½º ¼³Ä¡º»¿¡¼­´Â °øÅëµÈ °ÍÀÔ´Ï´Ù. PostgreSQL À» ÄÄÆÄÀÏÇϱâ À§Çؼ­´Â flex ÀÇ ÃÖ±Ù¹öÀü (2.5.2, ȤÀº ±× ÀÌ»ó) ÀÌ ÇÊ¿äÇÕ´Ï´Ù. flex 2.5.3 ¿¡´Â ¹ö±×°¡ ÀÖÀ¸´Ï ÁÖÀÇÇϼ¼¿ä Áú¹® 3.4 ¿¡ ÀÚ¼¼È÷ ³ª¿ÍÀÖ½À´Ï´Ù.

1.11) a.out ½Ã½ºÅÛ¿¡¼­ ¾î¶»°Ô PostgreSQL À» ÄÄÆÄÀÏÇØ¾ß Çմϱî?

¸ÕÀú dld ¶óÀ̺귯¸®¸¦ ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù. ¼±»çÀÌÆ®(Sunsite)ÀÇ ´ÙÀ½ À§Ä¡¿¡¼­ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
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=
(Ä¿½ºÅ͸¶ÀÌÁîÇÏ´Â ½ºÅ©¸³Æ®¸¦ »ç¿ëÇصµ µË´Ï´Ù)

1.12) make ¸¦ ÇÏ´Â µµÁß¿¡ ´ÙÀ½°ú °°Àº ¿¡·¯¿Í ÇÔ²² ¸ØÃä´Ï´Ù :

        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 
·Î ¹Ù²Ù¾î ÁÝ´Ï´Ù.

1.13) src/Makefile.global ÀÇ X11_LIB ¿¡ ÀÖ´Â libsocket °ú libnsl ·ÎÀÇ ·¹ÆÛ·±½º´Â ¹«¾ùÀԴϱî?

1.08 ÀÇ ¹®Á¦¿´½À´Ï´Ù. (Sun Solaris ¿¡¸¸ ÇØ´çµË´Ï´Ù) 1.09 ¿Í 6.0 ¿¡¼­´Â °íÃÄÁ³½À´Ï´Ù.

1.14) [µ¥ºñ¾È] libtermcap ÀÌ ¾îµð ÀÖ½À´Ï±î?

Debian Linux ´Â termcap ¶óÀ̺귯¸®¸¦ Á¦°øÇÏÁö ¾Ê°í ncurses ¸¦ »ç¿ëÇÕ´Ï´Ù. (ncurses ´Â terminfo ¸¦ »ç¿ëÇÑ´Ù) src/bin/psql/Makefile ÀÇ CURSES_LIB ¸¦ º¯°æÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù. µ¥ºñ¾È ¸®´ª½º´Â libncurses ¿¡¼­ libcurses ·ÎÀÇ ¸µÅ©¸¦ Á¦°øÇϱ⠶§¹®ÀÌÁÒ . (SuSE-¸®´ª½º¿ÍÀÇ Â÷ÀÌÁ¡ÀÔ´Ï´Ù -- Áú¹® 1.8 À» ÂüÁ¶Çϼ¼¿ä)

src/bin/psql/Makefile À» ÆíÁýÇÏ¿© ´ÙÀ½ ÁÙÀ» º¯°æÇØ ÁÖ¼¼¿ä.

        ifeq ($(PORTNAME), linux)
LD_ADD+= -ltermcap
ÀÌ°ÍÀ» ´ÙÀ½°ú °°ÀÌ º¯°æÇÕ´Ï´Ù
        ifeq ($(PORTNAME), linux)
LD_ADD+=

1.15) [·¹µåÇÞ] PostgreSQL À» RPM ÇüÅ·Π±¸ÇÒ ¼ö ÀÖ³ª¿ä?

¹°·ÐÀÔ´Ï´Ù! Michal Mosiewicz ( http://www.pdi.lodz.pl/~mimo) °¡ ÀÎÅÚ¿ë PostgreSQL V6.0 RPM ÆÐÅ°Áö¸¦ Á¦ÀÛÇؼ­ ftp://ftp.redhat.org/pub/Incoming/Postgres-6.0-1.i386.rpm ¿¡ ¾÷·Îµå Çسõ¾Ò½À´Ï´Ù.

ÀÌ°ÍÀº ¹Ì¸® ÄÄÆÄÀϵǾîÀÖ´Â ¹öÀüÀÌ¸ç ¼Ò½º RPM Àº ±ÛÀ» ¾²´Â ½ÃÁ¡¿¡ ÀÖ´Â À§Ä¡ÀÔ´Ï´Ù. (1997³â 2¿ù 3ÀÏ)

1.16) Linux ÇÏ¿¡¼­ÀÇ °³¹ßÀÚ ¹öÀüÀ» ÄÄÆÄÀÏÇÏ·Á´Ù°¡ ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö¿Í ÇÔ²² ÄÄÆÄÀÏ¿¡ ½ÇÆÐÇß½À´Ï´Ù :

        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 µð·ºÅ丮¿¡¼­µµ µ¿ÀÏÇÑ ÀÛ¾÷À» ÇØÁÖ¼¼¿ä.

1.17) postgres ¸¦ ÄÄÆÄÀÏÇÏ´Â µµÁß¿¡ gcc ¿¡¼­ signal 11 ÀÌ ¹ß»ýµÇ°í Áߴܵ˴ϴÙ. ÀÚ¼¼È÷ ½áº¸¸é,

        gcc: Internal compiler error: program cc1 got fatal signal 11
Çϵå¿þ¾î ³»Áö ¸Þ¸ð¸® ¹®Á¦ÀÎ °Í °°½À´Ï´Ù. PostgreSQL Àº ¸Å¿ì Å« ÇÁ·Î±×·¥À̸ç gcc ¿¡¼­ Å« ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ´Â °ÍÀº (PostgreSQL À» ÄÄÆÄÀÏÇϰųª Ä¿³ÎÀ» ¸®ºôµåÇÏ´Â µî) ¸Þ¸ð¸®¿¡ ±²ÀåÇÑ ºÎÇϸ¦ ÁÖ°Ô µÇ¸ç, Á¤»óÀûÀÎ »óȲ¿¡¼­´Â ÀϾÁö ¾Ê´Â ¿¡·¯¸¦ ¹ß»ý½Ãų ¼öµµ ÀÖ½À´Ï´Ù. »ó´ëÀûÀ¸·Î ÀÛÀº ¿î¿µÃ¼Á¦µéÀº Çϵå¿þ¾î¸¦ ±×Á¤µµ±îÁö Ȥ»ç½ÃÅ°Áö ¾Ê±â ¶§¹®¿¡ µµ½º³ª À©µµ¿ìÁî¿¡¼­´Â °æÇèÇÏÁö ¸øÇÏ´Â ¹®Á¦ÀÏ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ¹®Á¦¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â ´ÙÀ½ Àå¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

http://www.bitwizard.nl/sig11
ÀÌ°÷¿¡ ÀÖ´Â Sig11 FAQ ¿¡ µû¸£¸é, ·¹µåÇÞ 5.0 ÀÇ gcc ¸¦ »çÀ̸¯½º ÇÁ·Î¼¼¼­¿¡¼­ µ¹¸± ¶§ ƯÁ¤ÇÑ ¹®Á¦°¡ »ý±â´Â °Í °°½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ °ÍÀº À§ÀÇ URL À» ÂüÁ¶Çϼ¼¿ä.

1.18) MkLinux ¿¡¼­ 6.1.1 À» ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï±î?

ŸÂê·Î À̽ÃÀÌ (Tatsuo Ishii) °¡ MkLinux DR2.1 update2 ¿¡¼­ ¾à°£ÀÇ ÆÐÄ¡¸¦ ÇÑ ÈÄ¿¡ ¼³Ä¡¿¡ ¼º°øÇß½À´Ï´Ù. ÆÐÄ¡´Â ¾Æ·¡ÀÇ Àå¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ftp://ftp.sra.co.jp/pub/cmd/postgres/6.1.1/mklinux.patch.gz

1.19) make °¡ Á¾·áµÇ°Å³ª Á×´Â ÀÌÀ¯´Â ¹¹ÁÒ?

gmake °¡ ¿Ï·áµÇ±â Àü¿¡ Á¾·áÇϰųª ¼¼±×¸ÕÆ® ¿À·ù¸¦ ÀÏÀ¸Å²´Ù´Â º¸°í°¡ ÀÖ¾ú½À´Ï´Ù. ¼¼±×¸ÕÆ® ¿À·ùÀÇ °æ¿ì¿¡´Â gmake 3.74 ¿¡¼­ ÀϾ°í, 3.76.1 ·Î ¾÷±×·¹À̵åÇÏ´Â °ÍÀ¸·Î ¹®Á¦°¡ ÇØ°áµË´Ï´Ù. ÇÏÁö¸¸ 3.74 °¡ ´Ù¸¥ ȯ°æ¿¡¼­´Â Àß ÀÛµ¿ÇÏ´Â °ÍÀ¸·Î ´Þ·ÁÁ® ÀÖ½À´Ï´Ù. °£´ÜÈ÷ ¸»ÇØ, ÀÌ·± ¹®Á¦°¡ »ý±ä´Ù°í º¸°íÇϱâ Àü¿¡ gmake ¸¦ ÃֽŹöÀüÀ¸·Î ¾÷±×·¹À̵åÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.

1.20) 486 À̳ª ÆæƼ¾ö¿¡ ÃÖÀûÈ­½ÃÅ°·Á¸é ¾î¶»°Ô Çմϱî?

ÄÄÆÄÀÏ·¯ Ç÷¡±× ÃʱâÄ¡·Î´Â 486 À̳ª ÆæƼ¾ö¿¡¼­ ÃÖÀûÈ­¸¦ ¼öÇàÇÏÁö ¾Êµµ·Ï µÇ¾î ÀÖ½À´Ï´Ù. ÃÖÀûÈ­¸¦ ÇÏ·Á¸é Makefile.custom À» ¿­¾î ´ÙÀ½ ÁÙÀ» Ãß°¡Çϼ¼¿ä.
        CFLAGS+= -m486
¾Æ´Ï¸é (¾ÆÁ÷ ¸¹ÀÌ »ç¿ëµÇ°í ÀÖÁö ¾ÊÀº »õ ÄÄÆÄÀÏ·¯¿¡¼­´Â)
        CFLAGS+= -mpentium
¶Ç´Â
        CFLAGS+= -mpentiumpro

2Àý : º¸Á¶ ÇÁ·Î±×·¥µé ÄÄÆÄÀÏÇϱâ


2.1) The linker fails to find libX11 when compiling pgtclsh 2.1) pgtclsh ¸¦ ÄÄÆÄÀÏÇÒ ¶§ ¸µÄ¿°¡ libX11 À» ãÁö ¸øÇÕ´Ï´Ù.

src/Makefile.custom ¿¡ ´ÙÀ½ ÁÙÀ» Ãß°¡Çϼ¼¿ä.
        X11_LIBDIR = /usr/X11R6/lib

3Àý : ½ÇÇà½ÃÀÇ ¹®Á¦Á¡µé


3.1) createuser °°Àº ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÅ°¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ³ª¿É´Ï´Ù.

        _fUnKy_POSTPORT_sTuFf_ undefined 
Postgres ¹öÀü 1.06¿¡¼­ 1.07»çÀÌ¿¡ ÀÖ¾ú´ø ¹®Á¦ÀÔ´Ï´Ù. ¹öÀü 1.08 À̻󿡼­´Â ¼öÁ¤µÇ¾ú½À´Ï´Ù.

3.2) postmaster ¸¦ ½ÇÇà½ÃÅ°°í ³ª¸é 'Bad system call(Core dumped) ¶ó´Â ¸Þ½ÃÁö°¡ ³ª¿É´Ï´Ù.

»ç¿ëÀÚÀÇ Ä¿³ÎÀÌ °øÀ¯¸Þ¸ð¸®¸¦ Áö¿øÇÏÁö ¾Êµµ·Ï ÄÄÆÄÀÏ µÇ¾ú´Ù´Â ¶æÀÔ´Ï´Ù. ¸®´ª½º Ä¿³ÎÀ» ÀçÄÄÆÄÀÏÇØ °øÀ¯¸Þ¸ð¸®¸¦ Áö¿øÇϵµ·Ï ±â´ÉÀ» Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.

3.3) postmaster ¸¦ ½ÇÇà½ÃÅ°·Á°í ÇÏ¸é ´ÙÀ½°ú °°Àº ¿¡·¯°¡ ³³´Ï´Ù.

        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

3.4) createuser °¡ ¿Ö ÀÛµ¿ÇÏÁö ¾Ê³ª¿ä?

GNU flex ¹öÀü 2.5.3 °ú createuser »çÀÌ¿¡ ¹®Á¦°¡ ÀÖ½À´Ï´Ù. flex ¸¦ V2.5.2 ·Î ´Ù¿î±×·¹À̵åÇϰųª 2.5.4 ·Î ¾÷±×·¹µåÇصµ µÇ°í, V2.5.3 ¿¡ doc/README.flex ¾È¿¡ Á¦°øµÇ´Â ÆÐÄ¡¸¦ ½ÃÄѵµ µË´Ï´Ù. V2.5.4 ´Â ´ÙÀ½ Àå¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ftp://prep.ai.mit.edu/pub/gnu/flex-2.5.4.tar.gz

3.5) ´ÙÀ½°ú °°Àº ¿¡·¯´Â ¿Ö ³ª´Â °Ì´Ï±î?:

        IpcMemoryCreate: memKey=155356396 , size=760632 ,
        permission=384IpcMemoryCreate: shmget(..., create, ...)
        failed: Invalid argument
¸®´ª½º Ä¿³ÎÀÌ IPC Áö¿øÀ» Á¦¿ÜÇÑ Ã¤ ÄÄÆÄÀÏ µÇ¾ú½À´Ï´Ù. Ä¿³ÎÀ» ´Ù½Ã ºôµåÇϸ鼭 ÀÌ ¿É¼ÇÀ» ÄÑ¾ß ÇÕ´Ï´Ù.

3.6) psql ÀÌ ÀÌ·± ¸Þ½ÃÁö¿Í ÇÔ²² Á¾·áµÇ°í ¸¿´Ï´Ù:

        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 ¸í·ÉÀ» »ç¿ëÇÏ¸é µ¿ÀûÀ¸·Î ¿¬°áµÇ´Â ½ÇÇàÆÄÀÏÀÌ »ç¿ëÇÏ´Â °øÀ¯¶óÀ̺귯¸®µéÀÇ °æ·Î¸íÀ» ¸ñ·ÏÀ¸·Î º¼ ¼ö ÀÖ½À´Ï´Ù.

3.7) ±âŸ ÀÌ»óÇÑ Áõ»óµé

Á¦´ë·Î µÇ´Â °ÍÀÌ ¾ø±ä Çѵ¥, Áõ»óÀÌ Á¤È®È÷ ¾î¶² °ÍÀÎÁö ¸ð¸¦ ¶§¶ó¸é µ¿Àû ·Î´õ°¡ libpq ¶óÀ̺귯¸®ÀÇ ¿Ã¹Ù¸¥ ¹öÀüÀ» ·ÎµåÇÏ´ÂÁö ÁÖÀÇÇؼ­ »ìÆ캸¼¼¿ä. ¶óÀ̺귯¸® °æ·Î ¾îµð¿£°¡ (¿¹¸¦ µé¸é /usr/lib ¿¡) ±¸¹öÀüÀÇ ¶óÀ̺귯¸®°¡ ³²¾ÆÀÖ´Ù¸é »ç¿ëÀÚ°¡ ·ÎµåÇÏ·Á°í Çß´ø »õ¹öÀü ´ë½Å ±¸¹öÀüÀÌ ·ÎµåµÉ ¼öµµ ÀÖ½À´Ï´Ù. ±¸¹öÀüÀÇ ¶óÀ̺귯¸®¸¦ È®½ÇÈ÷ ¾ø¾Ö°í, Áú¹® 3.6 ¿¡¼­ ¼³¸íµÈ ¶óÀ̺귯¸® ·ÎµåÀÇ ¼¼ºÎ»çÇ×À» Âü°íÇϼ¼¿ä.

3.8) PostgreSQL ÀÌ ½ÇÇàµÇ°í Àִµ¿¾È ½Ã½ºÅÛÀ» ¼Ë´Ù¿î ½ÃÅ°¸é Linux °¡ ÀçºÎÆõǾúÀ» ¶§ ²À fsck ¸¦ ÇÏ°Ô µË´Ï´Ù.

ÀÌ·± ÀÏÀÌ ÀÖ´Ù´Â º¸°í°¡ Àִµ¥, ¾Æ¸¶µµ INSTALL ¹®¼­¿¡ Á¦½ÃµÈ ´ë·Î PostgreSQL À» /etc/inittab ¿¡¼­ ½ÇÇà½Ãų ¶§ ³ªÅ¸³ª´Â °Í °°½À´Ï´Ù.

±×·¡¼­, 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

3.9) ȸ±Í Å×½ºÆ®¿¡¼­ Query 32 ´Â ¿Ö ±×·¸°Ô ½Ã°£ÀÌ ¸¹ÀÌ °É¸³´Ï±î?

ȸ±Í ½ºÅ©¸³Æ®¿¡ ¸®´ª½º ¹Ú½º¿¡¼­¸¸ ¹ß»ýµÇ´Â ¹ö±×°¡ Àֱ⠶§¹®ÀÔ´Ï´Ù. À̸¦ ÇÇÇØ°¡´Â ¹æ¹ýÀÌ µÎ °¡Áö ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù. (ŸÃ÷¿À À̽ÃÀ̷κÎÅÍÀÇ Á¤º¸) 1. regress.sh ¿¡¼­ ´ÙÀ½À» º¯°æÇϼ¼¿ä.
        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

3.10) ¾î¶² date/time ¿¬»ê¿¡¼­´Â ¹Ý¿Ã¸²ÀÌ ÀÌ»óÇÏ°Ô µË´Ï´Ù. select '4 hours'::timespan; À» ½ÇÇà½ÃÅ°¸é '3 hours 59 minutes 60 seconds' °¡ °á°ú·Î ³ª¿É´Ï´Ù.

»õ·Î¿î glibc2 ¶óÀ̺귯¸®¸¦ ½ÇÇàÇϸ鼭 2.0.7 ÀÌÀü¹öÀüÀ» »ç¿ëÇÏ´Â °æ¿ìÀÔ´Ï´Ù. ¶óÀ̺귯¸®ÀÇ ¹Ý¿Ã¸²±â´É¿¡ ¹®Á¦°¡ ÀÖ½À´Ï´Ù. ¶óÀ̺귯¸®¸¦ ¾÷±×·¹À̵åÇϼ¼¿ä.