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 Q&A 5099 게시물 읽기
No. 5099
사용자 함수를 공유할려면?
작성자
초보
작성일
2003-12-13 17:13
조회수
1,389

사용자 정의 function 이나 view, schema 등등을

template1 같은 곳에다가 정의하고 (일반사용자라기 보다 postgres - super user - 겠죠..) 이것을 일반 사용자들이 공유하고 싶습니다.

(max, sum 등등처럼 자신의 table 을 만든 후 해당 펑션을 바로 쿼리문에서 사용가능하게)

 

postgres 로 template1 에 연결하여

create or replace function pg_catalog.my_func () returns text as '

 .....

' language 'xxx';

 

grant execute on function my_func() to PUBLIC;

 

암튼 뭐 이런 식 등등 을 시도해봤는데..

되질 않는군요 (사용자 정의 디비에서 my_func() 을 사용할수가 없습니다.)

 

max, sum 처럼 되게 할려면 어떻게 해야 하나요..

 

 

p.s : 질문 내용과는 전혀 다르지만...

저도 DSN 의 게시판 소스가 정말 궁금해지네요

볼수 있다면 한번 봤음 많은 도움이 될 거 같습니다.

 

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

 

사용자 정의 함수는 각 database의 pg_proc 테이블에만 정의됩니다.

 

pg_proc 같이 일반적인 시스템 카타로그 테이블들은 데이터베이스를 만들때, template1 데이터베이스와의 관계가 완벽하게 끊어집니다. (특별히 pg_shadow, pg_database, pg_schema 같은 놈은 예외지요)

 

즉, template1 에는 있고, 사용하고 있는 database에는 없다면, 사용하고 있는 모든 database에 그 함수를 각각 만들어주어야합니다.

이것을 피하려면, 새 database를 만들기 전에 이미 template1에 사용자 정의 함수들을 만들어 두고 새 database를 만들면 되겠지요.

김상기(ioseph)님이 2003-12-15 17:58에 작성한 댓글입니다.

답변 감사드립니다.

글을 보고 몇가지 테스트를 해보았습니다.

 

template1 의 database 는 계정생성시 복사하는 skel 과 같은 역활(?)을 하는거 같더군요

 

말대로 이미 만들어진 것에는 영황이 없으나, 새로 만드는것은

만들 당시 존재하던 template1 db 를 그대로 복사를(?) 하는 것이었습니다.

 

재미있는 사실은..

template1 에다가 create test table (xxx);  한후

createdb xx 하면 xx db 에 postgres 의 권한을 가진(test 를 만든 사람이 postgres 였음) test 테이블 자체도 복사를 하였습니다.

 

답변에 감사드립니다. 덕분에 template1 DB 를 활용할 기회(?) 를 얻은거 같습니다.

 

새로운 사실(혼자만 몰랐던걸까...) 을 알게 되어 기쁘네요

 

초보님이 2003-12-15 21:45에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
5102서버레벨에서 prepare 유지하는 방법 없을까요? [1]
신기배
2003-12-16
1193
5101순차적인 UPDATE를 한방에 할수는 없나요?? [1]
재학
2003-12-15
1606
51007.3.x 버전으로 자료 이전 하기 참고.
김상기
2003-12-15
1498
5099사용자 함수를 공유할려면? [2]
초보
2003-12-13
1389
5098DSN에 사용된 소스에 관해.. [1]
부엉
2003-12-12
1248
5097pgsql에서 '아햏햏' 입력하기... 확장 완성형 문제 해결 방법? [9]
박성철
2003-12-12
3201
5095배열 요소를 " 로 감싸게 하려면 -.-; 어떤 옵션을 줘야 하는지요? [3]
신기배
2003-12-11
1422
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다