삭제시에는 제어판에서 프로그램 추가/삭제를 이용하여 삭제하면 됩니다.
당연히 프로세스는 종료하고 삭제를 해야겠지요.
그런 다음에 데이터가 저장된 파일이 삭제 할 수 없다는 메시지를 볼 수 있는데요(비스타의 경우, XP는 안 써봐서..),
그건 takeown 관련 명령어 찾아보시길...
간단히 예를 들면 takeown /f 디렉토리명 /r /d y 이렇게 해보세요.
기억이 정확치 않으니 자세한 내용 찾아서 해보시길..
만약 UAC를 사용하고 계신다면 파일의 권할 설정을 추가로 해줄 필요가 있을 것입니다.
파일에서 우클릭 후 권한 부분에서 조정을 해주세요.

'DB' 카테고리의 다른 글

[PostgreSQL] 삭제하기 for Windows  (0) 2009.04.14
[PostgreSQL] 사용하기 for Windows  (0) 2009.04.14
[PostgreSQL] 설치하기 for Windows  (0) 2009.04.14
[PostgreSQL] 간단 사용법  (0) 2007.10.12
[Oracle] 오라클 seq 씨퀀스 사용하기  (0) 2007.03.31

Windows용 PostgreSQL을 설치(이전 포스트 참고) 하였으면 실제 사용해봅니다.
물론 간단한 접속만 적어드리니.. 나머지는 알아서..-ㅅ-;

설치를 끝낸 후엔 시작프로그램에 등록이 됩니다.
Start Server를 선택하면 서버가 시작되고 Stop Server를 선택하면 서버가 종료됩니다.
pgAdmin은 PostgreSQL을 쉽게 사용할 수 있게 하는 GUI 기반의 툴입니다. 소개는 다음에 하도록 하겠습니다.
SQL Shell은 일반 쉘 기반의 환경으로 아래 스샷을 참고 바랍니다.


Start Server를 선택하여 DBMS를 실행한 후 SQL Shell을 선택하면 다음과 같은 창을 볼 수 있습니다.
이 화면이 기본적인 접속방법입니다.
server 주소와 DB명 port, 사용자명을 요구하지만 이전 포스트와 같이 그냥 기본적인 실치를하여 local 접속을 하고자 하는 것이라면 그냥 엔터쳐서 넘기시면 됩니다. -_-


접속 후의 화면입니다. 기본적인 사용 방법은 http://blog-kr.specialguy.net/53 를 참고해 주세요.


'DB' 카테고리의 다른 글

[PostgreSQL] 삭제하기 for Windows  (0) 2009.04.14
[PostgreSQL] 사용하기 for Windows  (0) 2009.04.14
[PostgreSQL] 설치하기 for Windows  (0) 2009.04.14
[PostgreSQL] 간단 사용법  (0) 2007.10.12
[Oracle] 오라클 seq 씨퀀스 사용하기  (0) 2007.03.31
항상 PostgreSQL을 linux용으로만 사용해 오다가 공부도 할 겸 윈도우에 설치해 보았습니다.

먼저 윈도우용 PostgreSQL을 다운 받습니다.
다운로드 링크 => 다운로드
JDBC가 필요하시면 이 링크 => 다운로드

1. 파일을 실행합니다.

2. PostgreSQL을 설치할 폴더를 정합니다.

3. DB 파일이 저장될 폴더를 정합니다.

4. 최고관리자 암호를 결정하여 입력합니다.

5. 사용할 포트를 정합니다. 보통은 local에서만 사용하기 때문에 큰 의미는 없겠지만 필요하다면 입력합니다.

6. Locale을 정합니다. 어차피 한글을 사용하더라도 PostgreSQL은 기본적으로 UTF-8을 지원하기 때문에 큰 의미는 없을 것 같습니다.

7. Next 를 선택하면 설치를 시작합니다.

8. 설치중 입니다.

9. 설치가 완료 되었습니다.

'DB' 카테고리의 다른 글

