# PostgresQL
# PostgresQL
by jihoon kim
HTML
<h1>PostgresQL</h1>
<pre id="contents">
# PostgresQL
※ 참고
https://d2.naver.com/helloworld/227936
# PostgresQL ( 포스트-그레스-큐엘 )?
1. 15년 이상의 오랜 역사를 가지고 최근에는 1년 여반에 새로운 버전인 9.2버전을 출시함.
2. PostgreSQL(http://www.postgresql.org)는 북미와 일본에서는 높은 인지도가 높음.
3. 엔터프라이즈급 DBMS의 기능과 차세대 DBMS에서나 볼 수 있는 기능을 제공하는 오픈소스 DBMS이다.
4. Oracle과 유사점이 많음.
# 역사
PostgresSQL은 Ingres(INteractive Graphics REtrieval System)을 기반으로 발전했다.
# json data type
※ https://www.postgresql.org/docs/9.4/static/datatype-json.html
SELECT '[1, 2, "foo", null]'::json;
SELECT '[1, 2, "foo", null]'::json->>1;
SELECT '[1, 2, "foo", null]'::json->>'1'; -- error
SELECT '[1, 2, "foo", null]'::json->>cast('1' as INT); -- success
<h1>string_agg(expression, delimiter) text, text text input values concatenated into a string, separated by delimiter
</h1>
※ 참고 : https://www.postgresql.org/docs/9.0/static/functions-aggregate.html
select
string_agg( cast(m.ranking as text), ',' )
from
(
select
r,
RANK() OVER (ORDER BY r DESC) as ranking
from (
select md5(random()::text) r, gs.id from generate_series(1,70) gs(id)
) a
ORDER BY random()
) m
</pre>
<script>
function autolink(id) {
var container = document.getElementById(id);
var doc = container.innerHTML;
var regURL = new RegExp("(http|https|ftp|telnet|news|irc)://([-/.a-zA-Z0-9_~#%$?&=:200-377()]+)","gi");
var regEmail = new RegExp("([xA1-xFEa-z0-9_-]+@[xA1-xFEa-z0-9-]+\.[a-z0-9-]+)","gi");
return doc.replace(regURL,"<a href='$1://$2' target='_blank'>$1://$2</a>").replace(regEmail,"<a href='mailto:$1'>$1</a>");
}
window.onload = function () {
var container = document.getElementById("contents");
container.innerHTML = autolink("contents");
}
</script>