web-dev-qa-db-ja.com

uuidを使用できず、それを使用するための拡張機能を作成できません

Ubuntu 13のPostgresql 9.2でuuidを使用したいので、利用可能かどうかを確認しようとしたとき、次のようにしました。

_select uuid_generate_v4() as one;
_

そしてそれは私にERROR: function uuid_generate_v4() does not existを与えました

それから私は_CREATE EXTENSION "uuid-ossp";_をしました

_ERROR:  could not open extension control file "/usr/share/postgresql/9.2/extension/uuid-ossp.control": No such file or directory
_

さて、私は次に何をしますか?

ちなみに、_SELECT * FROM pg_available_extensions;_はplpsql (1.0)のみを返します。

26
アレックス

拡張機能を含むオペレーティングシステムパッケージがインストールされていません。それをインストールするには:

apt-get install postgresql-contrib-9.2
37

asdf-postgresプラグインasdfバージョンマネージャ を使用している場合、次のようにpostgresバージョンをインストールすると、この問題が修正されます。

POSTGRES_EXTRA_CONFIGURE_OPTIONS=--with-uuid=e2fs asdf install postgres <VERSION>
3
user456584

それでもエラーが発生する場合は、/usr/share/postgresql/9.X/extension/uuid-ossp*.sql内の2つのSQLファイルをデータベースに手動で実行してみてください

0
Mohamed Dernoun