[PostgreSQL] 삭제하기 for Windows  (0) 2009.04.14
[PostgreSQL] 사용하기 for Windows  (0) 2009.04.14
[PostgreSQL] 설치하기 for Windows  (0) 2009.04.14
[PostgreSQL] 간단 사용법  (0) 2007.10.12
[Oracle] 오라클 seq 씨퀀스 사용하기  (0) 2007.03.31
대부분의 문법은 SQL 표준을 따르고 있다.
(CentOS에서 plus 부분을 enable하고 업데이트 하면 8.1.9 버전이 깔리게 되는데 이를 기준으로 한다.)
 
간단히 DB에 접속하는 방법만 나열하겠다.
> su postgres
# psql 접속할 database명
 
1. 테이블 생성
create table 테이블명 (field 설명);
ex> create table mytest (idnum serial primary key, name varchar(20) not null, test bigint default 0);
 
data type에 대한 문서는 이곳을 참고
 
2. 테이블 삭제
drop table 테이블명;
ex> drop table mytest;
 
3. 테이블 수정
alter table 테이블명 여러가지 조건
ex> alter table mytest rename name to nickname;
mytest 테이블의 name 필드명을 nickname으로 바꾼다.
 
테이블 수정에 대한 문서는 이곳을 참고
 
4. 게시물 등록, 삭제, 수정
이 부분에 대한 문서는 이곳을 참고
 
5. 인덱스 관련
인덱스 생성 : create index 인덱스명 on 테이블명(인덱스를 걸고 싶은 필드명);
ex> create index name_idx on mytest(name);
인덱스 삭제 : drop index 인덱스명;
ex> drop index name_idx;
 
인덱스에 대한 문서는 이곳을 참고
 
6. JOIN 관련
JOIN에 대한 문서는 이곳을 참고
 
7. 기타 PostgreSQL 명령어
콘솔에서의 명령어는 \?로 볼 수 있다.
대체적으로 많이 사용하게 되는 명령어는 다음과 같다.
 
\d - 현재 접속한 database의 모든 테이블과 sequence를 보여준다.
\d 테이블명 - 지정한 테이블의 속성과 이에 속한 index를 보여준다.
\di - 현재 접속한 database의 모든 index를 보여준다.
\di 인덱스명 - 지정한 인덱스의 속성을 보여준다.
\i 파일명 - 지정한 파일로부터 SQL 명령을 읽어 이를 수행한다.
\q - 콘솔을 종료한다.
 
sql과 함께 사용하는 명령어는 다음과 같다.
 
explain SQL문 - 지정한 SQL을 수행하면서 이 수행 과정을 보여준다.
explain analyze SQL문 - 지정한 SQL을 수행하면서 이 수행 과정을 보여주고 소요 시간을 보여준다.
 
콘솔에서 transaction을 사용할 수 있다.
먼저 transaction을 수행하려면 SQL의 표준과 같은 명령어를 입력한다.
# begin;
이 명령어를 입력하면 BEGIN이라는 응답이 표시된다. 이때부터 실행하는 모든 쿼리들은 원치 않으면 이 쿼리들이 실행되기 이전으로 되돌릴 수 있다.
transaction을 끝내려면 다음과 같은 명령어를 입력한다.
# commit;
또는
# rollback;
commit은 transaction이 실행되고 난 이후의 쿼리를 모두 DB에 적용시킨다는 의미이다.
rollbank은 transaction이 실행되고 난 이후의 쿼리를 모두 취소 한다는 의미이다.
단, 여기에서 rollback을 한다고 하더라도 sequence(간단하게 serial로 생성된 필드의 자동으로 입력되기 위한 값을 가지고 있는 테이블)의 값은 증가한 상태로 복원되지 않는다.
 
