반응형


psql -c "쿼리" [출력포맷] > 파일이름
반응형

'Tip & Tech > Both | Other' 카테고리의 다른 글

오라클 오류번호-설명  (0) 2010.10.20
MySQL 외부접속 방법.  (0) 2010.10.20
톰캣 서버 한글 URI 허용 설정.  (0) 2010.10.20
Oracle 9i 유저 설정변경  (0) 2010.10.20
PostgreSQL 에서 SQL에서 문자열 합치기  (0) 2010.10.20
반응형

일전것과 같이 DSN자료인데 이게 더 상세한 자료며 자료 출처도 있음
http://database.sarang.net/?inc=read&aid=5715&criteria=pgsql&subcrit=tutorials&id=&limit=20&keyword=&page=1
아무래도 이게 완결같네요

PostgreSQL win32 바이너리 설치하기.
- 김상기 ioseph

1. 사용자 만들기.
유닉스와 마찬가지로 일단 DB 서버를 운영할 시스템 사용자가 필요합니다.

쉘 명령 프롬프트 (cmd 창)에서 net user 명령이나, 컴퓨터 관리에서 사용자 추가로 postgresql 서버를 운영할 사용자를 만듭니다. 예를 들어서 유닉스에서 처럼 postgres

> net user postgres 1234 /add



2. postgres 사용자로 cmd 실행하기.
cmd 창에서 runas 명령을 이용해서 앞에서 만든 db 서버를 운영할 사용자(여기서는 postgres로 했습니다)로 새 cmd 창을 띄웁니다.

> runas /user:postgres cmd

이 명령이 실행되면 암호를 물어봅니다. 앞에서 암호를 1234로 지정했으니, 그렇게 하면 되겠지요.



3. initdb 작업
다운 받은 압축파일을 c:\pgsql 폴더에 풀었다고 가정하고, 그 폴더로 이동하면, bin\initdb.exe 파일 있습니다. 이 명령을 실행해서 새로운 db 클러스터를 만듭니다. 만드는 방법은 유닉스에서와 완벽하게 동일합니다.

> cd \pgsql

> bin\initdb -D data -E unicode --no-locale

-D 옵션은 만들어질 데이터 디렉토리를 지정하는 것이고, 윗 예제라면, c:\pgsql\data 가 됩니다.

-E 옵션은 데이터베이스의 기본 문자셋을 지정하는 것이고, 한국어를 가장 잘 처리하는 것이 unicode (utf-8) 밖에 없는지라, 이 문자셋을 사용합니다.

--no-locale 옵션은 한국어 정렬관련과 인덱스 관련 때문에 지정해 줍니다.



4. 기본 postgresql.conf 파일 적당히 수정하기.
새로 만들어진 data 폴더 안에 서버 환경 파일인 postgresql.conf 파일이 있습니다. 이 파일을 약간 수정해 주어야 합니다. 변경되는 값은 listen_addresses (외부에서 접속을 가능하게 하려면, '*' 또는 해당 시스템의 외부용 공식 ip여야합니다.)


listen_addresses = '*' # what IP interface(s) to listen on;
# defaults to localhost, '*' = any


또한 외부에서 이 서버로 접속을 하려면, data 폴더 안의 pg_hba.conf 파일도 수정해야하는데, 이부분에 대한 이야기는 메뉴얼을 참조하세요.

(M$ 쪽으로 보다 쉽게 움직이려면, 이 postgresql.conf 파일과, pg_hba.conf 파일을 비주얼하게 편집할 수 있는 툴이 나와야겠다는 생각이 드네요)



5. pg_ctl 명령을 이용한 서비스로 등록하기
새 데이터베이스 클러스트가 다 만들어졌으면, 이제 db 서버를 시스템이 켜지면 자동으로 실행되도록 윈도우즈 서비스로 등록해 둡니다. 이 작업은 postgres 계정이 아닌, 관리자 계정이어야합니다.

