Skip to content

CartoDB/cartodb-postgresql

Repository files navigation

cartodb-postgresql

Build Status

PostgreSQL extension for CartoDB

See the cartodb-postgresql wiki.

Dependencies

  • PostgreSQL 11+ (with plpythonu extension). For PostgreSQL 12+ plpython3u is required instead. Older versions might still work but they aren't actively tested or supported.
  • PostGIS extension
  • Python with Redis module

Install

make all install

Test installation

make installcheck

NOTE: you need to run the installcheck as a superuser, use PGUSER env variable if needed, like: PGUSER=postgres make installcheck

NOTE: the tests need to run against a clean postgres instance, if you have some roles already created test will likely fail due publicuser not being dropped.

Enable database

In a database that needs to be turned into a "cartodb" user database, run:

CREATE EXTENSION cartodb CASCADE;

Update cartodb extension

Updating the version of cartodb extension installed in a database is done using ALTER EXTENSION.

ALTER EXTENSION cartodb UPDATE TO '0.1.1';

The target version needs to be installed on the system first (see Install section).

If the "TO 'x.y.z'" part is omitted, the extension will be updated to the latest installed version, which you can find with the following command:

grep default_version `pg_config --sharedir`/extension/cartodb.control

Updates are performed by PostgreSQL by loading one or more migration scripts as needed to go from the installed version S to the target version T. All migration scripts are in the "extension" directory of PostgreSQL:

ls `pg_config --sharedir`/extension/cartodb*

During development the cartodb extension version doesn't change with every commit, so testing latest change requires special steps documented in the CONTRIBUTING document, under "Testing changes live".

Limitations

  • The main schema of an organization user must have one only owner (the user).