-->

Can't use uuid and create an extension to use

2019-02-01 08:02发布

问题:

I want to use uuid in Postgresql 9.2 on Ubuntu 13. So when I tried to check whether is available or not, I did:

select uuid_generate_v4() as one;

And it gave me ERROR: function uuid_generate_v4() does not exist

Then I did 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

Well, what do I do next?

By the way, SELECT * FROM pg_available_extensions; returns plpsql (1.0) only.

回答1:

The operating system package that contains the extension is not installed. To install it:

apt-get install postgresql-contrib-9.2


回答2:

For anyone using the asdf version manager with the asdf-postgres plugin, installing postgres versions as follows fixes this issue:

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


回答3:

If you still get the error, try to run manually the two SQL files inside /usr/share/postgresql/9.X/extension/uuid-ossp*.sql into your database