【问题标题】:Database Table Synonym/Alias数据库表同义词/别名
【发布时间】:2015-12-29 02:17:25
【问题描述】:

以下是场景:我有一组名为job_listings_yyyyMMdd 的表。每天都会创建一个使用上述命名约定的新表,并在其中填充当天的工作列表。

填充该表后,将启动一个转换表中数据的进程,以便前端应用可以使用它。

所以,随着时间的推移,我有一组表格,类似于

job_listings_20151226, job_listings_20151227, job_listings_20151228, ...

它们都有完全相同的表结构,但每个表只包含当天的工作列表。

我想做的是从为前端提供此数据的服务中引用一个名为job_listings 的表。理想情况下,我的日常流程将创建新的一天的表格,并且在完成所有处理并且准备好提供当天的数据之后,让流程更改同义词/别名(即job_listings)以指向新填充的并处理了当天的表格。

这个想法是数据刷新之间没有任何接缝。 Oracle 曾经有一个名为 Synonyms 的概念,但我很难弄清楚如何使用 PostgreSQL 来做到这一点。

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:

    不同的数据库系统有不同的联合和别名方法。但我认为你想要的是任何 SQL 系统中都可用的东西——一个视图。

    CREATE VIEW MOST_RECENT_JOB_LISTINGS AS 
    SELECT * FROM job_listings_20151228
    

    只需在新表创建后每天更改此视图的定义即可。

    【讨论】:

    • 哎呀呀呀,就这么简单。有时,我把事情复杂化了。谢谢!
    猜你喜欢
    • 2011-05-15
    • 1970-01-01
    • 2010-10-01
    • 2018-01-04
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多