2013-10-22 22:15:48 +08:00
cartodb-postgresql
==================
2017-06-02 21:30:19 +08:00
[![Build Status ](http://api.travis-ci.org/CartoDB/cartodb-postgresql.svg?branch=master )](http://travis-ci.org/CartoDB/cartodb-postgresql)
2014-05-08 23:24:17 +08:00
2013-10-22 22:15:48 +08:00
PostgreSQL extension for CartoDB
2013-10-22 22:13:17 +08:00
2015-12-09 02:08:17 +08:00
See [the cartodb-postgresql wiki ](https://github.com/CartoDB/cartodb-postgresql/wiki ).
2013-10-22 23:11:02 +08:00
2014-05-06 16:36:07 +08:00
Dependencies
2013-10-22 22:13:17 +08:00
------------
2020-11-16 22:23:28 +08:00
* 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.
2019-05-23 14:03:37 +08:00
* [PostGIS extension ](http://postgis.net )
2019-05-23 14:12:57 +08:00
* Python with [Redis module ](https://pypi.org/project/redis/ )
2014-05-06 17:11:49 +08:00
Install
-------
2014-08-22 01:05:15 +08:00
```sh
make all install
```
2014-05-06 17:11:49 +08:00
Test installation
-----------------
2014-08-22 01:05:15 +08:00
```sh
make installcheck
```
2014-05-06 17:11:49 +08:00
2014-06-18 17:52:01 +08:00
NOTE: you need to run the installcheck as a superuser, use PGUSER
env variable if needed, like: PGUSER=postgres make installcheck
2020-11-16 22:23:28 +08:00
2015-08-10 17:01:28 +08:00
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.
2014-06-18 17:52:01 +08:00
2014-05-08 00:12:43 +08:00
Enable database
---------------
2014-05-06 17:11:49 +08:00
2014-05-08 00:12:43 +08:00
In a database that needs to be turned into a "cartodb" user database, run:
2014-05-06 17:11:49 +08:00
```sql
2020-11-16 22:23:28 +08:00
CREATE EXTENSION cartodb CASCADE;
2014-05-06 17:11:49 +08:00
```
2014-06-04 16:13:35 +08:00
Update cartodb extension
------------------------
Updating the version of cartodb extension installed in a database
is done using ALTER EXTENSION.
```sql
ALTER EXTENSION cartodb UPDATE TO '0.1.1';
```
2014-06-04 16:16:42 +08:00
The target version needs to be installed on the system first
(see Install section).
2014-06-04 16:13:35 +08:00
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:
```sh
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:
```sh
ls `pg_config --sharedir` /extension/cartodb*
```
During development the cartodb extension version doesn't change with
2014-06-17 16:43:49 +08:00
every commit, so testing latest change requires special steps documented
in the CONTRIBUTING document, under "Testing changes live".
2015-08-10 19:40:59 +08:00
Limitations
-----------
- The main schema of an organization user must have one only owner (the user).