2013-01-12 11 views
5

Po pomyślnym zainstalowaniu PostgreSQL 9.2.2 ze źródła (na OpenSUSE 11.4, które nie ma tej wersji w repozytoriach), próbuję przywrócić bazę danych korzystającą z pg_trgm rozbudowa. Powoduje to błędy, ponieważ nie znaleziono pg_trgm.Jak korzystać z pg_trgm po instalacji PostgreSQL ze źródła

Z tego pytania StackOverflow: Similarity function in Postgres with pg_trgm, rozumiem, że pg_trgm powinno znajdować się w/usr/share/postgresql // contrib, ale w moim drzewie/usr nie ma żadnego folderu contrib.

Ponadto, nie mogę znaleźć wyraźnego wyjaśnienia, jak działa mechanizm rozszerzenia PostgreSQL lub jak ręcznie zainstalować rozszerzenie.

Istnieje folder contrib w drzewie źródeł postgresql, ale nie jestem pewien, jak tego użyć. Czy powinienem ręcznie skopiować to gdzieś do drzewa/usr? Czy ktoś może wskazać mi (lub dać) wyjaśnienie, jak zainstalować rozszerzenie, takie jak pg_trgm w postgresql?

Odpowiedz

11

Zakładając, że masz skonfigurowany postgresql z ./configure, użył domyślnego prefiksu /usr/local/pgsql, aby wszystko zostało zainstalowane poniżej tego katalogu.

Odpowiedź, którą łączysz, dotyczy Debiana, który używa innego układu, który jest zgodny z zasadami Debiana, ale w twoim przypadku /usr/share... jest nieistotny. W każdym razie nie jest konieczne, aby wiedzieć, że aby zainstalować rzeczy z contrib, ponieważ nie ma potrzeby kopiowania czegokolwiek ręcznie.

Aby zainstalować rozszerzenie pg_trgm ze źródła, są dwa kroki:

1) zbudować i zainstalować go z drzewa źródłowego 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) aktywować go psql w bazie danych:

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

Aby mieć domyślnie aktywowaną bazę danych utworzoną w przyszłości, należy zastosować to polecenie doBaza danych.

1

mam użyć PostgreSQL w Centosu 7 i pakietu z pg_trgm pozwoliły zainstalować:

$ yum install postgresql-contrib

Powiązane problemy