[Users] New engine install on remote DB fails "uuid-ossp extension is not loaded"
Ian Levesque
ian at crystal.harvard.edu
Tue Aug 14 14:20:21 EDT 2012
On Aug 14, 2012, at 12:58 PM, Yair Zaslavsky wrote:
> On 08/14/2012 07:12 PM, Ian Levesque wrote:
>> Hello,
>>
>> I'm trying to install oVirt 3.1, using an external postgres db running on RHEL6 (postgresql-server-8.4.12-1.el6_2.x86_64). I'm getting the following error during engine-setup:
>>
>> Error: uuid-ossp extension is not loaded into the DB.
>> Verify with the DB admin that uuid-ossp extension is loaded into newly created databases and rerun the setup.
>>
>> The database log indicates:
>>
>> ERROR: function uuid_generate_v1() does not exist at character 8
>> HINT: No function matches the given name and argument types. You might need to add explicit type casts.
>> STATEMENT: SELECT uuid_generate_v1();
>>
>> I did some searching, and it appeared that I might need to add some postgres-contrib functions:
>>
>> psql -U postgres -d engine -f /usr/share/pgsql/contrib/uuid-ossp.sql
>>
>> Unfortunately, it appears that the install script wants to create a temporary database and expects these functions to exist on its newly-created temp DB, not an already-existing database.
>
> Indeed this step is required for postgresql 8.4.x (you have to install this script).
> I did not encounter an issue with this script.
> I ran
>
> psql -U postgres -d engine -f /usr/share/pgsql/contrib/uuid-ossp.sql
>
> And the script execution went smoothly (this scripts runs instructions of create or replace function so it is re-entrant).
> Can you please elaborate more on the error you're getting?
Here's what the install log tells me:
2012-08-14 11:56:12::INFO::engine_validators::425::root:: Successfully created temp database on server cmcd-web.
2012-08-14 11:56:12::INFO::engine_validators::443::root:: Checking that uuid extension is loaded by default on the remote server
2012-08-14 11:56:12::DEBUG::common_utils::350::root:: running sql query 'SELECT uuid_generate_v1();' on db server: 'cmcd-web'.
2012-08-14 11:56:12::DEBUG::common_utils::286::root:: cmd = /usr/bin/psql -h cmcd-web -p 5432 -U ovirt -d ovirt_engine_test -c "SELECT uuid_generate_v1();"
2012-08-14 11:56:12::DEBUG::common_utils::291::root:: output =
2012-08-14 11:56:12::DEBUG::common_utils::292::root:: stderr = ERROR: function uuid_generate_v1() does not exist
So, the installer is trying to create a database "ovirt_engine_test" and succeeding. But until you run `psql -U postgres -d <database_name> -f /usr/share/pgsql/contrib/uuid-ossp.sql`, the function uuid_generate_v1() won't be available. Therefore, the temporary database the installer is using to determine compatibility fails.
Ian
More information about the Users
mailing list