명령어는 아니지만 콘솔을 사용하면서 알아두면 편리한 것들.
- 각종 명령어를 입력하고 tab을 누르면 다음에 어떤 것이 오는 것을 선택할지 리스트로 보여준다(리눅스의 그것과 같음).
- 위로 키를 누르면 이전 명령어를 하나씩 보여준다(리눅스의 그것과 같음).
- page up, down, home, end 키 역시 리눅스와 같은 역할을 한다.
해당 내용은 시퀸스 쿼리를 참조하기 위해 올립니다. 흠.."CREATE SEQUENCE MYSQ INCREMENT BY 1 START WITH 10000;"------------------------------------------------------- 안녕하세요? kimho입니다. 날씨가 더워지고 있습니다. 몸도 마음도 느슨해지기 쉬운 때입니다.   저도 그래서인지 강좌가 좀 늦어졌네요... 하하하 ....^^;   ...   웃음으로 때우려 해봤자 소용 없겠죠?   핑계가 안 통한다는 걸 알면서도 죄송한 마음에 핑계를 대게 됩니다....   강좌가 늦어지지 않도록 더욱 노력할께요... 화이링~~     오늘의 강좌는 오라클에서 시퀀스(Sequence) 사용하기입니다.   시퀀스라는 것은 자동 증가 칼럼을 만들 때 사용합니다.   예를 들어 사이트에 가입한 회원들에게 임의의 번호를 부여한다고 가정했을 때요...   일단 모든 회원은 서로 다른 회원번호를 가지고 있어야 합니다.   그래야 회원들이 동명이인이든 뭐든간에 구분해서 관리할 수 있으니까요.   그런데 여러분이 직접 일일이 가입하는 회원마다 번호를 만들어서 부여할 수는 없는 노릇입니다.   만약 하루에 회원이 100명씩 가입한다면   하루 내내 그 100명에게 중복되지 않은 회원번호를 찾아서 부여하는데 시간을 보낼 수는 없겠지요.   그래서 우리는 가입하는 회원마다 자동적으로 중복되지 않는 회원번호를 부여하도록 하기 위해   자동 증가 칼럼을 이용하는 것입니다.   무슨 말이냐면요...   만약 처음으로 회원이 한명 가입해서 그 회원에게 1이라는 회원번호가 부여되었다면,   그 다음으로 회원이 가입할 때는 가입과 동시에 저절로 2라는 번호가 부여되도록 하는 것입니다.   회원이 가입할 때마다 새로운 회원번호에는 기존 회원번호에서 증가된 값이 부여되도록 하면   회원번호가 중복되는 일이 생기지 않겠지요.   그것을 오라클에서는 시퀀스(Sequence)라는 것을 이용하여 구현하지요.   mySQL에서는 이와 같은 기능으로 auto_increment 속성이라는 것이 있습니다.   얼마 전에 했던 게시판 만들기 강좌에서 사용되었었지요... 기억나시죠?     자, 이제부터 시퀀스를 사용해보도록 하겠습니다.     그럼 테스트를 위해 임의의 테이블을 만들겠습니다.   SQL> CREATE TABLE SQTEST 2> (SQ_ID NUMBER, 3> SQ_NAME VARCHAR2(20));   테이블 이름은 SQTEST이고 칼럼에는 SQ_ID와 SQ_NAME이 있습니다.   이제 할 일은 시퀀스를 만드는 것입니다.   SQL> CREATE SEQUENCE MYSQ INCREMENT BY 1 START WITH 10000;   CREATE SEQUENCE 라는 문장을 사용하여 MYSQ라는 이름의 시퀀스를 만들었습니다.   이제부터 우리는 MYSQ를 사용하여 SQ_ID를 자동 증가 칼럼으로 사용하게 될 것입니다.   이 문장에서 INCREMENT BY 1 은 자동 증가 칼럼의 증가치가 1이라는 뜻이구요,   START WITH 10000은 자동 증가 칼럼이 10000부터 증가한다는 뜻입니다.   그럼 이 시점에서 새로운 데이터를 입력해 볼까요? 잘 보세요.   SQL> INSERT INTO SQTEST VALUES(MYSQ.NEXTVAL,'홍길동');   데이터를 하나 입력했습니다. MYSQ.NEXTVAL이라는 데이터를 입력했죠?   우리는 시퀀스를 사용할 때 NEXTVAL이라는 슈도 칼럼(Pseudo-column)을 사용합니다.   슈도 칼럼에 대한 얘기는 '오라클 rownum에 대하여'라는 강좌에서 잠깐 나왔었죠?   여기서는 그리 중요한 의미가 아니므로 그것에 대한 설명은 생락하겠습니다.   어쨌든 '시퀀스명.NEXTVAL'의 형태로 입력한다는 사실만 알아두시기 바랍니다.   그러면 현재 어떻게 값들이 입력되었는지 보도록 하겠습니다.   SQL> SELECT * FROM SQTEST;

