Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Propagate grants in continuous aggregates #2436

Merged
merged 1 commit into from Sep 25, 2020

Conversation

mkindahl
Copy link
Contributor

Before this commit, grants on continuous aggregates were not propagated
to the materialized hypertable, direct view, and partial view. With
this commit, grants on a continuous aggregate is propagated.

Fixes #2413

@mkindahl mkindahl self-assigned this Sep 23, 2020
@codecov
Copy link

codecov bot commented Sep 23, 2020

Codecov Report

Merging #2436 into master will increase coverage by 0.01%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #2436      +/-   ##
==========================================
+ Coverage   90.10%   90.12%   +0.01%     
==========================================
  Files         213      213              
  Lines       34336    34348      +12     
==========================================
+ Hits        30940    30955      +15     
+ Misses       3396     3393       -3     
Impacted Files Coverage Δ
src/process_utility.c 93.70% <100.00%> (+0.04%) ⬆️
src/loader/bgw_message_queue.c 87.09% <0.00%> (-0.65%) ⬇️
tsl/src/fdw/shippable.c 94.28% <0.00%> (+11.42%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c2fb4ab...6dc296a. Read the comment docs.

@mkindahl mkindahl marked this pull request as ready for review September 23, 2020 17:29
@mkindahl mkindahl requested a review from a team as a code owner September 23, 2020 17:29
@mkindahl mkindahl requested review from erimatnor, WireBaron and gayyappan and removed request for a team September 23, 2020 17:29
Comment on lines 14 to 17
SELECT format('%s.%s', user_view_schema, user_view_name)::regclass AS user_view,
format('%s.%s', direct_view_schema, direct_view_name)::regclass AS direct_view,
format('%s.%s', partial_view_schema, partial_view_name)::regclass AS partial_view,
format('%s.%s', ht.schema_name, ht.table_name)::regclass AS mat_relid
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this format string is not correct, correct format string for all those cases is '%I.%I'

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed.


\set VERBOSITY default

\c :TEST_DBNAME :ROLE_DEFAULT_PERM_USER
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be good with some comments describing what is tested and what the expected outcome is. Now one has to read the SQL code to try to figure it out.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a comment. It can be even clearer if we single out the user that we change the grants for, but that seems excessive at this point.

SELECT * FROM cagg_info WHERE user_view::text = 'devices_summary';
-[ RECORD 1 ]-----+---------------------------------------
user_view | devices_summary
user_view_perm |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume perms is empty here because the owner has all permissions (and thus not registered as ACLs) and no other users have GRANTs at this point?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that is why it is clear. The same applies to the view as to the implementation objects.

partial_view | _timescaledb_internal._partial_view_10
partial_view_perm |

GRANT ALL ON devices_summary TO :ROLE_DEFAULT_PERM_USER;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be good to test REVOKE as well. And, maybe a GRANT which isn't GRANT ALL.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing REVOKE makes sense, to make sure that it propagates as well, but I do not understand why it would be necessary to test that permissions are set correctly. This only tests that permissions are propagated as they should.

Copy link
Contributor

@erimatnor erimatnor Sep 25, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am wondering if there's a case where a permission works on the main view, but not on other objects. I mean, I worry that GRANT ALL might have a different meaning depending on the object type, so that on some objects it is, e.g., INSERT, SELECT, but on others just SELECT?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are only views and tables, and they have the same permissions. The PG code makes no distinction between views and tables. I added a revoke that doesn't revoke all privileges to check what it did.

Before this commit, grants on continuous aggregates were not propagated
to the materialized hypertable, direct view, and partial view. With
this commit, grants on a continuous aggregate is propagated.

Fixes timescale#2413
@mkindahl mkindahl merged commit fb4fec1 into timescale:master Sep 25, 2020
@mkindahl mkindahl deleted the cagg_grant branch September 25, 2020 12:39
@mkindahl mkindahl mentioned this pull request Oct 2, 2020
svenklemm added a commit to svenklemm/timescaledb that referenced this pull request Oct 2, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. This release also adds support for user-defined actions allowing
users to define actions that are run by the TimescaleDB automation framework.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Function rename and arguments redesign for compression and retention policies
- Creating continuous aggregate is split into 2 steps: `CREATE MATERIALIZED VIEW`
  to create a continuous aggregate view, and `add_continuous_aggregate_policy`
  to create the actual policy
- Rename and argument redesign for functions to manipulate running policies
- Replacing several information views with policy information with general views,
  which covers policies and user-defined actions
- Redesign of information views

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* timescale#1923 Add support for distributed hypertables
* timescale#2006 Add support for user-defined actions
* timescale#2435 Move enterprise features to community
* timescale#2437 Update Timescale License

**Minor Features**
* timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* timescale#2105 Support moving compressed chunks

**Bugfixes**
* timescale#1843 Improve handling of "dropped" chunks
* timescale#1886 Change ChunkAppend leader to use worker subplan
* timescale#2116 Propagate privileges from hypertables to chunks
* timescale#2263 Fix timestamp overflow in time_bucket optimization
* timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill
* timescale#2325 Fix rename constraint/rename index
* timescale#2370 Fix detection of hypertables in subqueries
* timescale#2376 Fix caggs width expression handling on int based hypertables
* timescale#2416 Check insert privileges to create chunk
* timescale#2428 Allow owner change of continuous aggregate
* timescale#2436 Propagate grants in continuous aggregates
svenklemm added a commit to svenklemm/timescaledb that referenced this pull request Oct 2, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. This release also adds support for user-defined actions allowing
users to define actions that are run by the TimescaleDB automation framework.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Function rename and arguments redesign for compression and retention policies
- Creating continuous aggregate is split into 2 steps: `CREATE MATERIALIZED VIEW`
  to create a continuous aggregate view, and `add_continuous_aggregate_policy`
  to create the actual policy
- Rename and argument redesign for functions to manipulate running policies
- Replacing several information views with policy information with general views,
  which covers policies and user-defined actions
- Redesign of information views

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* timescale#1923 Add support for distributed hypertables
* timescale#2006 Add support for user-defined actions
* timescale#2435 Move enterprise features to community
* timescale#2437 Update Timescale License

**Minor Features**
* timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* timescale#2105 Support moving compressed chunks

**Bugfixes**
* timescale#1843 Improve handling of "dropped" chunks
* timescale#1886 Change ChunkAppend leader to use worker subplan
* timescale#2116 Propagate privileges from hypertables to chunks
* timescale#2263 Fix timestamp overflow in time_bucket optimization
* timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill
* timescale#2325 Fix rename constraint/rename index
* timescale#2370 Fix detection of hypertables in subqueries
* timescale#2376 Fix caggs width expression handling on int based hypertables
* timescale#2416 Check insert privileges to create chunk
* timescale#2428 Allow owner change of continuous aggregate
* timescale#2436 Propagate grants in continuous aggregates
svenklemm added a commit to svenklemm/timescaledb that referenced this pull request Oct 5, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. This release also adds support for user-defined actions allowing
users to define actions that are run by the TimescaleDB automation framework.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Function rename and arguments redesign for compression and retention policies
- Creating continuous aggregate is split into 2 steps: `CREATE MATERIALIZED VIEW`
  to create a continuous aggregate view, and `add_continuous_aggregate_policy`
  to create the actual policy
- Rename and argument redesign for functions to manipulate running policies
- Replacing several information views with policy information with general views,
  which covers policies and user-defined actions
- Redesign of information views

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* timescale#1923 Add support for distributed hypertables
* timescale#2006 Add support for user-defined actions
* timescale#2435 Move enterprise features to community
* timescale#2437 Update Timescale License

**Minor Features**
* timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* timescale#2105 Support moving compressed chunks

**Bugfixes**
* timescale#1843 Improve handling of "dropped" chunks
* timescale#1886 Change ChunkAppend leader to use worker subplan
* timescale#2116 Propagate privileges from hypertables to chunks
* timescale#2263 Fix timestamp overflow in time_bucket optimization
* timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill
* timescale#2325 Fix rename constraint/rename index
* timescale#2370 Fix detection of hypertables in subqueries
* timescale#2376 Fix caggs width expression handling on int based hypertables
* timescale#2416 Check insert privileges to create chunk
* timescale#2428 Allow owner change of continuous aggregate
* timescale#2436 Propagate grants in continuous aggregates
svenklemm added a commit to svenklemm/timescaledb that referenced this pull request Oct 5, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. This release also adds support for user-defined actions allowing
users to define actions that are run by the TimescaleDB automation framework.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Function rename and arguments redesign for compression and retention policies
- Creating continuous aggregate is split into 2 steps: `CREATE MATERIALIZED VIEW`
  to create a continuous aggregate view, and `add_continuous_aggregate_policy`
  to create the actual policy
- Rename and argument redesign for functions to manipulate running policies
- Replacing several information views with policy information with general views,
  which covers policies and user-defined actions
- Redesign of information views

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* timescale#1923 Add support for distributed hypertables
* timescale#2006 Add support for user-defined actions
* timescale#2435 Move enterprise features to community
* timescale#2437 Update Timescale License

**Minor Features**
* timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* timescale#2105 Support moving compressed chunks

**Bugfixes**
* timescale#1843 Improve handling of "dropped" chunks
* timescale#1886 Change ChunkAppend leader to use worker subplan
* timescale#2116 Propagate privileges from hypertables to chunks
* timescale#2263 Fix timestamp overflow in time_bucket optimization
* timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill
* timescale#2325 Fix rename constraint/rename index
* timescale#2370 Fix detection of hypertables in subqueries
* timescale#2376 Fix caggs width expression handling on int based hypertables
* timescale#2416 Check insert privileges to create chunk
* timescale#2428 Allow owner change of continuous aggregate
* timescale#2436 Propagate grants in continuous aggregates
svenklemm added a commit to svenklemm/timescaledb that referenced this pull request Oct 5, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. With 2.0, users can run multiple instances of TimescaleDB,
configured so that one serves as an access node and multiple others as data
nodes, so that all queries for a distributed hypertable are issued to the access
node, but inserted data and queries are pushed down across data nodes for
greater scale and performance.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Redefined functions for policies
- A continuous aggregate is now created with `CREATE MATERIALIZED VIEW`
  instead of `CREATE VIEW` and automated refreshing requires adding a policy
  via `add_continuous_aggregate_policy`
- Redesign of informational views, including new (and more general) views for
  information about policies and user-defined actions

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* timescale#1923 Add support for distributed hypertables
* timescale#2006 Add support for user-defined actions
* timescale#2435 Move enterprise features to community
* timescale#2437 Update Timescale License

**Minor Features**
* timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* timescale#2105 Support moving compressed chunks

**Bugfixes**
* timescale#1843 Improve handling of "dropped" chunks
* timescale#1886 Change ChunkAppend leader to use worker subplan
* timescale#2116 Propagate privileges from hypertables to chunks
* timescale#2263 Fix timestamp overflow in time_bucket optimization
* timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill
* timescale#2325 Fix rename constraint/rename index
* timescale#2370 Fix detection of hypertables in subqueries
* timescale#2376 Fix caggs width expression handling on int based hypertables
* timescale#2416 Check insert privileges to create chunk
* timescale#2428 Allow owner change of continuous aggregate
* timescale#2436 Propagate grants in continuous aggregates
svenklemm added a commit to svenklemm/timescaledb that referenced this pull request Oct 5, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. With 2.0, users can run multiple instances of TimescaleDB,
configured so that one serves as an access node and multiple others as data
nodes, so that all queries for a distributed hypertable are issued to the access
node, but inserted data and queries are pushed down across data nodes for
greater scale and performance.

This release also adds support for user-defined actions allowing users to
define actions that are run by the TimescaleDB automation framework.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Redefined functions for policies
- A continuous aggregate is now created with `CREATE MATERIALIZED VIEW`
  instead of `CREATE VIEW` and automated refreshing requires adding a policy
  via `add_continuous_aggregate_policy`
- Redesign of informational views, including new (and more general) views for
  information about policies and user-defined actions

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* timescale#1923 Add support for distributed hypertables
* timescale#2006 Add support for user-defined actions
* timescale#2435 Move enterprise features to community
* timescale#2437 Update Timescale License

**Minor Features**
* timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* timescale#2105 Support moving compressed chunks

**Bugfixes**
* timescale#1843 Improve handling of "dropped" chunks
* timescale#1886 Change ChunkAppend leader to use worker subplan
* timescale#2116 Propagate privileges from hypertables to chunks
* timescale#2263 Fix timestamp overflow in time_bucket optimization
* timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill
* timescale#2325 Fix rename constraint/rename index
* timescale#2370 Fix detection of hypertables in subqueries
* timescale#2376 Fix caggs width expression handling on int based hypertables
* timescale#2416 Check insert privileges to create chunk
* timescale#2428 Allow owner change of continuous aggregate
* timescale#2436 Propagate grants in continuous aggregates
svenklemm added a commit to svenklemm/timescaledb that referenced this pull request Oct 5, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. With 2.0, users can run multiple instances of TimescaleDB,
configured so that one serves as an access node and multiple others as data
nodes, so that all queries for a distributed hypertable are issued to the access
node, but inserted data and queries are pushed down across data nodes for
greater scale and performance.

This release also adds support for user-defined actions allowing users to
define actions that are run by the TimescaleDB automation framework.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Redefined functions for policies
- A continuous aggregate is now created with `CREATE MATERIALIZED VIEW`
  instead of `CREATE VIEW` and automated refreshing requires adding a policy
  via `add_continuous_aggregate_policy`
- Redesign of informational views, including new (and more general) views for
  information about policies and user-defined actions

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* timescale#1923 Add support for distributed hypertables
* timescale#2006 Add support for user-defined actions
* timescale#2435 Move enterprise features to community
* timescale#2437 Update Timescale License

**Minor Features**
* timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* timescale#2105 Support moving compressed chunks

**Bugfixes**
* timescale#1843 Improve handling of "dropped" chunks
* timescale#1886 Change ChunkAppend leader to use worker subplan
* timescale#2116 Propagate privileges from hypertables to chunks
* timescale#2263 Fix timestamp overflow in time_bucket optimization
* timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill
* timescale#2325 Fix rename constraint/rename index
* timescale#2370 Fix detection of hypertables in subqueries
* timescale#2376 Fix caggs width expression handling on int based hypertables
* timescale#2416 Check insert privileges to create chunk
* timescale#2428 Allow owner change of continuous aggregate
* timescale#2436 Propagate grants in continuous aggregates
svenklemm added a commit to svenklemm/timescaledb that referenced this pull request Oct 5, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. With 2.0, users can create distributed hypertables across
multiple instances of TimescaleDB, configured so that one instance serves
as an access node and multiple others as data nodes. All queries for a
distributed hypertable are issued to the access node, but inserted data
and queries are pushed down across data nodes for greater scale and
performance.

This release also adds support for user-defined actions allowing users to
define actions that are run by the TimescaleDB automation framework.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Redefined functions for policies
- A continuous aggregate is now created with `CREATE MATERIALIZED VIEW`
  instead of `CREATE VIEW` and automated refreshing requires adding a policy
  via `add_continuous_aggregate_policy`
- Redesign of informational views, including new (and more general) views for
  information about policies and user-defined actions

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* timescale#1923 Add support for distributed hypertables
* timescale#2006 Add support for user-defined actions
* timescale#2435 Move enterprise features to community
* timescale#2437 Update Timescale License

**Minor Features**
* timescale#2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* timescale#2105 Support moving compressed chunks

**Bugfixes**
* timescale#1843 Improve handling of "dropped" chunks
* timescale#1886 Change ChunkAppend leader to use worker subplan
* timescale#2116 Propagate privileges from hypertables to chunks
* timescale#2263 Fix timestamp overflow in time_bucket optimization
* timescale#2270 Fix handling of non-reference counted TupleDescs in gapfill
* timescale#2325 Fix rename constraint/rename index
* timescale#2370 Fix detection of hypertables in subqueries
* timescale#2376 Fix caggs width expression handling on int based hypertables
* timescale#2416 Check insert privileges to create chunk
* timescale#2428 Allow owner change of continuous aggregate
* timescale#2436 Propagate grants in continuous aggregates
svenklemm added a commit that referenced this pull request Oct 5, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. With 2.0, users can create distributed hypertables across
multiple instances of TimescaleDB, configured so that one instance serves
as an access node and multiple others as data nodes. All queries for a
distributed hypertable are issued to the access node, but inserted data
and queries are pushed down across data nodes for greater scale and
performance.

This release also adds support for user-defined actions allowing users to
define actions that are run by the TimescaleDB automation framework.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Redefined functions for policies
- A continuous aggregate is now created with `CREATE MATERIALIZED VIEW`
  instead of `CREATE VIEW` and automated refreshing requires adding a policy
  via `add_continuous_aggregate_policy`
- Redesign of informational views, including new (and more general) views for
  information about policies and user-defined actions

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* #1923 Add support for distributed hypertables
* #2006 Add support for user-defined actions
* #2435 Move enterprise features to community
* #2437 Update Timescale License

**Minor Features**
* #2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* #2105 Support moving compressed chunks

**Bugfixes**
* #1843 Improve handling of "dropped" chunks
* #1886 Change ChunkAppend leader to use worker subplan
* #2116 Propagate privileges from hypertables to chunks
* #2263 Fix timestamp overflow in time_bucket optimization
* #2270 Fix handling of non-reference counted TupleDescs in gapfill
* #2325 Fix rename constraint/rename index
* #2370 Fix detection of hypertables in subqueries
* #2376 Fix caggs width expression handling on int based hypertables
* #2416 Check insert privileges to create chunk
* #2428 Allow owner change of continuous aggregate
* #2436 Propagate grants in continuous aggregates
svenklemm added a commit that referenced this pull request Oct 5, 2020
This release adds major new features and bugfixes since the 1.7.4 release.
We deem it moderate priority for upgrading.

This release adds the long-awaited support for distributed hypertables to
TimescaleDB. With 2.0, users can create distributed hypertables across
multiple instances of TimescaleDB, configured so that one instance serves
as an access node and multiple others as data nodes. All queries for a
distributed hypertable are issued to the access node, but inserted data
and queries are pushed down across data nodes for greater scale and
performance.

This release also adds support for user-defined actions allowing users to
define actions that are run by the TimescaleDB automation framework.

In addition to these major new features, the 2.0 branch introduces _breaking_ changes
to APIs and existing features, such as continuous aggregates. These changes are not
backwards compatible and might require changes to clients and/or scripts that rely on
the previous APIs. Please review our updated documentation and do proper testing to
ensure compatibility with your existing applications.

The noticeable breaking changes in APIs are:
- Redefined functions for policies
- A continuous aggregate is now created with `CREATE MATERIALIZED VIEW`
  instead of `CREATE VIEW` and automated refreshing requires adding a policy
  via `add_continuous_aggregate_policy`
- Redesign of informational views, including new (and more general) views for
  information about policies and user-defined actions

This release candidate is upgradable, so if you are on a previous release (e.g., 1.7.4)
you can upgrade to the release candidate and later expect to be able to upgrade to the
final 2.0 release. However, please carefully consider your compatibility requirements
_before_ upgrading.

**Major Features**
* #1923 Add support for distributed hypertables
* #2006 Add support for user-defined actions
* #2435 Move enterprise features to community
* #2437 Update Timescale License

**Minor Features**
* #2011 Constify TIMESTAMPTZ OP INTERVAL in constraints
* #2105 Support moving compressed chunks

**Bugfixes**
* #1843 Improve handling of "dropped" chunks
* #1886 Change ChunkAppend leader to use worker subplan
* #2116 Propagate privileges from hypertables to chunks
* #2263 Fix timestamp overflow in time_bucket optimization
* #2270 Fix handling of non-reference counted TupleDescs in gapfill
* #2325 Fix rename constraint/rename index
* #2370 Fix detection of hypertables in subqueries
* #2376 Fix caggs width expression handling on int based hypertables
* #2416 Check insert privileges to create chunk
* #2428 Allow owner change of continuous aggregate
* #2436 Propagate grants in continuous aggregates
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Permissions handling on continuous aggregates
4 participants