------------------------------------------------------------------------ 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 ÀÌÀü¹öÀüÀ» »ç¿ëÇÏ´Â °æ¿ìÀÔ´Ï´Ù. ¶óÀ̺귯¸®ÀÇ ¹Ý¿Ã¸²±â´É¿¡ ¹®Á¦°¡ ÀÖ½À´Ï´Ù. ¶óÀ̺귯¸®¸¦ ¾÷±×·¹À̵åÇϼ¼¿ä. ------------------------------------------------------------------------