How do I import modules or install extensions in Postgres?
I'm trying to import several modules that come bundled with postgres, and all the commands to do so (such as contrib.import etc开发者_开发技巧) do not work or cannot be found.
To install PostgreSQL contrib
modules on Ubuntu or Kubuntu (or similar Linux distributions):
- Install the contrib package:
sudo apt-get install postgresql-contrib
- Change to the database owner account (e.g.,
postgres
). CREATE EXTENSION "uuid-ossp";
If you are trying to install non-"trusted" modules, you need to be a superuser to install them. Otherwise, you only need to have CREATE privilege on the database you are trying to use the module on.
For versions before 9.1, do step #1 above, and then:
Restart the database:
sudo /etc/init.d/postgresql-8.4 restart
Change to the database owner account (e.g.,
postgres
).Change to the contrib modules' directory:
/usr/share/postgresql/8.4/contrib/
Use
ls
to see a list of the following modules:adminpack autoinc btree_gin btree_gist chkpass citext cube dblink dict_int dict_xsyn earthdistance fuzzystrmatch hstore insert_username int_aggregate isn lo ltree moddatetime pageinspect pg_buffercache pgcrypto pg_freespacemap pgrowlocks pg_stat_statements pgstattuple pg_trgm pgxml refint seg sslinfo tablefunc test_parser timetravel tsearch2 uuid-ossp
Load the SQL files using:
psql -U user_name -d database_name -f module_name.sql
For example, if your administrative user was named postgres
and your database was named storage
and the module you wanted was cube
, you would type:
psql -U postgres -d storage -f cube.sql
- login as postgres user
- use create extension to load it
I have a database named 'book' for example,
psql -U postgres book create extension cube
Repeat for each extension required, then \q to logouy
精彩评论