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)
のみを返します。
拡張機能を含むオペレーティングシステムパッケージがインストールされていません。それをインストールするには:
apt-get install postgresql-contrib-9.2
asdf-postgresプラグイン で asdfバージョンマネージャ を使用している場合、次のようにpostgresバージョンをインストールすると、この問題が修正されます。
POSTGRES_EXTRA_CONFIGURE_OPTIONS=--with-uuid=e2fs asdf install postgres <VERSION>
それでもエラーが発生する場合は、/usr/share/postgresql/9.X/extension/uuid-ossp*.sql
内の2つのSQLファイルをデータベースに手動で実行してみてください