From 5f43db2e363881f59c680588e43eb3517f8ffde4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Garc=C3=ADa=20Aubert?= Date: Fri, 22 Feb 2019 08:31:22 +0100 Subject: [PATCH] Remove POSTGIS_VERSION env variable and run test using mvt renderer always --- test/acceptance/aggregation.js | 17 +- test/acceptance/buffer-size-format.js | 6 +- test/acceptance/date-wrapping.spec.js | 3 +- test/acceptance/layergroup-metadata.js | 4 +- test/acceptance/mvt-regressions.js | 17 +- test/acceptance/mvt.js | 482 +++++++++--------- test/acceptance/rate-limit.test.js | 6 +- .../stats/mapnik_stats_layergroup.js | 17 +- test/acceptance/tilejson.js | 5 +- .../acceptance/user-database-timeout-limit.js | 5 +- test/acceptance/vector-layergroup.js | 17 +- test/support/prepare_db.sh | 14 - 12 files changed, 283 insertions(+), 310 deletions(-) diff --git a/test/acceptance/aggregation.js b/test/acceptance/aggregation.js index d9924eee..bd03aa41 100644 --- a/test/acceptance/aggregation.js +++ b/test/acceptance/aggregation.js @@ -6,17 +6,16 @@ const assert = require('../support/assert'); const TestClient = require('../support/test-client'); const serverOptions = require('../../lib/cartodb/server_options'); -const suites = [{ - desc: 'mvt (mapnik)', - usePostGIS: false -}]; - -if (process.env.POSTGIS_VERSION >= '20400') { - suites.push({ +const suites = [ + { + desc: 'mvt (mapnik)', + usePostGIS: false + }, + { desc: 'mvt (postgis)', usePostGIS: true - }); -} + } +]; // Generate points with values and times. // The point location is spanned over a given length, by default it is 0 so diff --git a/test/acceptance/buffer-size-format.js b/test/acceptance/buffer-size-format.js index c8d36740..e3daf626 100644 --- a/test/acceptance/buffer-size-format.js +++ b/test/acceptance/buffer-size-format.js @@ -171,8 +171,7 @@ describe('buffer size per format', function () { }); }); - const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip; - describe_pg('using postgis mvt renderer', function() { + describe('using postgis mvt renderer', function() { before(function () { serverOptions.renderer.mvt.usePostGIS = true; }); @@ -505,8 +504,7 @@ describe('buffer size per format for named maps w/o placeholders', function () { }); }); - const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip; - describe_pg('using postgis mvt renderer', function() { + describe('using postgis mvt renderer', function() { before(function () { serverOptions.renderer.mvt.usePostGIS = true; }); diff --git a/test/acceptance/date-wrapping.spec.js b/test/acceptance/date-wrapping.spec.js index 4247ff5e..f26caf1e 100644 --- a/test/acceptance/date-wrapping.spec.js +++ b/test/acceptance/date-wrapping.spec.js @@ -7,8 +7,7 @@ const mapConfigFactory = require('../fixtures/test_mapconfigFactory'); const serverOptions = require('../../lib/cartodb/server_options'); const usePgMvtRenderer = serverOptions.renderer.mvt.usePostGIS; -const postgisVersion = process.env.POSTGIS_VERSION; -const describe_mvt = postgisVersion >= '20400' || !usePgMvtRenderer ? describe : describe.skip; +const describe_mvt = !usePgMvtRenderer ? describe : describe.skip; describe_mvt('date-wrapping', () => { let testClient; diff --git a/test/acceptance/layergroup-metadata.js b/test/acceptance/layergroup-metadata.js index 235a30ed..50e30895 100644 --- a/test/acceptance/layergroup-metadata.js +++ b/test/acceptance/layergroup-metadata.js @@ -7,12 +7,10 @@ const TestClient = require('../support/test-client'); const serverOptions = require('../../lib/cartodb/server_options'); describe('layergroup metadata', function () { - - const usePgMvtRenderer = process.env.POSTGIS_VERSION >= '20400'; const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS; before(function () { - serverOptions.renderer.mvt.usePostGIS = usePgMvtRenderer; + serverOptions.renderer.mvt.usePostGIS = true; }); after(function () { diff --git a/test/acceptance/mvt-regressions.js b/test/acceptance/mvt-regressions.js index 0d1c5023..c660e23d 100644 --- a/test/acceptance/mvt-regressions.js +++ b/test/acceptance/mvt-regressions.js @@ -6,17 +6,16 @@ const assert = require('../support/assert'); const TestClient = require('../support/test-client'); const serverOptions = require('../../lib/cartodb/server_options'); -const suites = [{ - desc: 'mapnik', - usePostGIS: false -}]; - -if (process.env.POSTGIS_VERSION >= '20400') { - suites.push({ +const suites = [ + { + desc: 'mapnik', + usePostGIS: false + }, + { desc: 'postgis', usePostGIS: true - }); -} + } +]; describe('mvt regressions', function () { diff --git a/test/acceptance/mvt.js b/test/acceptance/mvt.js index 004a699b..bb446680 100644 --- a/test/acceptance/mvt.js +++ b/test/acceptance/mvt.js @@ -22,273 +22,271 @@ function createMapConfig(sql = TestClient.SQL.ONE_POINT) { } describe('mvt (mapnik)', mvt(false)); -if (process.env.POSTGIS_VERSION >= '20400') { - describe('mvt (postgis)', mvt(true)); -} +describe('mvt (postgis)', mvt(true)); function mvt(usePostGIS) { -return function () { - const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS; - before(function () { - serverOptions.renderer.mvt.usePostGIS = usePostGIS; - }); - after(function (){ - serverOptions.renderer.mvt.usePostGIS = originalUsePostGIS; - }); + return function () { + const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS; + before(function () { + serverOptions.renderer.mvt.usePostGIS = usePostGIS; + }); + after(function (){ + serverOptions.renderer.mvt.usePostGIS = originalUsePostGIS; + }); - describe('named map tile', function () { - it('should get default named vector tile', function (done) { - const apikeyToken = 1234; - const templateName = `mvt-template-${usePostGIS ? 'postgis' : 'mapnik'}`; - const template = { - version: '0.0.1', - name: templateName, - placeholders: { - buffersize: { - type: 'number', - default: 0 + describe('named map tile', function () { + it('should get default named vector tile', function (done) { + const apikeyToken = 1234; + const templateName = `mvt-template-${usePostGIS ? 'postgis' : 'mapnik'}`; + const template = { + version: '0.0.1', + name: templateName, + placeholders: { + buffersize: { + type: 'number', + default: 0 + } + }, + layergroup: { + version: '1.7.0', + layers: [{ + type: 'cartodb', + options: { + sql: 'select * from populated_places_simple_reduced limit 10', + cartocss: TestClient.CARTOCSS.POINTS, + cartocss_version: '2.3.0', + } + }] + } + }; + + const testClient = new TestClient(template, apikeyToken); + testClient.keysToDelete['map_tpl|localhost'] = 0; + + testClient.getNamedTile(templateName, 0, 0, 0, 'mvt', {}, (err, res, tile) => { + if (err) { + return done(err); + } + + const tileJSON = tile.toJSON(); + + assert.equal(tileJSON[0].features.length, 10); + + testClient.drain(done); + }); + }); + }); + + describe('analysis-layers-dataviews-mvt', function () { + + function createMapConfig(layers, dataviews, analysis) { + return { + version: '1.5.0', + layers: layers, + dataviews: dataviews || {}, + analyses: analysis || [] + }; + } + + var CARTOCSS = [ + "#points {", + " marker-fill-opacity: 1.0;", + " marker-line-color: #FFF;", + " marker-line-width: 0.5;", + " marker-line-opacity: 1.0;", + " marker-placement: point;", + " marker-type: ellipse;", + " marker-width: 8;", + " marker-fill: red;", + " marker-allow-overlap: true;", + "}" + ].join('\n'); + + var mapConfig = createMapConfig( + [ + { + "type": "cartodb", + "options": { + "source": { + "id": "2570e105-7b37-40d2-bdf4-1af889598745" + }, + "cartocss": CARTOCSS, + "cartocss_version": "2.3.0" + } + } + ], + { + pop_max_histogram: { + source: { + id: '2570e105-7b37-40d2-bdf4-1af889598745' + }, + type: 'histogram', + options: { + column: 'pop_max' + } } }, - layergroup: { - version: '1.7.0', - layers: [{ - type: 'cartodb', - options: { - sql: 'select * from populated_places_simple_reduced limit 10', - cartocss: TestClient.CARTOCSS.POINTS, - cartocss_version: '2.3.0', + [ + { + "id": "2570e105-7b37-40d2-bdf4-1af889598745", + "type": "source", + "params": { + "query": "select * from populated_places_simple_reduced" } - }] - } - }; - - const testClient = new TestClient(template, apikeyToken); - testClient.keysToDelete['map_tpl|localhost'] = 0; - - testClient.getNamedTile(templateName, 0, 0, 0, 'mvt', {}, (err, res, tile) => { - if (err) { - return done(err); - } - - const tileJSON = tile.toJSON(); - - assert.equal(tileJSON[0].features.length, 10); - - testClient.drain(done); - }); - }); - }); - - describe('analysis-layers-dataviews-mvt', function () { - - function createMapConfig(layers, dataviews, analysis) { - return { - version: '1.5.0', - layers: layers, - dataviews: dataviews || {}, - analyses: analysis || [] - }; - } - - var CARTOCSS = [ - "#points {", - " marker-fill-opacity: 1.0;", - " marker-line-color: #FFF;", - " marker-line-width: 0.5;", - " marker-line-opacity: 1.0;", - " marker-placement: point;", - " marker-type: ellipse;", - " marker-width: 8;", - " marker-fill: red;", - " marker-allow-overlap: true;", - "}" - ].join('\n'); - - var mapConfig = createMapConfig( - [ - { - "type": "cartodb", - "options": { - "source": { - "id": "2570e105-7b37-40d2-bdf4-1af889598745" - }, - "cartocss": CARTOCSS, - "cartocss_version": "2.3.0" } - } - ], + ] + ); + + it('should get pop_max column from dataview', function (done) { + var testClient = new TestClient(mapConfig); + + testClient.getTile(0, 0, 0, { format: 'mvt', layers: 0 }, function (err, res, MVT) { + var geojsonTile = JSON.parse(MVT.toGeoJSONSync(0)); + assert.ok(!err, err); + + assert.ok(Array.isArray(geojsonTile.features)); + assert.ok(geojsonTile.features.length > 0); + var feature = geojsonTile.features[0]; + assert.ok(feature.properties.hasOwnProperty('pop_max'), 'Missing pop_max property'); + + testClient.drain(done); + }); + }); + + }); + + + const testCases = [ { - pop_max_histogram: { - source: { - id: '2570e105-7b37-40d2-bdf4-1af889598745' - }, - type: 'histogram', - options: { - column: 'pop_max' + desc: 'should get empty mvt with code 204 (no content)', + coords: { z: 0, x: 0, y: 0 }, + format: 'mvt', + response: { + status: 204, + headers: { + 'Content-Type': undefined } - } + }, + mapConfig: createMapConfig(TestClient.SQL.EMPTY) }, - [ - { - "id": "2570e105-7b37-40d2-bdf4-1af889598745", - "type": "source", - "params": { - "query": "select * from populated_places_simple_reduced" + { + desc: 'should get mvt tile with code 200 (ok)', + coords: { z: 0, x: 0, y: 0 }, + format: 'mvt', + response: { + status: 200, + headers: { + 'Content-Type': 'application/x-protobuf' } - } - ] - ); + }, + mapConfig: createMapConfig() + } + ]; - it('should get pop_max column from dataview', function (done) { - var testClient = new TestClient(mapConfig); + testCases.forEach(function (test) { + it(test.desc, done => { + var testClient = new TestClient(test.mapConfig); + const { z, x, y } = test.coords; + const { format, response } = test; - testClient.getTile(0, 0, 0, { format: 'mvt', layers: 0 }, function (err, res, MVT) { - var geojsonTile = JSON.parse(MVT.toGeoJSONSync(0)); - assert.ok(!err, err); - - assert.ok(Array.isArray(geojsonTile.features)); - assert.ok(geojsonTile.features.length > 0); - var feature = geojsonTile.features[0]; - assert.ok(feature.properties.hasOwnProperty('pop_max'), 'Missing pop_max property'); - - testClient.drain(done); + testClient.getTile(z, x, y, { format, response }, err => { + assert.ifError(err); + testClient.drain(done); + }); }); }); - }); + describe('overviews', function () { + function createMapConfig(layers, dataviews, analysis) { + return { + version: '1.8.0', + layers: layers, + dataviews: dataviews || {}, + analyses: analysis || [] + }; + } - - const testCases = [ - { - desc: 'should get empty mvt with code 204 (no content)', - coords: { z: 0, x: 0, y: 0 }, - format: 'mvt', - response: { - status: 204, - headers: { - 'Content-Type': undefined - } - }, - mapConfig: createMapConfig(TestClient.SQL.EMPTY) - }, - { - desc: 'should get mvt tile with code 200 (ok)', - coords: { z: 0, x: 0, y: 0 }, - format: 'mvt', - response: { - status: 200, - headers: { - 'Content-Type': 'application/x-protobuf' - } - }, - mapConfig: createMapConfig() - } - ]; - - testCases.forEach(function (test) { - it(test.desc, done => { - var testClient = new TestClient(test.mapConfig); - const { z, x, y } = test.coords; - const { format, response } = test; - - testClient.getTile(z, x, y, { format, response }, err => { - assert.ifError(err); - testClient.drain(done); - }); - }); - }); - - describe('overviews', function () { - function createMapConfig(layers, dataviews, analysis) { - return { - version: '1.8.0', - layers: layers, - dataviews: dataviews || {}, - analyses: analysis || [] - }; - } - - it('should use overviews to fetch mvt data', function (done) { - const mapConfig = createMapConfig( - [ - { - "type": "cartodb", - "options": { - "sql": 'SELECT * FROM test_table_overviews', - "cartocss": TestClient.CARTOCSS.POINTS, - "cartocss_version": "2.3.0" + it('should use overviews to fetch mvt data', function (done) { + const mapConfig = createMapConfig( + [ + { + "type": "cartodb", + "options": { + "sql": 'SELECT * FROM test_table_overviews', + "cartocss": TestClient.CARTOCSS.POINTS, + "cartocss_version": "2.3.0" + } } - } - ] - ); + ] + ); - const testClient = new TestClient(mapConfig); - const [ z, x, y ] = [ 0, 0, 0 ]; - const options = { format: 'mvt' }; + const testClient = new TestClient(mapConfig); + const [ z, x, y ] = [ 0, 0, 0 ]; + const options = { format: 'mvt' }; - testClient.getTile(z, x, y, options, function (err, res, mvt) { - assert.ifError(err); + testClient.getTile(z, x, y, options, function (err, res, mvt) { + assert.ifError(err); - const geojsonTile = JSON.parse(mvt.toGeoJSONSync(0)); + const geojsonTile = JSON.parse(mvt.toGeoJSONSync(0)); - assert.ok(Array.isArray(geojsonTile.features)); - assert.ok(geojsonTile.features.length > 0); + assert.ok(Array.isArray(geojsonTile.features)); + assert.ok(geojsonTile.features.length > 0); - const feature = geojsonTile.features[0]; + const feature = geojsonTile.features[0]; - assert.ok(feature.properties.hasOwnProperty('_feature_count'), 'Missing _feature_count property'); - assert.equal(feature.properties.cartodb_id, 1); - assert.equal(feature.properties.name, 'Hawai'); - assert.equal(feature.properties._feature_count, 5); // original table has _feature_count = 1 - assert.equal(feature.properties.value, 3); // original table has value = 1.0 + assert.ok(feature.properties.hasOwnProperty('_feature_count'), 'Missing _feature_count property'); + assert.equal(feature.properties.cartodb_id, 1); + assert.equal(feature.properties.name, 'Hawai'); + assert.equal(feature.properties._feature_count, 5); // original table has _feature_count = 1 + assert.equal(feature.properties.value, 3); // original table has value = 1.0 - testClient.drain(done); + testClient.drain(done); + }); + }); + + it('first layer should use overviews, second layer shouldn\'t', function (done) { + const mapConfig = createMapConfig( + [ + { + "type": "cartodb", + "options": { + "sql": 'SELECT * FROM test_table_overviews', + "cartocss": TestClient.CARTOCSS.POINTS, + "cartocss_version": "2.3.0" + } + }, + { + "type": "cartodb", + "options": { + "sql": 'SELECT * FROM test_table', + "cartocss": TestClient.CARTOCSS.POINTS, + "cartocss_version": "2.3.0" + } + } + ] + ); + + const testClient = new TestClient(mapConfig); + const [ z, x, y ] = [ 0, 0, 0 ]; + const options = { format: 'mvt' }; + + testClient.getTile(z, x, y, options, function (err, res, mvt) { + assert.ifError(err); + + const tileWithOverviews = JSON.parse(mvt.toGeoJSONSync(0)); + const tileWithoutOverviews = JSON.parse(mvt.toGeoJSONSync(1)); + + assert.ok(Array.isArray(tileWithOverviews.features)); + assert.equal(tileWithOverviews.features.length, 1); + assert.equal(tileWithOverviews.features[0].properties._feature_count, 5); + + assert.ok(Array.isArray(tileWithoutOverviews.features)); + assert.equal(tileWithoutOverviews.features.length, 5); + assert.equal(tileWithoutOverviews.features[0].properties._feature_count, undefined); + + testClient.drain(done); + }); }); }); - - it('first layer should use overviews, second layer shouldn\'t', function (done) { - const mapConfig = createMapConfig( - [ - { - "type": "cartodb", - "options": { - "sql": 'SELECT * FROM test_table_overviews', - "cartocss": TestClient.CARTOCSS.POINTS, - "cartocss_version": "2.3.0" - } - }, - { - "type": "cartodb", - "options": { - "sql": 'SELECT * FROM test_table', - "cartocss": TestClient.CARTOCSS.POINTS, - "cartocss_version": "2.3.0" - } - } - ] - ); - - const testClient = new TestClient(mapConfig); - const [ z, x, y ] = [ 0, 0, 0 ]; - const options = { format: 'mvt' }; - - testClient.getTile(z, x, y, options, function (err, res, mvt) { - assert.ifError(err); - - const tileWithOverviews = JSON.parse(mvt.toGeoJSONSync(0)); - const tileWithoutOverviews = JSON.parse(mvt.toGeoJSONSync(1)); - - assert.ok(Array.isArray(tileWithOverviews.features)); - assert.equal(tileWithOverviews.features.length, 1); - assert.equal(tileWithOverviews.features[0].properties._feature_count, 5); - - assert.ok(Array.isArray(tileWithoutOverviews.features)); - assert.equal(tileWithoutOverviews.features.length, 5); - assert.equal(tileWithoutOverviews.features[0].properties._feature_count, undefined); - - testClient.drain(done); - }); - }); - }); -}; + }; } diff --git a/test/acceptance/rate-limit.test.js b/test/acceptance/rate-limit.test.js index 9fc6b641..f5b6f456 100644 --- a/test/acceptance/rate-limit.test.js +++ b/test/acceptance/rate-limit.test.js @@ -276,11 +276,11 @@ describe('rate limit middleware', function () { }); }); -const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip; + const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS; -describe('rate limit and vector tiles (mapnik)', () => { rateLimitAndVectorTilesTest(false); }); -describe_pg('rate limit and vector tiles (postgis)', () => { rateLimitAndVectorTilesTest(true); }); +describe('rate limit and vector tiles (mapnik)', () => rateLimitAndVectorTilesTest(false)); +describe('rate limit and vector tiles (postgis)', () => rateLimitAndVectorTilesTest(true)); function rateLimitAndVectorTilesTest(usePostGIS) { diff --git a/test/acceptance/stats/mapnik_stats_layergroup.js b/test/acceptance/stats/mapnik_stats_layergroup.js index 8f73e5a2..dde4f059 100644 --- a/test/acceptance/stats/mapnik_stats_layergroup.js +++ b/test/acceptance/stats/mapnik_stats_layergroup.js @@ -6,17 +6,16 @@ var assert = require('../../support/assert'); var TestClient = require('../../support/test-client'); const serverOptions = require('../../../lib/cartodb/server_options'); -const suites = [{ - desc: 'mvt (mapnik)', - usePostGIS: false -}]; - -if (process.env.POSTGIS_VERSION >= '20400') { - suites.push({ +const suites = [ + { + desc: 'mvt (mapnik)', + usePostGIS: false + }, + { desc: 'mvt (postgis)', usePostGIS: true - }); -} + } +]; suites.forEach(({desc, usePostGIS}) => { describe(`[${desc}] Create mapnik layergroup`, function() { diff --git a/test/acceptance/tilejson.js b/test/acceptance/tilejson.js index d71865e9..19ef158f 100644 --- a/test/acceptance/tilejson.js +++ b/test/acceptance/tilejson.js @@ -6,11 +6,10 @@ const assert = require('../support/assert'); const TestClient = require('../support/test-client'); const serverOptions = require('../../lib/cartodb/server_options'); -const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip; const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS; -describe('tilejson via mapnik renderer', () => { tileJsonSuite(false); }); -describe_pg('tilejson via postgis renderer', () => { tileJsonSuite(true); }); +describe('tilejson via mapnik renderer', () => tileJsonSuite(false)); +describe('tilejson via postgis renderer', () => tileJsonSuite(true)); function tileJsonSuite(usePostGIS) { diff --git a/test/acceptance/user-database-timeout-limit.js b/test/acceptance/user-database-timeout-limit.js index 3448ebfc..629d3778 100644 --- a/test/acceptance/user-database-timeout-limit.js +++ b/test/acceptance/user-database-timeout-limit.js @@ -394,9 +394,8 @@ describe('user database timeout limit', function () { }); }); - const describe_pg = process.env.POSTGIS_VERSION >= '20400' ? describe : describe.skip; - describe('fetching vector tiles via mapnik renderer', () => { testFetchingVectorTiles(false); }); - describe_pg('fetching vector tiles via postgis renderer', () => { testFetchingVectorTiles(true); }); + describe('fetching vector tiles via mapnik renderer', () => testFetchingVectorTiles(false)); + describe('fetching vector tiles via postgis renderer', () => testFetchingVectorTiles(true)); function testFetchingVectorTiles(usePostGIS) { const originalUsePostGIS = serverOptions.renderer.mvt.usePostGIS; diff --git a/test/acceptance/vector-layergroup.js b/test/acceptance/vector-layergroup.js index d12e8e07..d23403db 100644 --- a/test/acceptance/vector-layergroup.js +++ b/test/acceptance/vector-layergroup.js @@ -69,17 +69,16 @@ const INVALID_FORMAT_ERROR = { ] }; -const suites = [{ - desc: 'mvt (mapnik)', - usePostGIS: false -}]; - -if (process.env.POSTGIS_VERSION >= '20400') { - suites.push({ +const suites = [ + { + desc: 'mvt (mapnik)', + usePostGIS: false + }, + { desc: 'mvt (postgis)', usePostGIS: true - }); -} + } +]; suites.forEach((suite) => { const { desc, usePostGIS } = suite; diff --git a/test/support/prepare_db.sh b/test/support/prepare_db.sh index 5834a8ad..5989b498 100755 --- a/test/support/prepare_db.sh +++ b/test/support/prepare_db.sh @@ -73,20 +73,6 @@ echo "PUBLICPASS: ${PUBLICPASS}" echo "TESTUSER: ${TESTUSER}" echo "TESTPASS: ${TESTPASS}" -# Sets the env variable POSTGIS_VERSION as Major * 10000 + Minor * 100 + Patch -# For example, for 2.4.5 ~> 20405 -auto_postgis_version() { - local POSTGIS_STR=$(psql -c "Select default_version from pg_available_extensions WHERE name = 'postgis';" -t); - local pg_version=$(echo $POSTGIS_STR | awk -F '.' '{print $1 * 10000 + $2 * 100 + $3}') - - echo $pg_version -} - -if [ -z "$POSTGIS_VERSION" ]; then - export POSTGIS_VERSION=$(auto_postgis_version) - echo "POSTGIS_VERSION: ${POSTGIS_VERSION}" -fi - if test x"$PREPARE_PGSQL" = xyes; then echo "preparing postgres..."