mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-16 02:23:49 +08:00
Currently the view displays the current edition, expiry date, and whether the license is expired. We're not displaying the license key itself in the view as it can get rather long, and get be read via SHOW. We also do not display the license's ID since that is for internal use.
36 lines
1.4 KiB
SQL
36 lines
1.4 KiB
SQL
-- Copyright (c) 2016-2018 Timescale, Inc. All Rights Reserved.
|
|
--
|
|
-- This file is licensed under the Apache License, see LICENSE-APACHE
|
|
-- at the top level directory of the TimescaleDB distribution.
|
|
|
|
CREATE SCHEMA IF NOT EXISTS timescaledb_information;
|
|
|
|
-- Convenience view to list all hypertables and their space usage
|
|
CREATE OR REPLACE VIEW timescaledb_information.hypertable AS
|
|
SELECT ht.schema_name AS table_schema,
|
|
ht.table_name,
|
|
t.tableowner AS table_owner,
|
|
ht.num_dimensions,
|
|
(SELECT count(1)
|
|
FROM _timescaledb_catalog.chunk ch
|
|
WHERE ch.hypertable_id=ht.id
|
|
) AS num_chunks,
|
|
size.table_size,
|
|
size.index_size,
|
|
size.toast_size,
|
|
size.total_size
|
|
FROM _timescaledb_catalog.hypertable ht
|
|
LEFT OUTER JOIN pg_tables t ON ht.table_name=t.tablename AND ht.schema_name=t.schemaname
|
|
LEFT OUTER JOIN LATERAL @extschema@.hypertable_relation_size_pretty(
|
|
CASE WHEN has_schema_privilege(ht.schema_name,'USAGE') THEN format('%I.%I',ht.schema_name,ht.table_name) ELSE NULL END
|
|
) size ON true;
|
|
|
|
CREATE OR REPLACE VIEW timescaledb_information.license AS
|
|
SELECT _timescaledb_internal.license_edition() as edition,
|
|
_timescaledb_internal.license_expiration_time() <= now() AS expired,
|
|
_timescaledb_internal.license_expiration_time() AS expiration_time;
|
|
|
|
|
|
GRANT USAGE ON SCHEMA timescaledb_information TO PUBLIC;
|
|
GRANT SELECT ON ALL TABLES IN SCHEMA timescaledb_information TO PUBLIC;
|