mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 18:43:18 +08:00
When timescaledb is installed in template1 and a user with only createdb privileges creates a database, the user won't be able to dump the database because of lacking permissions. This patch grants the missing permissions to PUBLIC for pg_dump to succeed. We need to grant SELECT to PUBLIC for all tables even those not marked as being dumped because pg_dump will try to access all tables initially to detect inheritance chains and then decide which objects actually need to be dumped.
20 lines
1.0 KiB
SQL
20 lines
1.0 KiB
SQL
-- This file contains infrastructure for cache invalidation of TimescaleDB
|
|
-- metadata caches kept in C. Please look at cache_invalidate.c for a
|
|
-- description of how this works.
|
|
CREATE TABLE IF NOT EXISTS _timescaledb_cache.cache_inval_hypertable();
|
|
|
|
-- This is pretty subtle. We create this dummy cache_inval_extension table
|
|
-- solely for the purpose of getting a relcache invalidation event when it is
|
|
-- deleted on DROP extension. It has no related triggers. When the table is
|
|
-- invalidated, all backends will be notified and will know that they must
|
|
-- invalidate all cached information, including catalog table and index OIDs,
|
|
-- etc.
|
|
CREATE TABLE IF NOT EXISTS _timescaledb_cache.cache_inval_extension();
|
|
|
|
-- not actually strictly needed but good for sanity as all tables should be dumped.
|
|
SELECT pg_catalog.pg_extension_config_dump('_timescaledb_cache.cache_inval_hypertable', '');
|
|
SELECT pg_catalog.pg_extension_config_dump('_timescaledb_cache.cache_inval_extension', '');
|
|
|
|
GRANT SELECT ON ALL TABLES IN SCHEMA _timescaledb_cache TO PUBLIC;
|
|
|