Postgresql

如何在 Postgres 9.3 上安裝/啟用 uuid-ossp 擴展?

  • June 4, 2021

我在 Ubuntu Linux 14.04 上使用 Postgres 9.3。如何安裝/啟用 uuid-ossp 擴展?我首先驗證了 contrib 包是否已安裝……

root@prodbox:/home/rails/myproject# apt-get install postgresql-contrib
Reading package lists... Done
Building dependency tree       
Reading state information... Done
postgresql-contrib is already the newest version.

然後我登錄並嘗試創建擴展…

root@prodbox:/home/rails/myproject# su - postgres
postgres@prodbox:~$ psql
psql (9.6.0, server 9.3.11)
Type "help" for help.

postgres=# CREATE EXTENSION "uuid-ossp";
ERROR:  could not open extension control file "/usr/share/postgresql/9.3/extension/uuid-ossp.control": No such file or directory

我完全沒主意了。我錯過了什麼?

您似乎安裝了兩個版本(9.6 和 9.3)(因為psql版本是 9.6)。因為該postgresql-contrib包自動預設為目前支持的 PostgreSQL 數據庫 contrib 包(如您執行 apt-cache show postgresql-contrib 時所指出的那樣),您必須為 9.3 安裝 contrib 包:

apt-get install postgresql-contrib-9.3

當我在我的 postgres 12 中遇到這個問題時,這些步驟在我的 centos 7 中對我有用,

  1. sudo yum install postgresql-contrib-12
  2. sudo su - postgres或者你的 postgres 使用者名是什麼
  3. psql進入 postgresql cli 命令行
  4. CREATE EXTENSION "uuid-ossp";

引用自:https://dba.stackexchange.com/questions/153017