diff --git a/README.md b/README.md index ab09ac34b..516098e14 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ CREATE database tutorial; CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; -- Run initialization function -SELECT setup_db(); +SELECT setup_timescaledb(); ``` For convenience, this can also be done in one step by running a script from diff --git a/docs/API.md b/docs/API.md index 8db58543c..39ce30bc9 100644 --- a/docs/API.md +++ b/docs/API.md @@ -74,12 +74,12 @@ SELECT drop_chunks(interval '3 months', 'foo'); --- -### `setup_db()` +### `setup_timescaledb()` Initializes a Postgres database to fully use TimescaleDB. **Sample usage** ```sql -SELECT setup_db(); +SELECT setup_timescaledb(); ``` diff --git a/scripts/setup-db.sh b/scripts/setup-db.sh index 585c734f0..f31b07eb2 100755 --- a/scripts/setup-db.sh +++ b/scripts/setup-db.sh @@ -17,6 +17,6 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; \o /dev/null \echo 'Set up database...' -select setup_db(); +select setup_timescaledb(); \echo 'Success' EOF diff --git a/sql/meta/cluster.sql b/sql/meta/cluster.sql index b90c2cdcc..2b25c8963 100644 --- a/sql/meta/cluster.sql +++ b/sql/meta/cluster.sql @@ -17,6 +17,9 @@ BEGIN LIMIT 1; IF meta_row IS NULL THEN + IF port IS NULL THEN + port = 5432; + END IF; PERFORM add_cluster_user(username, password); PERFORM _timescaledb_internal.setup_meta(); INSERT INTO _timescaledb_catalog.meta (database_name, hostname, port, server_name) @@ -80,7 +83,7 @@ EXCEPTION END $BODY$; -CREATE OR REPLACE FUNCTION setup_db( +CREATE OR REPLACE FUNCTION setup_timescaledb( database NAME = current_database(), username TEXT = current_user, password TEXT = NULL, @@ -97,6 +100,10 @@ BEGIN FROM _timescaledb_catalog.meta LIMIT 1; + IF port IS NULL THEN + port = 5432; + END IF; + IF meta_row IS NULL THEN PERFORM set_meta(hostname, port, database, username, password); PERFORM _timescaledb_internal.setup_main(); diff --git a/test/expected/alternate_users.out b/test/expected/alternate_users.out index 41029b8a5..c7974b233 100644 --- a/test/expected/alternate_users.out +++ b/test/expected/alternate_users.out @@ -15,9 +15,9 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection - setup_db ----------- +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection + setup_timescaledb +------------------- (1 row) diff --git a/test/expected/create_hypertable.out b/test/expected/create_hypertable.out index 9aab543fd..39b4413e0 100644 --- a/test/expected/create_hypertable.out +++ b/test/expected/create_hypertable.out @@ -12,9 +12,9 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection - setup_db ----------- +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection + setup_timescaledb +------------------- (1 row) diff --git a/test/expected/ddl.out b/test/expected/ddl.out index 61a7af052..a5086dd55 100644 --- a/test/expected/ddl.out +++ b/test/expected/ddl.out @@ -13,7 +13,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \o \set ECHO ALL diff --git a/test/expected/ddl_errors.out b/test/expected/ddl_errors.out index 0cd0a71dd..52e750588 100644 --- a/test/expected/ddl_errors.out +++ b/test/expected/ddl_errors.out @@ -13,7 +13,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \o \set ECHO ALL diff --git a/test/expected/ddl_single.out b/test/expected/ddl_single.out index 01a38b399..e8c0f6914 100644 --- a/test/expected/ddl_single.out +++ b/test/expected/ddl_single.out @@ -13,7 +13,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \o \set ECHO ALL diff --git a/test/expected/delete.out b/test/expected/delete.out index 90ad29671..787639b88 100644 --- a/test/expected/delete.out +++ b/test/expected/delete.out @@ -13,7 +13,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \c single CREATE TABLE PUBLIC."testNs" ( diff --git a/test/expected/drop_chunks.out b/test/expected/drop_chunks.out index 0ae2a3dc2..e53c77304 100644 --- a/test/expected/drop_chunks.out +++ b/test/expected/drop_chunks.out @@ -13,7 +13,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \o \set ECHO ALL diff --git a/test/expected/drop_rename_hypertable.out b/test/expected/drop_rename_hypertable.out index f4c2d7965..d09af4fb0 100644 --- a/test/expected/drop_rename_hypertable.out +++ b/test/expected/drop_rename_hypertable.out @@ -15,7 +15,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \c single CREATE TABLE PUBLIC."testNs" ( diff --git a/test/expected/insert.out b/test/expected/insert.out index 4b938f3b7..3918a75d3 100644 --- a/test/expected/insert.out +++ b/test/expected/insert.out @@ -13,9 +13,9 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection - setup_db ----------- +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection + setup_timescaledb +------------------- (1 row) diff --git a/test/expected/insert_single.out b/test/expected/insert_single.out index 122f12a89..01a0c7ad5 100644 --- a/test/expected/insert_single.out +++ b/test/expected/insert_single.out @@ -13,9 +13,9 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection - setup_db ----------- +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection + setup_timescaledb +------------------- (1 row) diff --git a/test/expected/pg_dump.out b/test/expected/pg_dump.out index 9c3a4c09e..1aa06523c 100644 --- a/test/expected/pg_dump.out +++ b/test/expected/pg_dump.out @@ -15,7 +15,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \c single CREATE TABLE PUBLIC."testNs" ( diff --git a/test/expected/sql_query.out b/test/expected/sql_query.out index 5aca8a55f..ad6889191 100644 --- a/test/expected/sql_query.out +++ b/test/expected/sql_query.out @@ -13,7 +13,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \c single CREATE TABLE PUBLIC."testNs" ( diff --git a/test/expected/tablespace.out b/test/expected/tablespace.out index 60d36f584..9ced9f6d0 100644 --- a/test/expected/tablespace.out +++ b/test/expected/tablespace.out @@ -11,9 +11,9 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection - setup_db ----------- +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection + setup_timescaledb +------------------- (1 row) diff --git a/test/expected/timestamp.out b/test/expected/timestamp.out index 47b7e6598..dea4c6740 100644 --- a/test/expected/timestamp.out +++ b/test/expected/timestamp.out @@ -11,7 +11,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \o \set ECHO ALL diff --git a/test/expected/update.out b/test/expected/update.out index c6a7c8b3e..c0c9935ad 100644 --- a/test/expected/update.out +++ b/test/expected/update.out @@ -13,7 +13,7 @@ CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; psql:include/create_single_db.sql:8: NOTICE: installing required extension "dblink" psql:include/create_single_db.sql:8: NOTICE: installing required extension "postgres_fdw" psql:include/create_single_db.sql:8: NOTICE: installing required extension "hstore" -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose \c single \set ECHO ALL diff --git a/test/sql/include/create_single_db.sql b/test/sql/include/create_single_db.sql index 2aba6ebe4..f4edbb197 100644 --- a/test/sql/include/create_single_db.sql +++ b/test/sql/include/create_single_db.sql @@ -6,5 +6,5 @@ CREATE DATABASE single; \c single CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE; -SELECT setup_db(hostname => 'fakehost'); -- fakehost makes sure there is no network connection +SELECT setup_timescaledb(hostname => 'fakehost'); -- fakehost makes sure there is no network connection \set VERBOSITY verbose