如何列出 pipelinedb 中的所有流和连续视图?
How do I list all streams and continuous views in pipelinedb?
在 pipelinedb 中,我似乎无法找到一种方法来列出我创建的所有流和连续视图。
我可以通过查找创建的 "mrel" table 返回到 CV,但它有点笨拙。
是否有系统 table 或我可以查询的视图列出它们?
您可能有旧版本的 pipelinedb,或者您正在查看旧版本的文档。
您可以像这样使用 psql 检查您的版本:
pipeline=# select * from pipeline_version();
pipeline_version
-----------------------------------------------------------------------------------------------------------------------------------------------------------
PipelineDB 0.9.0 at revision b1ea9ab6acb689e6ed69fb26af555ca8d025ebae on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4, 64-bit
(1 row)
在最新版本中,可以通过以下方式获取视图信息:
pipeline=# select * from pipeline_views();
id | schema | name | query
----+--------+------+-----------------------
11 | public | cv | SELECT x::integer, +
| | | count(*) AS count+
| | | FROM ONLY s +
| | | GROUP BY x::integer
(1 row)
关于流的信息可以这样获取:
pipeline=# select * from pipeline_streams();
schema | name | inferred | queries | tup_desc
--------+------+----------+---------+----------------------------------------
public | s | t | {cv} | \x000000017800000006a4ffffffff00000000
(1 row)
使用\d+可以获取更多信息:
pipeline=# \d+ cv
Continuous view "public.cv"
Column | Type | Modifiers | Storage | Description
--------+---------+-----------+---------+-------------
x | integer | | plain |
count | bigint | | plain |
View definition:
SELECT x::integer,
count(*) AS count
FROM ONLY s
GROUP BY x::integer;
pipeline=# \d+ s
Stream "public.s"
Column | Type | Storage
-------------------+-----------------------------+---------
arrival_timestamp | timestamp(0) with time zone | plain
这很简单,
随便写
select * from pipeline_streams();
要查看管道流及其内部,您可以看到哪个流具有哪些视图。
编辑:
上面的代码片段仅适用于 0.9.x 版本的 PipelineDB,因为它是版本 1.x 的 PostgreSQL 扩展,您将使用外表作为流
psql -c "\dE[S+];"
此代码将显示 psql 上的所有外部表(pipelinedb 上的流)。
在 pipelinedb 中,我似乎无法找到一种方法来列出我创建的所有流和连续视图。
我可以通过查找创建的 "mrel" table 返回到 CV,但它有点笨拙。
是否有系统 table 或我可以查询的视图列出它们?
您可能有旧版本的 pipelinedb,或者您正在查看旧版本的文档。
您可以像这样使用 psql 检查您的版本:
pipeline=# select * from pipeline_version();
pipeline_version
-----------------------------------------------------------------------------------------------------------------------------------------------------------
PipelineDB 0.9.0 at revision b1ea9ab6acb689e6ed69fb26af555ca8d025ebae on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4, 64-bit
(1 row)
在最新版本中,可以通过以下方式获取视图信息:
pipeline=# select * from pipeline_views();
id | schema | name | query
----+--------+------+-----------------------
11 | public | cv | SELECT x::integer, +
| | | count(*) AS count+
| | | FROM ONLY s +
| | | GROUP BY x::integer
(1 row)
关于流的信息可以这样获取:
pipeline=# select * from pipeline_streams();
schema | name | inferred | queries | tup_desc
--------+------+----------+---------+----------------------------------------
public | s | t | {cv} | \x000000017800000006a4ffffffff00000000
(1 row)
使用\d+可以获取更多信息:
pipeline=# \d+ cv
Continuous view "public.cv"
Column | Type | Modifiers | Storage | Description
--------+---------+-----------+---------+-------------
x | integer | | plain |
count | bigint | | plain |
View definition:
SELECT x::integer,
count(*) AS count
FROM ONLY s
GROUP BY x::integer;
pipeline=# \d+ s
Stream "public.s"
Column | Type | Storage
-------------------+-----------------------------+---------
arrival_timestamp | timestamp(0) with time zone | plain
这很简单,
随便写
select * from pipeline_streams();
要查看管道流及其内部,您可以看到哪个流具有哪些视图。
编辑: 上面的代码片段仅适用于 0.9.x 版本的 PipelineDB,因为它是版本 1.x 的 PostgreSQL 扩展,您将使用外表作为流
psql -c "\dE[S+];"
此代码将显示 psql 上的所有外部表(pipelinedb 上的流)。