1
My system version is Ubuntu 13.10 64bit.
I encountered this problem by setting up PostgreSQL in a Rails app.
First I ran rake db:migrate
and it showed an error:
-- enable_extension("hstore")
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::UndefinedFile: ERROR: could not open extension control file "/usr/share/postgresql/9.1/extension/hstore.control": No such file or directory
: CREATE EXTENSION IF NOT EXISTS "hstore"/home/user/.rvm/gems/ruby-2.1.1/gems/rack-mini-profiler-0.9.1/lib/patches/sql_patches.rb:160:in `exec'
/home/user/.rvm/gems/ruby-2.1.1/gems/rack-mini-profiler-0.9.1/lib/patches/sql_patches.rb:160:in `async_exec'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:815:in `block in exec_no_cache'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
/home/user/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.0/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:815:in `exec_no_cache'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql/database_statements.rb:137:in `exec_query'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:663:in `enable_extension'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:649:in `block in method_missing'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:621:in `block in say_with_time'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:621:in `say_with_time'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:641:in `method_missing'
/home/user/rails/bdfzer-sso/db/migrate/20140405014358_set_up_hstore.rb:3:in `change'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:595:in `exec_migration'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:579:in `block (2 levels) in migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:578:in `block in migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:in `with_connection'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:577:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:752:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:992:in `block in execute_migration_in_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:1038:in `block in ddl_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `block in transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:219:in `within_new_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/transactions.rb:208:in `transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:1038:in `ddl_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:991:in `execute_migration_in_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:953:in `block in migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:949:in `each'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:949:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:807:in `up'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:785:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/home/user/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
/home/user/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'
ActiveRecord::StatementInvalid: PG::UndefinedFile: ERROR: could not open extension control file "/usr/share/postgresql/9.1/extension/hstore.control": No such file or directory
: CREATE EXTENSION IF NOT EXISTS "hstore"
/home/user/.rvm/gems/ruby-2.1.1/gems/rack-mini-profiler-0.9.1/lib/patches/sql_patches.rb:160:in `exec'
/home/user/.rvm/gems/ruby-2.1.1/gems/rack-mini-profiler-0.9.1/lib/patches/sql_patches.rb:160:in `async_exec'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:815:in `block in exec_no_cache'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
/home/user/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.0/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:815:in `exec_no_cache'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql/database_statements.rb:137:in `exec_query'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:663:in `enable_extension'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:649:in `block in method_missing'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:621:in `block in say_with_time'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:621:in `say_with_time'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:641:in `method_missing'
/home/user/rails/bdfzer-sso/db/migrate/20140405014358_set_up_hstore.rb:3:in `change'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:595:in `exec_migration'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:579:in `block (2 levels) in migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:578:in `block in migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:in `with_connection'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:577:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:752:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:992:in `block in execute_migration_in_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:1038:in `block in ddl_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `block in transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:219:in `within_new_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/transactions.rb:208:in `transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:1038:in `ddl_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:991:in `execute_migration_in_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:953:in `block in migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:949:in `each'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:949:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:807:in `up'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:785:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/home/user/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
/home/user/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'
PG::UndefinedFile: ERROR: could not open extension control file "/usr/share/postgresql/9.1/extension/hstore.control": No such file or directory
/home/user/.rvm/gems/ruby-2.1.1/gems/rack-mini-profiler-0.9.1/lib/patches/sql_patches.rb:160:in `exec'
/home/user/.rvm/gems/ruby-2.1.1/gems/rack-mini-profiler-0.9.1/lib/patches/sql_patches.rb:160:in `async_exec'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:815:in `block in exec_no_cache'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
/home/user/.rvm/gems/ruby-2.1.1/gems/activesupport-4.1.0/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:815:in `exec_no_cache'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql/database_statements.rb:137:in `exec_query'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:663:in `enable_extension'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:649:in `block in method_missing'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:621:in `block in say_with_time'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:621:in `say_with_time'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:641:in `method_missing'
/home/user/rails/bdfzer-sso/db/migrate/20140405014358_set_up_hstore.rb:3:in `change'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:595:in `exec_migration'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:579:in `block (2 levels) in migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:578:in `block in migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:in `with_connection'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:577:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:752:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:992:in `block in execute_migration_in_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:1038:in `block in ddl_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `block in transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:219:in `within_new_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/transactions.rb:208:in `transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:1038:in `ddl_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:991:in `execute_migration_in_transaction'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:953:in `block in migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:949:in `each'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:949:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:807:in `up'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/migration.rb:785:in `migrate'
/home/user/.rvm/gems/ruby-2.1.1/gems/activerecord-4.1.0/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/home/user/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `eval'
/home/user/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
After some search, I found a post on SO indicating I can run
sudo apt-get install postgresql-contrib-9.1
But then I what I got is
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package postgresql-contrib-9.1 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
postgresql-9.1
E: Package 'postgresql-contrib-9.1' has no installation candidate
I'm guessing you shouldn't be even trying to install it, based on the error message. And even if so, chances are you actually want the latest Postgres. Also, this belongs on Super User. – Denis de Bernardy – 2014-04-21T08:07:33.663
Are you actually running PostgreSQL 9.1? – Craig Ringer – 2014-04-21T11:43:44.507
Yes. Running 9.1 – Hao – 2014-04-21T14:35:40.983
You probably need to add the appropriate repository to your
– Erwin Brandstetter – 2014-04-21T15:54:00.807sources.list
file and/or runapt-get update
. The package should be available. See: http://packages.ubuntu.com/saucy/postgresql-contrib-9.1