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 5375 게시물 읽기
No. 5375
한호스트에다른데이터베이스의테이블을 접근..
작성자
궁금이
작성일
2004-06-17 14:43ⓒ
2004-06-17 15:27ⓜ
조회수
3,420

한호스트에다른데이터베이스의테이블을 접근..

다른 디비에서는 아래처럼.

한호스트의 다른 데이터 베이스의 테이블을 불러들이는 것이 가능한데,

포스트그레이스큐엘에서는 어떻게 하는지요?

 

SELECT * FROM [데이터베이스명].[테이블명]

 

 

[데이터베이스명]의namespace가존재하지않는다고 에러가 나옵니다.

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

다른 디비는 mysql 말씀이신가 보죠?

 

mysql만 되고, 다른 dbms 중에서 저렇게 되는 걸 전 못봤네요. ^^

 

검색해보시면, dblink 였던가 add-on이 필요하다고 본 거 같습니다.

저도 써본 적은 없엇... ;;;

성혁(dsh)님이 2004-06-17 15:38에 작성한 댓글입니다.

ms-sql 도 되고

dblink는 원격지의 데이터베이스를

이용하고 싶을 때 사용하는거구요..

 

저는 저렇게 쓰는 SELECT 문장이

ANSI SQL인줄 알았어요.

궁금이님이 2004-06-17 15:49에 작성한 댓글입니다. Edit

처음 postgresql을 쓰면서 좀 당황했던 부분인데 아직까지 변경할 생각이 없는 것 같습니다. 저도 이제는 익숙해져서 특별히 불변한 것 모르겠구요. 아마도 지금까지 사용해오던 DBMS에서 익힌 습관 때문에 격는 일종의 '문화 충격' 아닐까 생각합니다.

 

DB마다 database마다 특색이 있으니 그것에 맞추는 것이 좋을 것 같습니다. 사실 특별한 이유가 없는한 말씀하신 것 같은 구조로 설계를 해야만 할 이유는 없던 것 같습니다.

 

오히려 MS SQL을 사용하는 사람들을 보면 별 생각도 없이 database를 이것 저것 만들어서 table들을 흩어 놓는데 별로 좋아보이지 않았습니다.

 

제가 Java를 처음에 공부하면서 느낀 것이 java로 프로그래밍을 하면 좋은 코드를 짤 수 밖에 없겠구나.. 하는 것이였는데 나중에 다른 사람들이 만든 코드를 보면서 생각이 바귀었습니다. Java를 C 프로그램 짜듯이 짜는 사람들이 한두명이 아니였습니다. java로 C style의 프로그램을 짜려면 엄청 신경쓰이고 힘들텐데 어떻게 그렇게들 짜는지... 그후 몇년 있다가 Think in Java라는 책이 나오더군요. -.-;;;

 

C 프로그래머가 Java로 옮기면서 단순히 syntax만 익히면 되는 것이 아니라 사고방식을 바꿔야 하는 것 정도는 아니더라도 Postgresql로 넘어오면서 지금까지 당연하다고 생각했던 부분까지도 다시 확인해야 하겠죠.

 

참고로 Oracle의 경우도 데이터베이스명.테이블명의 구문은 없습니다. 대신 사용자를 지정할 수는 있구요.

박성철(gyumee)님이 2004-06-18 09:46에 작성한 댓글입니다.

한 데이터베이스으로 다른데이터베이스에게 select 할수업습니다.

할수있은것은 SELECT * FROM [namespace].[테이블명]

initdb -->cluster1

-database1

-- namespace1

---table1

---table2

--namespace2

---table1

---table2

-database2

--namespace1

....... 등등

manual 에 해당하는 것입니다 : http://www.postgresql.org/docs/current/static/ddl-schemas.html

 

" To create or access objects in a schema, write a qualified name consisting of the schema name and table name separated by a dot:

 

schema.table

 

Actually, the even more general syntax

 

database.schema.table

 

can be used too, but at present this is just for pro-forma compliance with the SQL standard; if you write a database name it must be the same as the database you are connected to.

 

"

joesp님이 2004-06-21 12:13에 작성한 댓글입니다. Edit

create view inst as select * from dblink('host=pollux port=5432 dbname=cob_int user=his_int password=#integration#'

 

http://developer.postgresql.org/cvsweb.cgi/pgsql-server/contrib/dblink/dblink.c?only_with_tag=HEAD

joesp(joesp)님이 2004-06-23 08:20에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
5380이런 곳이 있군요. [5]
이상호
2004-06-22
1860
5379한국어 설정.. [1]
임경업
2004-06-21
1725
5376www.postgresql.or.kr [6]
ken
2004-06-17
2123
5375한호스트에다른데이터베이스의테이블을 접근.. [5]
궁금이
2004-06-17
3420
5374postgreSQL 재시작 에러 [1]
이동학
2004-06-17
3979
5373소수점 유지.
이상호
2004-06-17
1992
5372pgadmin3 [2]
궁금
2004-06-16
1844
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다