Using Utilities

HeavyDB includes the utilities initdb for database initialization and generate_cert for generating certificates and private keys for an HTTPS server.


Before using HeavyDB, initialize the data directory using initdb:

initdb [-f | --skip-geo] $HEAVYAI_BASE/storage

This creates three subdirectories:

  • catalogs: Stores HeavyDB catalogs

  • data: Stores HeavyDB data

  • log: Contains all HeavyDB log files.

  • disk_cache: Stores the data cached by HEAVY COnnect

The -f flag forces initdb to overwrite existing data and catalogs in the specified directory.

By default, initdb adds a sample table of geospatial data. Use the --skip-geo flag if you prefer not to load sample geospatial data.


generate_cert [{-ca} <bool>]
              [{-duration} <duration>]
              [{-ecdsa-curve} <string>]
              [{-host} <host1,host2>]
              [{-rsa-bits} <int>]
              [{-start-date} <string>]

This command generates certificates and private keys for an HTTPS server. The options are:

  • [{-ca} <bool>]: Whether this certificate should be its own Certificate Authority. The default is false.

  • [{-duration} <duration>]: Duration that the certificate is valid for. The default is 8760h0m0s.

  • [{-ecdsa-curve} <string>]: ECDSA curve to use to generate a key. Valid values are P224, P256, P384, P521.

  • [{-host} <string>]: Comma-separated hostnames and IPs to generate a certificate for.

  • [{-rsa-bits} <int>]: Size of RSA key to generate. Ignored if –ecdsa-curve is set. The default is 2048.

  • [{-start-date} <string>]: Start date formatted as Jan 1 15:04:05 2011