Go to file
Rafa de la Torre 5ea1b7d4d7 Fix creation of type _cdb_has_usable_geom_record
Fix the ERROR:  type "_cdb_has_usable_geom_record" already exists by
checking for existence before. Duly noted for upgrades.
2015-09-21 14:16:32 +02:00
doc Splling fix 2015-07-01 07:03:13 -07:00
expected Add a couple of NOTICE's to expectations #141 2015-09-15 18:49:59 +02:00
scripts-available Fix creation of type _cdb_has_usable_geom_record 2015-09-21 14:16:32 +02:00
scripts-enabled Fix symlink for CDB_Stats.sql 2015-09-04 00:00:30 +02:00
sql Fix deletion of cartodb_postgresql_unpriv_user 2015-08-14 09:48:34 +00:00
test Add test courtesy of Paul #154 2015-09-16 12:17:35 +02:00
util Do not force re-cartodbfication on CREATE FROM unpackaged 2014-06-11 10:24:53 +02:00
.gitignore Ignore idea ide based settings 2014-08-11 15:41:33 +02:00
.travis.yml Merge branch 'master' into CDB-3497 2014-07-29 14:16:52 +02:00
cartodb_version.sql.in Refuse to create new extension if legacy code is present on database 2014-05-14 12:39:53 +02:00
cartodb.control.in List plpythonu requirement first, so get pg_catalog scanned before public 2014-06-11 16:27:11 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2015-08-18 15:08:35 +02:00
LICENSE Update LICENSE, set copyright ownership to Vizzuality 2014-05-06 07:33:01 +02:00
Makefile Update NEWS.md and version to 0.10.1 2015-09-16 12:40:14 +02:00
NEWS.md Update NEWS.md and version to 0.10.1 2015-09-16 12:40:14 +02:00
README.md added requirements for test 2015-08-10 11:01:28 +02:00

cartodb-postgresql

[Build Status] (http://travis-ci.org/CartoDB/cartodb-postgresql)

PostgreSQL extension for CartoDB

See https://github.com/CartoDB/cartodb/wiki/CartoDB-PostgreSQL-extension

Dependencies

Install

make all install

Test installation

make installcheck

NOTE: if test_ddl_triggers fails it's likely due to an incomplete installation of schema_triggers: you need to add schema_triggers.so to the shared_preload_libraries setting in postgresql.conf !

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 postgis;
CREATE EXTENSION schema_triggers;
CREATE EXTENSION cartodb;

Migrate existing cartodb database

When upgrading an existing cartodb user database, the cartodb extension can be migrated from the "unpackaged" version. The procedure will copy the data from public.CDB_TableMetada to cartodb.CDB_TableMetadata, re-cartodbfy all tables using old functions in triggers and drop the cartodb functions from the 'public' schema. All new cartodb objects will be in the "cartodb" schema.

CREATE EXTENSION postgis FROM unpackaged;
CREATE EXTENSION schema_triggers;
CREATE EXTENSION cartodb FROM unpackaged;

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".