¸±¸®Áî ³¯Â¥: 1995-07-21
ȣȯ¼º ¾ø´Â ¹Ù²ïÁ¡: * BETA-0.3¹öÀü¿¡¼´Â ÀÌÀü ¹öÀüÀ¸·Î ¸¸µé¾îÁø µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù. (½Ã½ºÅÛ Ä«Å»·Î±×¿Í, À妽º ±¸Á¶°¡ ¹Ù²î¾ú´Ù) * ¹®ÀÚ¿À» Ç¥½ÃÇÏ´Â ¹®ÀÚ°¡ Å« µû¿ÈÇ¥(")¿¡¼ ÀÛÀº µû¿ÈÇ¥(')·Î ¹Ù²î¾ú´Ù. * Áý°èÇÔ¼ö À̸§ÀÌ SQL Ç¥ÁØ À̸§À¸·Î ¹Ù²î¾ú´Ù (¿¹. int4sum -> sum) * CHANGE ACL ±¸¹®ÀÌ GRANT/REVOKE ±¸¹®À¸·Î ¹Ù²î¾ú´Ù. * ºÎµ¿¼Ò¼öÇü (¿¹. 3.14)ÀÌ float4 ÇüÀ¸·Î »ç¿ëµÊ (ÀÌÀü¿¡´Â float8 ÇüÀ» »ç¿ëÇßÀ½); ÀÚ·áÇü º¯È¯À» »ç¿ëÇÏ°í ÀÖ´Â ºÎºÐÀÌ ÀÖ´Ù¸é, ¼öÁ¤µÇ¾î¾ßÇÔ. ÀÌ Çüº¯È ¹®Á¦¸¦ ¹«½ÃÇÑ´Ù¸é, ¾û¶×ÇÑ °ªÀÌ ÀúÀåµÉ ¼öµµ ÀÖÀ½. * LIBPQ Äڵ尡 Àü¸é ¼öÁ¤µÇ¾î ¿©·¯°³ÀÇ ¼¹ö¸¦ µ¿½Ã¿¡ Á¢¼ÓÇÒ ¼ö ÀÖÀ½. * pg_user Å×À̺íÀÇ usesysid ÇʵåÀÇ ÀÚ·áÇüÀÌ int2¿¡¼ int4·Î ¹Ù²ñ * netbsd/freebsd/bsd OS°¡ BSD44_derived À̸§À¸·Î ÅëÇÕµÇ¾î ¼³Ä¡ÇÔ (Alistair Crooks ÀÛ¾÷) SQL Ç¥ÁØ Áؼö (´ÙÀ½ »çÇ×µéÀº SQL-92 Ç¥ÁØÀ» µû¸¥´Ù): * SQL ³»Àå ÀÚ·áÇü: smallint, int(eger), float, real, char(N), varchar(N), date and time. ´ÙÀ½°ú °°ÀÌ ¾Æ·¡ ÀÚ·áÇüµéÀº postgres ÀÚü ÀÚ·áÇüÀÇ º°ÄªÀ¸·Î »ç¿ëµÈ´Ù: smallint -> int2 integer, int -> int4 float, real -> float4 char(N), varchar(N) ÇüÀº text ÇüÀ¸·Î ±¸ÇöµÇ¾úÀ¸¸é, chan(N) ÇüÀº °ø¹é ä¿ò ÇüÅ·Π±¸ÇöµÇ¾ú´Ù. * ÀÛÀº µû¿ÈÇ¥(')´Â '' ÇüÅ·ΠÀÔ·ÂÇϸç, (\' Çüŵµ Çã¿ëÇÔ) * MAX, MIN, AVG, SUM, COUNT °°Àº Áý°èÇÔ¼öµéÀÌ SQL Ç¥ÁØ À̸§À¸·Î »ç¿ëµÊ »ç¿ëÀÚ´Â ÀÌ°ÍÀº »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö·Î À̸§À» ¹Ù²Ù¾î »ç¿ëÇÒ ¼ö ÀÖÀ½. * CHANGE ACL ¾ø¾Ö°í, GRANT/REVOKE ±¸¹®À» »ç¿ëÇÔ - ±ÇÇÑ ¼³Á¤¿¡¼ "GROUP" ¿¹¾à¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ½ ¿¹: GRANT SELECT ON foobar TO GROUP my_group; ¸ðµç »ç¿ëÀÚ¸¦ ÀǹÌÇÏ´Â 'PUBLIC' ¿¹¾à¾î Ãß°¡ ±ÇÇÑ ¼³Á¤Àº »ç¿ëÀÚ¿Í ±×·ìÀ» µ¿½Ã¿¡ ó¸®ÇÒ ¼ö´Â ¾øÀ½. "WITH GRANT OPTION" ±¸¹® Áö¿ø ¾ÈÇÔ. °´Ã¼ÀÇ ¼ÒÀ¯ÁÖ¸¸ Á¢±Ù ±ÇÇÑÀ» ÁöÁ¤ÇÒ ¼ö ÀÖÀ½ - ±âº» Á¢±Ù ±ÇÇÑÀº Àбâ Àü¿ëÀ¸·Î ÁöÁ¤µÇ¾îÀÖ´Ù. ÀÌ°ÍÀ» ¹Ù²Ù·Á¸é, src/backend/utils/acl.h ÆÄÀÏ¿¡¼ ACL_WORLD_DEFAULT °ªÀ» ¹Ù²Ù¸é µÈ´Ù. ¹ö±× ¼öÁ¤: * ºñ¾îÀÖ´Â Å×ÀÌºí¿¡¼ Áý°èÇÔ¼ö¸¦ »ç¿ëÇÒ ¶§ÀÇ ±× °á°ú¸¦ ÇØ´ç ÇÔ¼ö ÃʱⰪÀ¸·Î »ç¿ëÇÔ. COUNT °æ¿ì´Â 0, MAX, MIN °æ¿ì´Â NULLÀ» ¸®ÅÏÇÔ * monitor ¿¡¼ \; »ç¿ëÇÒ ¼ö ÀÖÀ½ * LISTEN/NOTIFY ºñµ¿±â ¸ÞÄ«´ÏÁò »ç¿ë * ·ê ¾×¼Ç º»¹®¿¡ ÀÖ´Â NOTIFY »ç¿ë °¡´É * hash À妽º »ç¿ë°¡´É, ÀÚ·á·®ÀÌ ¸¹À» ¶§, btree º¸´Ù ³ªÀº ¼º´ÉÀ» ¹ßÈÖÇÔ (ÀÛ¾÷ÀÚ Paul Aoki) ±âŸ º¯°æ»çÇ×°ú È®ÀåµÈ °Íµé: * Äõ¸® ½ÇÇà °èȹÀ» »ìÆ캸´Â EXPLAIN ¸í·ÉÀÌ Ãß°¡ µÇ¾úÀ½ (¿¹. "EXPLAIN SELECT * FROM EMP") * WARN, NOTICE ·Î±×¿¡¼ ½Ã°£ Ç¥½Ã¸¦ ¾ø¾ÝÀ½. ÇÊ¿äÇÏ´Ù¸é, src/backend/utils/elog.h ¼Ò½º¿¡ ÀÖ´Â ¾Æ·¡ ÁÖ¼®À» Ç®¾î¾ßÇÔ. /* define ELOG_TIMESTAMPS */ * Á¢±Ù ±ÇÇÑ¿¡ °ü·ÃµÇ¾î ´ÙÀ½ ¿À·ù ¸Þ½ÃÁö¸¦ º¼ ¼ö ÀÖÀ½. "Either no such class or insufficient privilege" ÀÌ °æ¿ì´Â ÇØ´ç °´Ã¼°¡ ¾ø´Â °æ¿ì¿¡ ¹ß»ýÇÑ´Ù. Á¤¸» ÇØ´ç °´Ã¼°¡ ¾ø´Â °æ¿ì¿Í, Á¢±Ù ±ÇÇÑÀÌ ¾ø´Â °æ¿ì¸¦ Á¤Ã¥»ó ÇÕÃÆ´Ù. * ¸î ¸î ½Ã½ºÅÛ Ä«Å»·Î±×´Â ÀϹݻç¿ëÀÚ°¡ º¼ ¼ö ¾øµµ·Ï º¯°æµÊ libpgtcl changes: * The -oid option has been added to the "pg_result" tcl command. pg_result -oid returns oid of the last row inserted. If the last command was not an INSERT, then pg_result -oid returns "". * the large object interface is available as pg_lo* tcl commands: pg_lo_open, pg_lo_close, pg_lo_creat, etc. »õ ½Ã½ºÅÛ Æ÷ÆÃ: * flex/lex ¹®Á¦ ¼öÁ¤µÊ. ¾î¶°ÇÑ Ç÷§Æû¿¡¼µµ lex ´ë½Å flex ¸í·ÉÀ» »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Çß´Ù. ±¸¹® ºÐ¼®±â »ç¿ëÇÒ ¶§, Ç÷§Æû ºñÀÇÁ¸ÀûÀÎ ÀÛ¾÷À¸·Î ÁøÇàÇÑ´Ù. * Linux-ELF Ç÷§ÆûÀ» ÀÌÁ¦ Áö¿øÇÑ´Ù. ´ÙÀ½ ȯ°æ¿¡¼ Å×½ºÆõǾú´Ù. kernel 1.2.10, gcc 2.6.3, libc 4.7.2, flex 2.5.2, bison 1.24 »õ µµ±¸: * ipccleanÀÌ Ãß°¡ µÇ¾úÀ½ ipccleanÀº º¸Åë ¶§´Â »ç¿ëµÉ ÇÊ¿ä°¡ ¾øÀ¸³ª, ¼¹ö°¡ ºñÁ¤»óÀûÀ¸·Î Á¾·áµÇ¾úÀ» ¶§ ½Ã½ºÅÛ¿¡ ³²¾Æ´Â ÀÖ´Â À߸øµÈ °øÀ¯ ¸Þ¸ð¸®¸¦ Á¤¸®ÇÏ´Â ÀÛ¾÷À» ÇÑ´Ù. »õ ¹®¼: * »ç¿ëÀÚ ¼³¸í¼ ºÎºÐÀÌ ¼öÁ¤µÇ¾úÀ¸¸ç, libpq °ü·Ã ¹®¼°¡ Ãß°¡ µÇ¾úÀ½.