Fork me on GitHub

PostgreSQL Usage Notes

DB Type acronym for configurations: POSTGRESQL

Packages and Package Bodies

Obevo supports defining packages and package bodies within a single file and allowing the files to be edited in place. For more information, see DB Project Structure and the section “Objects with BODY components”.

PostgreSQL Directories

Obevo supports the EXTENSION object type as part of the environment setup step.

This will create the extension object if it doesn’t already exist. If it already exists, it will leave it alone and not modify it.

Note - this only creates the extension via SQL by simply executing the SQL referenced in the doc; no other backend setup is done as part of this.

To leverage this feature:

1) Define it in your system-config.xml file with the extensions element:

<dbSystemConfig type="POSTGRESQL">
    <schemas>
        <schema name="SCHEMA1" />
    </schemas>

    <!-- You can define it for all environments by specifying this outside of the dbEnvironment element ... -->
    <extensions>
        <extension name="uuid-ossp" />
        <extension name="some-other-ext" />
    </extensions>

    <environments>
        <dbEnvironment name="test" ...>
            <!-- ... or define it for a single environment (overriding the common definition) within the dbEnvironment element -->
            ...
            <extensions>
                <extension name="yet-another-ext" />
                <extension name="uuid-ossp" />
            </extensions>
            ...
        </dbEnvironment>
    </environments>
</dbSystemConfig>

2) Force the environment setup, via two options:

  1. Use the -forceEnvSetup parameter at the command line.
  2. Specify the property forceEnvSetup=“true” in your dbEnvironment to have this be a default setting, and then execute a deploy.