[SQL] 어떻게 PostgreSQL의에서 (설치) DBLINK를 사용 하는가?
SQL어떻게 PostgreSQL의에서 (설치) DBLINK를 사용 하는가?
나는 오라클에 내 스키마에 DBLINK를 만드는 데 사용하고 다음과 같은 원격 데이터베이스에 액세스 : MYTABLE @의 myremotedb이있다 어쨌든 PostgreSQL을 함께 동일하게합니까?
지금은이 같은 DBLINK를 사용하고 있습니다 :
SELECT logindate FROM dblink('host=dev.toto.com
user=toto
password=isok
dbname=totofamily', 'SELECT logindate FROM loginlog');
내가이 명령을 실행하면 나는 다음과 같은 오류가 발생합니다 :
누구는 아이디어가 있습니까? 우리는 "활성화"dblinks로하거나 사용하기 전에 뭔가를해야합니까?
우리가 쿼리에 가고있는 원격 데이터베이스에 할 수있는 뭔가가 있나요? 우리는 너무 DBLINK 활성화해야합니까? 나는이 연결을 설정할 수 없습니다 가진 계속. 이 라인 유형입니다 :
SELECT dblink_connect_u('host=x.x.x.x dbname=mydb user=root port=5432');
IP 주소는 정확하고 포스트 그레스는 원격 서버에서 실행되고 있습니다. 어떤 생각?
해결법
-
==============================
1.PostgreSQL를 9.1 이상에서, 추가 모듈의 설치는 간략화되었다. (DBLINK 포함) 등록 된 확장은 CREATE EXTENSION을 설치할 수 있습니다 :
PostgreSQL를 9.1 이상에서, 추가 모듈의 설치는 간략화되었다. (DBLINK 포함) 등록 된 확장은 CREATE EXTENSION을 설치할 수 있습니다 :
CREATE EXTENSION dblink;
기본 스키마에 설치 횟수 (기본적으로 공공). 있는지 확인 search_path의이 명령을 실행하기 전에 적절하게 설정 스키마는 그것으로 일해야하는 모든 사용자가 볼 수 있습니다.
양자 택일로, 당신은 귀하의 선택의 어떤 스키마에 설치할 수 있습니다 :
CREATE EXTENSION dblink SCHEMA extensions;
보다:
데이터베이스에 한 번 실행합니다. 또는마다 자동으로 새로 만든 DB에 추가 표준 시스템 데이터베이스 template1에서 실행합니다. 매뉴얼의 세부 사항.
먼저 서버에 설치된 모듈을 제공하는 파일이 필요합니다. 분명히, PostgreSQL의 9.1 - 데비안 및 파생 상품의 경우이 패키지 PostgreSQL을-있는 contrib-9.1 것입니다.
-
==============================
2.나는 간 데이터베이스 쿼리에 대한 내부 데이터베이스를 연결하는 DBLINK를 사용하고 있습니다.
나는 간 데이터베이스 쿼리에 대한 내부 데이터베이스를 연결하는 DBLINK를 사용하고 있습니다.
참고이 문서에서 가져옵니다.
DBLINK 확장을 설치합니다.
CREATE EXTENSION dblink;
DBLINK를 확인합니다 :
SELECT pg_namespace.nspname, pg_proc.proname FROM pg_proc, pg_namespace WHERE pg_proc.pronamespace=pg_namespace.oid AND pg_proc.proname LIKE '%dblink%';
데이터베이스의 연결 테스트 :
SELECT dblink_connect('host=localhost user=postgres password=enjoy dbname=postgres');
-
==============================
3.리눅스에서 dblink.sql 찾기, 모든 필요한 기능을 만들려면이 같은 PostgreSQL의 콘솔 뭔가를 실행합니다
리눅스에서 dblink.sql 찾기, 모든 필요한 기능을 만들려면이 같은 PostgreSQL의 콘솔 뭔가를 실행합니다
\i /usr/share/postgresql/8.4/contrib/dblink.sql
당신은있는 contrib 패키지를 설치해야 할 수도 있습니다 : apt-get을 설치 PostgreSQL을-있는 contrib을 SUDO
-
==============================
4.모듈을 설치하면 일반적으로 데이터베이스 설치에 포함 된 SQL 스크립트를 실행해야합니다.
모듈을 설치하면 일반적으로 데이터베이스 설치에 포함 된 SQL 스크립트를 실행해야합니다.
OS 리눅스처럼 가정
find / -name dblink.sql
위치를 확인하고 실행
-
==============================
5.그것은 사용하여 추가 할 수 있습니다 :
그것은 사용하여 추가 할 수 있습니다 :
$psql -d databaseName -c "CREATE EXTENSION dblink"
-
==============================
6.
# or even faster copy paste answer if you have sudo on the host sudo su - postgres -c "psql template1 -c 'CREATE EXTENSION IF NOT EXISTS \"dblink\";'"
from https://stackoverflow.com/questions/3862648/how-to-use-install-dblink-in-postgresql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] where 절에서 사용하는 '경우의 표현 열' (0) | 2020.04.02 |
---|---|
[SQL] 어떻게 SQL 작업 SSIS 실행에서 매개 변수로 변수를 전달하는 방법? (0) | 2020.04.02 |
[SQL] 모든 맥주를 여러 TSOLUMNS (0) | 2020.04.01 |
[SQL] 벌크는 SQL Server 2008에서 삭제 (삭제 데이터를 대량 복사 (BCP와 같은이 무엇이든)인가?) (0) | 2020.04.01 |
[SQL] 오라클에서 동적으로 행을 열로 회전식 (0) | 2020.04.01 |