¸±¸®Áî ³¯Â¥: 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 °ü·Ã ¹®¼°¡ Ãß°¡ µÇ¾úÀ½.