You must have a properly configured Postgres installation for this to work. If you have a fresh install of Postgres
on Ubuntu then you may want to configure the
postgres user password to complete the postgres setup
Please refer to the PostgreSQL documentation on how to install and configure it.
If you have existing Postgres authentication:
or specify connection details manually:
createdb -h <hostname> -U <username> datacube
You can also delete the database by running
dropdb datacube. This step is not reversible.
Create Configuration File#
Datacube looks for a configuration file in ~/.datacube.conf or in the location specified by the
DATACUBE_CONFIG_PATH environment variable. The file has this format:
[datacube] # One config file may contain multiple named sections providing multiple configuration environments. # The section named "datacube" (or "default") is used if no environment is specified. # index_driver is optional and defaults to "default" (the default Postgres index driver) index_driver: default # The remaining configuration entries are for the default Postgres index driver and # may not apply to other index drivers. db_database: datacube # A blank host will use a local socket. Specify a hostname (such as localhost) to use TCP. db_hostname: # Port is optional. The default port is 5432. # db_port: # Credentials are optional: you might have other Postgres authentication configured. # The default username otherwise is the current user id. # db_username: # db_password: [test] # A "test" environment that accesses a separate test database. index_driver: default db_database: datacube_test [null] # A "null" environment for working with no index. index_driver: null [local_memory] # A local non-persistent in-memory index. # Compatible with the default index driver, but resides purely in memory with no persistent database. # Note that each new invocation will receive a new, empty index. index_driver: memory
Uncomment and fill in lines as required.
Alternately, you can configure the ODC connection to Postgres using environment variables:
DB_HOSTNAME DB_USERNAME DB_PASSWORD DB_DATABASE
The desired environment can be specified:
in code, with the
envargument to the
-Eoption to the command line ui;
Initialise the Database Schema#
datacube system init tool can create and populate the Data Cube database schema
datacube -v system init