> c:\pgsql\bin\pg_ctl register -N postmaster -U postgres -P 1234 -D c:\pgsql\data

다음 postgres 계정이 서비스를 가동할 수 있는 권한을 부여해 주어야합니다. 이 작업도 관리자 권한으로 실행합니다.

> mmc c:\windows\system32\secpol.msc

명령으로 '로컬 보안 설정' 창이 나타나면, 거기서 로컬 정책 -> 사용자 권한 할당 영역으로 이동한 다음, '서비스로 로그온' 항목을 더블 클릭해서 편집 대화창을 띄우고, 앞에서 서비스로 실행시킬 사용자를 추가해 줍니다.



6. PostgreSQL 서버 실행하기.
시스템 관리자 권한으로 명령창에서 net start 명령으로 단순히 실행하면 됩니다.

> net start postmaster

여기서 postmaster 는 앞에서 pg_ctl register 명령에서 -N 옵션으로 지정한 이름입니다.



여기까지입니다. 특별한 문제가 없다면, 자연스럽게 가동될 것입니다. 잘 가지고 놀아보시고, 문제점들이 발견되면 DSN 게시판을 통해서 논의해 봅시다.



7. 테스트
GUI 툴로는 PgAdmin3 프로그램을 다운 받으셔서 테스트 해보시면 됩니다.  

그래서 늘 해왔듯이, psql 놈으로 테스트를 해보셔도 좋구요.

> c:\pgsql\bin\psql -U postgres template1
반응형
반응형
예전 DSN(database.sarang.net)에서 구한 답변내역인데 찾을수가 없어서 가져옴
문제가 생기면 삭제할게요


현재 윈도우 계정은 administrator입니다.



postgres 설치폴더\bin에서

>postmaster -S -i -D ../data
명령을 치면 administrators not permmited ..어쩌구 하고 나오는데요

postgres는 postgresql-8.0-beta1-20040809.msi(windows버전)
tcp/ip 연결옵션을 -i 로 enabled 되게 하는 법좀 알려주세요

이 글에 대한 댓글이 총 2건 있습니다.PostgreSQL win32 바이너리 설치하기.
- 김상기 ioseph

1. 사용자 만들기.
유닉스와 마찬가지로 일단 DB 서버를 운영할 시스템 사용자가 필요합니다.

쉘 명령 프롬프트 (cmd 창)에서 net user 명령이나, 컴퓨터 관리에서 사용자 추가로 postgresql 서버를 운영할 사용자를 만듭니다. 예를 들어서 유닉스에서 처럼 postgres

> net user postgres 1234 /add



2. postgres 사용자로 cmd 실행하기.
cmd 창에서 runas 명령을 이용해서 앞에서 만든 db 서버를 운영할 사용자(여기서는 postgres로 했습니다)로 새 cmd 창을 띄웁니다.

> runas /user:postgres cmd

이 명령이 실행되면 암호를 물어봅니다. 앞에서 암호를 1234로 지정했으니, 그렇게 하면 되겠지요.



3. initdb 작업
다운 받은 압축파일을 c:\pgsql 폴더에 풀었다고 가정하고, 그 폴더로 이동하면, bin\initdb.exe 파일 있습니다. 이 명령을 실행해서 새로운 db 클러스터를 만듭니다. 만드는 방법은 유닉스에서와 완벽하게 동일합니다.

> cd \pgsql

> bin\initdb -D data -E unicode --no-locale

-D 옵션은 만들어질 데이터 디렉토리를 지정하는 것이고, 윗 예제라면, c:\pgsql\data 가 됩니다.

-E 옵션은 데이터베이스의 기본 문자셋을 지정하는 것이고, 한국어를 가장 잘 처리하는 것이 unicode (utf-8) 밖에 없는지라, 이 문자셋을 사용합니다.

--no-locale 옵션은 한국어 정렬관련과 인덱스 관련 때문에 지정해 줍니다.



