Postgresql服务器和客户端离线模式
Postgresql server and client offline mode
我想在Qt中创建两个程序,一个服务器和另一个客户端,我的服务器程序插入用户和客户信息,如指纹和另一个重要数据,在客户端用户和客户使用他们的信息来处理一些隐私的东西,这些程序必须在网络上发送信息。
所以我认为使用Postgresql数据库的服务器和客户端只是连接到数据库,并获得所需的信息登录等
现在这是我的问题
- 我的网络连接必须是安全的,没有人可以提取数据发送到客户端吗?(所以我认为postgres处理这个为我,我是对的吗?)
- 我想客户端有离线模式,所以我不介意如果我必须设置另一个Postgresql数据库在客户端PC上,然后我怎么知道Postgres从服务器更新自己,反之亦然? 你认为最好的解决方案是什么?
thanks a lot
哇,这有点开放式。参见https://stackoverflow.com/faq#dontask。保持你的问题具体和集中。我可以写一本书的开放式问题将被关闭。
快速版本:
我的网络连接必须是安全的,没有人可以提取数据发送到客户端?(所以我认为postgres处理这个为我,我是对的吗?)
正确使用SSL将为您提供单向信任,客户端可以验证服务器的身份。服务器仍然必须依赖密码来识别客户端,但它可以通过SSL来实现。
您可以使用客户端证书进行真正的双向验证。
如果您正在做任何隐私敏感的事情,请考虑使用您自己的自签名CA并通过已知的安全方式分发CA证书。有太多被贿赂的子ca签署通配符证书,供各国用于透明的SSL解密,我无法信任SSL ca来保护持不同政见者和人权工作者,当他们使用由对他们怀有敌意的人提供或控制的互联网连接时。
不要相信我的话;仔细阅读。
我想客户端有离线模式,所以我不介意如果我必须在客户端PC上设置另一个Postgresql数据库,然后我怎么能告诉Postgresql从服务器更新自己,反之亦然?
听起来你想要间歇连接的异步复制。
这很难。我建议在应用程序级别这样做,您可以实现特定于应用程序的同步调度和冲突解决逻辑。您可以使用触发器维护的变更列表表来保存自db最后一次见面以来所更改的内容的记录。不要使用时间戳来保持同步,因为它们在服务器和客户机之间的时钟漂移会导致您错过更改。您可能希望在主数据库上使用pgq计时器之类的东西。
最后,你认为最好的解决方案是什么?结尾太开放,没有提供足够的信息甚至开始回答。
相关文章:
- QWebEngine 5.7.1 离线导航加载缓存
- ActiveMq:持久队列和离线系统
- 如何离线安装熊猫和依赖项
- QT离线安装程序和兼容的C 编译器安装
- 'tedt'的离线定义
- 离线 Qt 文档
- 如何在QML(Qt)中离线运行OpenStreetMap
- CMAKE:外部项目更新和离线工作
- 如何在没有相机的情况下使用 Kinect 捕获的 RGB-D(请离线流示例代码)
- 缓存Google Maps供离线使用
- 离线嵌入式实时路由
- 可以使用缓存使QML应用程序“离线支持”
- "= default"是否允许离线实施?
- c++ -为离线VS2013加载微软符号
- Postgresql服务器和客户端离线模式
- 离线虚拟方法
- 如何创建离线数据库与c++一起使用
- 如何得到一个距离矩阵的计算正在离线上我的服务器
- 基于订阅的软件许可-离线验证
- 离线时的NetGroupEnum()