小编dre*_*lax的帖子

将 PostgreSQL 数据库暴露在互联网上

我在 DBA 和其他网站上看到,将数据库暴露给 Internet 是一个特别糟糕的主意,但我注意到 PostgreSQL 具有仅 SSL 证书的身份验证。这是否会使将数据库公开到互联网(来自非本地主机连接的仅证书身份验证)更安全,还是建立 VPN 或通过 SSH 等隧道更好?

如果后者更安全,究竟是什么让它更安全?在这方面,我觉得我忽略了一些显而易见的事情。

我之前已经设置了一些数据库,但实际上从未需要设置需要某种远程管理的数据库(在这种情况下,“远程”是指通过 Internet 或 WAN 而不是 LAN)。

postgresql remote ssl

9
推荐指数
1
解决办法
9349
查看次数

根据日期(或日期范围)加入

我不确定我是否完全捏造了我的小型爱好数据库的设计(无论如何我都不是 DBA),但我有一个这样的表(主键是(staffid, effectivefrom)):

 staffid | target | effectivefrom
 --------|--------|---------------
  1      |  6.0   | 2012-01-01
  2      |  6.0   | 2012-01-01
  3      |  6.0   | 2012-01-01
  1      |  7.0   | 2012-03-01
Run Code Online (Sandbox Code Playgroud)

所以基本上,三名员工都是以 6.0 的目标开始的,但是在 3 月份,ID 1 的员工有了新的 7.0 目标。我想维护历史目标,因为它与其他表中的其他数据相关。

我想有一个用户定义的函数,它以日期为参数,这个函数需要根据日期将上表与另一个表连接起来。假设以 2 月 1 日为日期调用该函数,我希望联接的结果包括显示所有员工 6.0 的目标列。

像这样(我认为这行不通,因为之前可能有多行dateParameter):

 SELECT othertable.*, targets.target
     FROM othertable
     JOIN targets ON
         othertable.staffid = targets.staffid AND
         targets.effectivedate <= dateParameter;
Run Code Online (Sandbox Code Playgroud)

请让我知道我是否做了一个绝对的 DBA 'no-no' 或者我是否只需要一些咖啡因。

postgresql join database-design

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

postgresql ×2

database-design ×1

join ×1

remote ×1

ssl ×1