2013-01-12 7 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が使用されているため、すべてがそのディレクトリの下にインストールされます。

あなたがリンクしている答えは、Debianポリシーに準拠した別のレイアウトを使用するDebianに関するものですが、あなたのケースでは/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;"

将来作成されるデータベースでデフォルトで有効にするには、このコマンドをに適用してくださいデータベース。

私はインストールを許可pg_trgmとCentOSに7におけるPostgreSQLとパッケージを使用してきました
1

$ yumをPostgreSQLの-contribの

をインストール