2013-01-12 2 views
5

소스에서 postgresql 9.2.2를 성공적으로 설치 한 후 (저장소에이 버전이없는 OpenSUSE 11.4에서) pg_trgm을 사용하는 데이터베이스를 복원하려고합니다. 신장. pg_trgm을 찾을 수 없으므로 오류가 발생합니다.소스에서 postgresql 설치 후 pg_trgm을 사용하는 방법

이 StackOverflow 질문 : Similarity function in Postgres with pg_trgm에서 pg_trgm은/usr/share/postgresql // contrib에 있어야하지만 내/usr 트리에는 contrib 폴더가 없습니다.

또한 postgres 확장 메커니즘이 작동하는 방식이나 수동으로 확장을 설치하는 방법에 대한 명확한 설명을 찾을 수 없습니다.

postgresql 소스 트리에 contrib 폴더가 있지만 사용 방법을 잘 모르겠습니다. 수동으로이 파일을/usr 트리에 수동으로 복사해야합니까? 누구든지 postgresql에서 pg_trgm과 같은 확장 프로그램을 설치하는 방법에 대한 설명을 주실 수 있습니까?

답변

11

postgresql을 ./configure으로 설정했다고 가정하면 기본 접두어 인 /usr/local/pgsql이 사용되어 모든 항목이 해당 디렉토리 아래에 설치됩니다.

데비안 정책과 일치하는 다른 레이아웃을 사용하지만 실제로는 /usr/share...과 관련이있는 데비안에 대한 대답은 부적합합니다. 어쨌든, 수동으로 아무것도 복사 할 필요가 없으므로 contrib에서 물건을 설치하기 위해서는 그것을 알 필요가 없습니다.

소스에서 pg_trgm 확장을 설치하려면 두 단계가 있습니다 :

1) 구축하고 PostgreSQL의 소스 트리에서 설치 :

$ cd /path/to/src/postgresql-9.2.2/contrib/pg_trgm 
$ make 
$ sudo make install # or su -c 'make install' if you don't use sudo 

2) 데이터베이스에 psql와 활성화 :

$ sudo -u postgres psql -d database -c "create extension pg_trgm;"

나중에 생성되는 데이터베이스에서 기본적으로 활성화하려면이 명령을에 적용하십시오.데이터베이스.

1

나는 설치를 CentOS 7 허용 pg_trgm 패키지에 PostgreSQL을을 사용했습니다 :

$ 냠 PostgreSQL을-있는 contrib

설치
관련 문제