EnterpriseZineï¼ã¨ã³ã¿ã¼ãã©ã¤ãºã¸ã³ï¼ç·¨éé¨ã§ã¯ãæ å ±ã·ã¹ãã æ å½ãã»ãã¥ãªãã£æ å½ã®æ¹ã åãã«ãEnterpriseZine DayãSecurity Online DayãDataTechã¨ããã3ã¤ã®ã¤ãã³ããéå¬ãã¦ããã¾ããããããç·¨éé¨ç¬èªã®åãå£ã§ãæ¥çãã¬ã³ããææ°äºä¾ãç¶²ç¾ ãææ°ã®ååãç¥ããã¨ãã§ããå ´ã¨ãã¦ã好è©ãå¾ã¦ãã¾ãã
PostgreSQLã®æ´å² PostgreSQLã¯ï¼MySQLã¨åç§ããªããªã¼ãã³ã½ã¼ã¹ã®ãã¼ã¿ãã¼ã¹ã·ã¹ãã ã§ãã PostgreSQLã®ç¥å ã¯ã«ãªãã©ã«ãã¢å¤§å¦ãã¼ã¯ã¬ã¼æ ¡ã§ä½ããã" Postgres"ã«ç±æ¥ãã¾ããPostgresã®éçºã¯1986å¹´ããã¯ãã¾ãï¼ãã¼ã¸ã§ã³4.2ããã£ã¦çµäºãã¾ããã ãã®å¾ï¼1994å¹´ã«Andrew Yuæ°ã¨Jolly Chenæ°ãPostgresã«æ¹è¯ãå ãï¼ "Postgres95"ã¨ãã¦ãªãªã¼ã¹ãï¼1996å¹´ã«ã¯"PostgreSQL"ã¨æ¹åããï¼æ©è½æ¡å¼µã¨æ¹è¯ãå ããªããç¾å¨ã«è³ãã¾ãã ããã¦ï¼2012å¹´9æï¼PostgreSQLã¯å¾ æã®ã¡ã¸ã£ã¼ãã¼ã¸ã§ã³ã¢ãã9.2ã¨ãã¦ãªãªã¼ã¹ããã¾ããã PostgreSQLã®ç¹å¾´ PostgreSQLã®ä¸»è¦ãªç¹å¾´ãç°¡åã«ç´¹ä»ãã¾ãã SQL PostgreSQLã¯ãæ¤ç´¢ããâ ã¤ã³ããã¯ã¹ããâ å¶ç´
ãã®è¨äºã§ã¯ãPostgreSQL 9.0 ã®æ¦è¦è¨äºã ãã§ã¯ç´¹ä»ããããªãã£ãã9.0ã®ãã®ä»ã®æ°æ©è½ã«ã¤ãã¦ã¾ã¨ãã¦ãã¾ãã SQL æ§æã®å¼·å string_agg æååãé£çµãã¦éç´ãã string_agg é¢æ°ã追å ããã¾ããã 以åã®ãã¼ã¸ã§ã³ã§ã array_agg + array_to_string ã§åãçµæãå¾ããã¾ãããããé«éã§ãã ä»ã®ãã¼ã¿ãã¼ã¹ã«ãåæ§ã®é¢æ°ã¯ããã¾ãããMySQL ã§ã¯ group_concat()ãOracle Database ã§ã¯ listagg() ã¨ååã¯ç°ãªãã¾ãã =# SELECT array_to_string(array_agg(t), '+'), string_agg(t, '+') FROM tbl; array_to_string | string_agg -----------------+----------
PostgreSQL 9.1.0 ã 2011å¹´9æ12æ¥ã«ãªãªã¼ã¹ããã¾ããã ææ°çã®ãã¤ããªãã½ã¼ã¹ã³ã¼ã㯠"ãã¦ã³ãã¼ãç¨ãã¼ã¸" ã§é å¸ããã¦ãã¾ãã 9.1 ã§ã¯ã9.0 ã§æ°è¦ã«æ¡ç¨ãããã¬ããªã±ã¼ã·ã§ã³æ©è½ã®ä½¿ãåæã®å¼·åã®ä»ãå¤é¨ã®ãã¡ã¤ã«ã DB ã«ç´æ¥ã¢ã¯ã»ã¹ã§ãã SQL/MED ããæ¡å¼µã¢ã¸ã¥ã¼ã«ã®ç®¡çæ©è½ãªã©ããããªãå¼·åãè¡ããã¦ãã¾ãã äºææ§ã«é¢ãã注æ æåã注æã«ãªã£ã¦ãã¾ãã¾ããã以åã®ãã¼ã¸ã§ã³ã¨ã®äºææ§ã®ç¡ãè¨å®ãããã©ã«ãã«å¤æ´ããã¦ãã¾ããæ¯è¼çå¤ãã®ã¢ããªã±ã¼ã·ã§ã³ã§åé¡ã«ãªãå¯è½æ§ããããããããã¦å¼·èª¿ãã¦æ³¨æããã¦ãããã¾ãã standard_conforming_strings ã®ããã©ã«ãã on ã«å¤æ´ standard_conforming_strings = on ãããã©ã«ãã«ãªãã¾ãããE'...' å½¢å¼ã§ãªãæååå
ã¡ããã¡ãã使ããã©æ¯åèããã®ãé¢åã«ãªã£ãã®ã§ã³ããç¨ã¡ã¢ã SELECT relname, relkind, to_char(reltuples, '999,999,999') as rows, to_char(pg_relation_size(relname), '999,999,999,999') as bytes FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname='public'); âãããªæãã®åºåãåºæ¥ãã relname | relkind | rows | bytes - usertrack | r | 217,425 | 18,202,624 url | r | 26,589 | 4,767,744 url_id_seq | S | 1 | 8,192 use
NTT ãªã¼ãã³ã½ã¼ã¹ã½ããã¦ã§ã¢ã»ã³ã¿ ç¬ å è¾°ä» ã¯ããã« PostgreSQLã®contribã¢ã¸ã¥ã¼ã«ã®ä¸ã¤ã«ãpgcryptoã¨ãããã®ãããã¾ããpgcryptoã¯ããã®åã®éãæå·åããµãã¼ããããã¼ã«ã§ãã主ã«ã¯DBå ã®ãã¼ã¿ã®æå·åãå®æ½ãããå ´åã«ä½¿ããã¾ãããªã³ã©ã¤ã³ããã¥ã¢ã«ã«è©³ããæ©è½ã®è§£èª¬ãåèæç®ã¸ã®ãªã³ã¯ãè¼ã£ã¦ãã¾ããæ¬è¨äºã§ã¯ãpgcryptoã®ç°¡åãªä½¿ãæ¹ã¨ãpgcryptoã使ãéã«æç¨ãªãã¯ããã¯ãç´¹ä»ãã¾ãã æå·åã«ã¤ã㦠æ¨ä»ã§ã¯ãå人æ å ±ä¿è·æ³ã«åãããããæå·åãå¿ è¦ã¨ããã±ã¼ã¹ãå¢ãã¦ãã¾ãããç¹ã«ãã¼ã¿ãã¼ã¹ã«ã¯éè¦ãªå人æ å ±ãæ ¼ç´ããããããç¹ã«ã·ãã¢ãªæå·åãæ¤è¨ããããã¨ãå¤ãã§ãã ä¸å£ã«æå·åã¨è¨ã£ã¦ããã¹ãã¬ã¼ã¸ã®ãã¼ãã¦ã§ã¢é¨åã§æå·åãæ½ãããã¡ã¤ã«ã·ã¹ãã (ãããã¯ããã¤ã¹)ã§æå·åãæ½ããçè´ã«åãã¦æå·åãããã¼
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}