4. 기본 postgresql.conf 파일 적당히 수정하기.
새로 만들어진 data 폴더 안에 서버 환경 파일인 postgresql.conf 파일이 있습니다. 이 파일을 약간 수정해 주어야 합니다. 변경되는 값은 listen_addresses (외부에서 접속을 가능하게 하려면, '*' 또는 해당 시스템의 외부용 공식 ip여야합니다.)


listen_addresses = '*' # what IP interface(s) to listen on;
# defaults to localhost, '*' = any


또한 외부에서 이 서버로 접속을 하려면, data 폴더 안의 pg_hba.conf 파일도 수정해야하는데, 이부분에 대한 이야기는 메뉴얼을 참조하세요.

(M$ 쪽으로 보다 쉽게 움직이려면, 이 postgresql.conf 파일과, pg_hba.conf 파일을 비주얼하게 편집할 수 있는 툴이 나와야겠다는 생각이 드네요)



5. pg_ctl 명령을 이용한 서비스로 등록하기
새 데이터베이스 클러스트가 다 만들어졌으면, 이제 db 서버를 시스템이 켜지면 자동으로 실행되도록 윈도우즈 서비스로 등록해 둡니다. 이 작업은 postgres 계정이 아닌, 관리자 계정이어야합니다.

> c:\pgsql\bin\pg_ctl register -N postmaster -U postgres -P 1234 -D c:\pgsql\data

다음 postgres 계정이 서비스를 가동할 수 있는 권한을 부여해 주어야합니다. 이 작업도 관리자 권한으로 실행합니다.

> mmc c:\windows\system32\secpol.msc

명령으로 '로컬 보안 설정' 창이 나타나면, 거기서 로컬 정책 -> 사용자 권한 할당 영역으로 이동한 다음, '서비스로 로그온' 항목을 더블 클릭해서 편집 대화창을 띄우고, 앞에서 서비스로 실행시킬 사용자를 추가해 줍니다.



6. PostgreSQL 서버 실행하기.
시스템 관리자 권한으로 명령창에서 net start 명령으로 단순히 실행하면 됩니다.

> net start postmaster

여기서 postmaster 는 앞에서 pg_ctl register 명령에서 -N 옵션으로 지정한 이름입니다.



여기까지입니다. 특별한 문제가 없다면, 자연스럽게 가동될 것입니다. 잘 가지고 놀아보시고, 문제점들이 발견되면 DSN 게시판을 통해서 논의해 봅시다.



7. 테스트
GUI 툴로는 PgAdmin3 프로그램을 다운 받으셔서 테스트 해보시면 됩니다.  

그래서 늘 해왔듯이, psql 놈으로 테스트를 해보셔도 좋구요.

> c:\pgsql\bin\psql -U postgres template1
반응형
반응형

쿼리
select 'aa' || 'board' as sumchar;

결과
sumchar = 'aaboard'
반응형
반응형

## postgresql.conf

# 32번 ip를 리슨 아이피로 설정 (로컬또한 접근이 가능해야하므로 로컬 아이피도 추가)
listen_addresses = '210.110.180.32, 127.0.0.1'        # what IP interface(s) to listen on;



## pg_hba.conf

# IPv4 local connections: 모든 아이피로 32비트 커넥션(ipv4)은 접근허용
host    all         all         127.0.0.1/32          trust
host         all            all         0.0.0.0/0              md5

반응형
반응형

Postgre SQL 8.0 사용시

ODBC연결을 이용하면

서버측에 열린 세션이 풀링 되면서

해제된 세션이 남아 있는 현상이 발생하며

이때문에 ODBC 드라이버에 버퍼 오버플로우가 발생하여

응용 프로그램이 오류를 내며

열린 ODBC 드라이버는 응용프로그램이 종료되기전까지 사용불가능하게 된다

이 방법을 해결하는 법은



ODBC 데이터 원본 에서

풀링 탭에서

그림과 같이 PostgreSQL 드라이버에 풀링 시간 설정.
반응형

+ Recent posts