database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Files 7279 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 7279
zeroboard xe 베타 버전 postgresql 용 db class 및 설치 폼
작성자
김상기(ioseph)
작성일
2007-12-06 18:32
조회수
16,862
첨부파일
파일이름크기Info 
DBPostgresql.class.php21.43 KB  
form.postgresql.html2.02 KB  

modules/install/lang/ 안에 $lang->db_desc 관련에 

'postgresql' => 

관련 정보도 집어 넣어주면 더 맞겠죠. 


뭐, 여튼 db 로그에 인덱스 만들기 관련에 약간에 문제가 보이기는 하는데, 

급한대로 포팅했습니다. 


일단은 zeroboard 개발 버전 관리 안으로 들어가야, 관심 있는 사람들이 고쳐서 최적화를 시킬 수 있을 것 같네요. 


나머지 세부적인 쿼리 튜닝에 대해서는 전혀 고려하지 않았습니다. 


일단 설치 되고 글 쓰여지는 것까지만 확인했습니다. 


뜻 있는 분 참여 부탁드립니다.

이 글에 대한 댓글이 총 5건 있습니다.

출근해서 코드 적용해보고 문제되는 부분들이 있는지 제가 확인해보겠습니다. ^^

네. 감사합니다.

zero(skklove)님이 2007-12-08 12:55에 작성한 댓글입니다.

제로보드는 사용해본 적이 없어 잘은 모르지만.. 이런 기회로 인하여 pgsql 도 널리 사용되었음 하네요
쿼리튜닝이나, 해당 DBMS 의 특성을 살려야 좋긴 하지만.. 그건 사실 어려울것으로 보여지고요

올리신 자료만을 보고 추가했습니다.


DBPostgresql Class 내에서 고쳐야 할 부분들을 대충 정리해 봤습니다.

@class DBPostgreSQL
@author
@brief MySQL DBMS .. 부분을 PostgreSQL 아라 수정해야 겠고요

_connect method 내의 마지막 부분에
$this->_query("set names 'UTF8'");
=> $this ->_query('set client_encoding to uhc');
또는 UTF8 환경이니깐 아예 없애거나 해야 할 거 같습니다.

begin method 구현
function begin() {
    if(!$this->isConnect() || $this->transaction_started == false) return;
    if($this->_query($this->fd, 'BEGIN'))
        $this->transaction_started = true;
}

rollback method 구현
function rollback() {
    if(!$this->isConnect() || $this->transaction_started == false) return;
    if($this->_query($this->fd, 'ROLLBACK'))
        $this->transaction_started = false;
}

commit method 구현
function commit() {
    if(!$this->isConnect() || $this->transaction_started == false) return;
    if($this->_query($this->fd, 'COMMIT'))
        $this->transaction_started = false;
}

 

tyro님이 2007-12-09 11:35에 작성한 댓글입니다. Edit

김상기님과 tyro님께 감사의 말씀 드립니다.


오늘 오전에 postgresql 설치하고 작성해주신 dbclass부분 조금 손 봐서 제로보드XE에서 postgresql 사용가능하도록 하였습니다.


unicode로 설정하고 하니 글도 잘 써지네요. ^^


revision 3278에 추가되었으며 제로보드XE 0.2.7 버전에 정식 포함될 예정입니다.

zero(skklove)님이 2007-12-10 12:48에 작성한 댓글입니다.

set names 구문은 꼭 있어야합니다. 

혹 지원하지 않는 DB나 잘못된 DB 환경에서 운영될 가능성이 있습니다. 

이것말고 좀 더 꼼꼼하게 생각하면, 버전 체크도 하고, db의 로케일도 체크해야 제대로 된 놈이 나올듯한데, 

이런 것들은 아마 다른 누군가가 하겠죠. ^^

---------

트랜젹션 문제도 좀 복잡합니다. 

만일 저 부분 추가 하게 되면, 
_query() 함수도 트랙잭션 블럭 안에 있는 쿼리인데, 만일 그 쿼리가 오류가 발생했을 경우도 함께 생각해야합니다. 
트랜잭션내 쿼리들 가운데 오류가 발생하면 다음 모든 쿼리들에 대해서, 
원칙적으로는 더이상 진행하지 않는다가 정책이니, 아마 이 내막을 잘 모르는 초보 사용자가 
사용할 경우 친절한 안내를 하지 않으면 꽤나 힘들어할 것 같네요. ^^

좀 더 꼼꼼해져야겠죠?

이것도 다른 누군가가 할 것이다 믿고. ^^

김상기(ioseph)님이 2007-12-10 13:34에 작성한 댓글입니다.

오호 그렇겠군요..


트랜잭션 부분은 좀 민감하게 다뤄져야 할거 같네요...


사실 이것...저것 하다보면 꽤나 신경쓸것이 많을거 같습니다.

tyro님이 2007-12-10 22:16에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
9413윈도우용 쉬운 PostgreSQL 설치 도우미 파일입니다.
김대현
2014-03-04
5815
8983PostgreSQL 8.1.4의 한글 번역 문서입니다.
강혜원
2012-04-30
7756
7286한글 처리 관련 함수 재 등록
김상기
2007-12-17
13682
7279zeroboard xe 베타 버전 postgresql 용 db class 및 설치 폼 [5]
김상기
2007-12-06
16862
70438.2.3 한국어 po 파일들
김상기
2007-02-10
13267
7001DBExpress driver for PostgreSQL 0.0.5
최정대
2007-01-11
12602
6827PgAdmin III 메뉴의 한글 번역 파일
강혜원
2006-09-12
16741
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.047초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다