Postgresql에서 postgis 데이터베이스 생성

1,363 views
Skip to first unread message

dkchung

unread,
Dec 22, 2013, 8:43:19 PM12/22/13
to osge...@googlegroups.com
안녕하세요.
 
처음으로 질문을 올립니다.
 
제가 이번에 postgresql을 설치해보고 있는데요....
 
데이터베이스를 생성하다가 다음과 같은 오류가 발생했습니다..
 
DBMS에 대한 지식이 많지 않은지라, 이것저것 해봐도 영 모르겠네요...
 
스크린샷을 첨부합니다.
 
오류내용은 대략
 
"template_postgis 원본데이터를 다른 사용자가 액세스하가 시작했습니다.
데이터베이스를 사용하는 1개의 다른 세션이있습니다."
 
그러고는 DB가 생성되질 않습니다.
 
도움 부탁드립니다.
 
감사합니다.
이미지 1.png

유건우

unread,
Dec 22, 2013, 8:47:15 PM12/22/13
to osge...@googlegroups.com
안녕하세요 
망고시스템의 유건우 라고 합니다.
말 그대로 연결되어 있는 세션이 있는거 같습니다.
서비스 중이 아니고...설치해 보는것이라면.......
제일 빠르고 간단한 방법은 Postgresql 서비스 내렸다고 올리고 바로 시도해 보세요
그러면 DB생성 잘 됩니다

############################################################
(주)망고시스템 유건우 대리
[442-130] 경기도 수원시 팔달구 행궁로 98 A201호
Tel : 031-380-0526
Fax : 031-380-0479
Homepage : www.mangosystem.com
 
Mango System Inc.
#A201, 98, Haenggung-ro, Paldal-gu, Suwon-si, Gyeonggi-do, 442-130, Korea
Tel. 82-31-380-0526 | Fax. 82-31-380-0479 | Email : favo...@gmail.com
############################################################


2013년 12월 23일 오전 10:43, dkchung <happyt...@gmail.com>님의 말:

--
Google 그룹스 'OSGeo(Open Source GeoSpatial) 한국어 지부 - OSGeo Korean Chapter' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 osgeo-kr+u...@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 osge...@googlegroups.com(으)로 이메일을 보내세요.
http://groups.google.com/group/osgeo-kr에서 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out을(를) 방문하세요.

dkchung

unread,
Dec 22, 2013, 9:01:46 PM12/22/13
to osge...@googlegroups.com
감사합니다.
 
말씀하신데로 하니, 생성이됩니다.

2013년 12월 23일 월요일 오전 10시 43분 19초 UTC+9, dkchung 님의 말:

김태영

unread,
Dec 22, 2013, 11:29:25 PM12/22/13
to osge...@googlegroups.com
안녕하세요. 가이아쓰리디 김태영입니다.

Postgresql에 관하여 생소하신듯 하여 추가적으로 몇가지 더 적어봅니다.

일반적으로 "데이터베이스 생성"은 말 그래도 새로 만든다고 생각하기 쉬우나, Postgresql에서는 약간 의미가 다릅니다.

생성(Create)가 아니라 복사(Copy)라고 이해하시는게 맞습니다.

"CREATE DATABASE EAIM_CATALOG TEMPLATE template_postgis" 구문은 template_postgis 라는 데이터베이스(TEMPLATE)를 복사하여 EAIM_CATALOG 데이터베이스를 생성하라는 의미입니다.

Postgresql에서 Template과 Database는 동일합니다.

database생성시 기존 database를 복사하는데, 기존 database가 새로 생성하는 database의 뼈대가 되므로 기존 database를 template이라고 지칭할 뿐입니다.

database를 복사할 때 기존 database가 변경되면 복사가 제대로 완료될 수 없는 가능성이 있기에 기존 database의 세션 유무를 확인(no session)하는 과정이 있습니다.

말씀하신 에러는 이부분에서 발생한 것입니다.

따라서 template_postgis database에 연결되어 있는 세션을 모두 끊어주시면, database생성이 가능합니다.


덧붙여 말씀드리자면,

postgresql 설치시 두개의 template(database)을 제공합니다. template0과 template1이 그것입니다.
(Pgadmin에서는 안보이게 되어있는데 실제로 존재합니다. select * from pg_database 로 확인할 수 있습니다.)

create database 구문에서 TEMPLATE 인자를 생략할 경우 template1이 적용됩니다.


2013년 12월 23일 오전 11:01, dkchung <happyt...@gmail.com>님의 말:

--
Reply all
Reply to author
Forward
0 new messages