SQ_ID

SQ_NAME

--------

--------------

10000

홍길동

  SQ_ID에는 10000 이라는 값이 들어갔고 SQ_NAME에는 '홍길동'이라는 값이 들어갔습니다.   이해가 되시나요?   한번 더 INSERT를 실행하면 아마 좀 더 이해가 되실겁니다.   SQL> INSERT INTO SQTEST VALUES(MYSQ.NEXTVAL,'고길동');   다시 결과를 보면,

SQ_ID

SQ_NAME

--------

--------------

10000
10001

홍길동
고길동

  SQ_ID에는 10000에서 1이 증가된 값인 10001이라는 값이 들어갔습니다.   이제 이해가 되시죠?   이런 식으로 계속 값을 넣다 보면 SQ_ID에는 언제나 서로 중복되지 않는 값이 들어가겠죠?     그런데 한가지 여러분께서 알아두셔야 할 사항이 있습니다.   SQ_ID에는 언제나 순차적인 값이 들어가는 것은 아니라는 것입니다.   무슨 말인지 모르시겠죠? 알 수가 없습니다. 제가 설명을 안했으니까요...   그럼 지금부터 자~알 보세요..   SQL> DELETE FROM SQTESET WHERE SQ_NAME='고길동';   이렇게 SQ_NAME이 '고길동'인 로우를 지웠습니다.   그러면 SQTEST라는 테이블에는 '홍길동'만이 들어있겠지요? 이렇게요..

SQ_ID

SQ_NAME

--------

--------------

10000

홍길동

  그리고 여기서 다시 새로운 데이터를 하나 넣겠습니다.   SQL> INSERT INTO SQTEST VALUES(MYSQ.NEXTVAL,'홍제동');   '홍제동'이라는 새로운 데이터를 넣었습니다.   여기서 잠깐 퀴~~즈!   SQTEST 테이블에는 이제 어떤 값들이 들어가 있을까요?   너무 쉽다구요..?   그러면 과연 여러분께서 예상했던 결과가 나오는지 확인해 보겠습니다.   SQL> SELECT * FROM SQTEST;

SQ_ID

SQ_NAME

--------

--------------

10000
10002

홍길동
홍제동

  보셨습니까?   SQ_ID에 10001이 아니라 10002가 들어가 있습니다. 이상하죠?   음... 왜 이런 결과가 나왔느냐 하면,   시퀀스는 그 특성상 일단 한번 증가하면 그 값이 절대 다시 줄어들지는 않습니다.   이 녀석은 오로지 증가밖에 할 줄 모르는 녀석이지요. 무대포에요..   "난 한 놈만 패!" 뭐 이런 거죠...   따라서 이전에 10001이라는 값이 한번 생겼었다면 10001이 지워져도,   그 다음엔 무조건 10002라는 값을 만드는 것입니다.   그러므로 여러분은 DELETE로 데이터를 하나 지웠다고해서   다른 시퀀스 값이 저절로 하나씩 감소해서 그 값을 채우지는 않는다는 것을 알아두시기 바랍니다.   아시겠죠?     그럼 오늘 강좌는 여기서 마치겠습니다.   이제는 우리가 헤어져야 할 시간~   다음에 또 만나요~     행복하세요~~



출처 : http://blog.naver.com/djllove/150001557510

'DB' 카테고리의 다른 글

[PostgreSQL] 설치하기 for Windows  (0) 2009.04.14
[PostgreSQL] 간단 사용법  (0) 2007.10.12
[Oracle] 오라클 seq 씨퀀스 사용하기  (0) 2007.03.31
[Oracle] 변환함수 : TO_CHAR, TO_NUMBER,TO_DATE  (0) 2007.03.31
[Oracle] Index Rebuild  (0) 2007.03.31

+ Recent posts