如何在用户浏览器上实现node-postgres?
所以我testing了这个特殊的例子在我的本地机器上:
http://bjorngylling.com/2011-04-13/postgres-listen-notify-with-node-js.html
有效! 所以现在当我更新一个特定的表,并运行我的node.js文件(从教程) – 我得到我的terminal(mac)的即时通知! 凉!
但是,我如何实现这个客户端的浏览器?
首先,在node.js脚本中,您将注意到我必须使用我的用户名和密码连接到数据库:
pgConnectionString = "postgres://username:pswd@localhost/db";
我显然不能在.js文件中下载用户的浏览器。
另外,我甚至不知道我要在<head>
包含哪些脚本。 我在任何地方都找不到如何在真实世界中使用它……我所看到的只是在命令行中可以使用的整齐的小例子。
任何build议,或在正确的方向指导将是真棒! 谢谢。
你不能。
Node.js直接在您的服务器上运行,直接与该机器上的本地库进行通信。 我不确定你正在使用的是什么postgres驱动程序,但要么是与postgres库对话,要么是直接使用本地或远程数据库服务器上的套接字。
这两种方法都不能直接从浏览器环境中使用(它不能直接与本地库直接对话,也不能说“原始”套接字)。
你可以做的是让Web客户端在服务器上运行你自己的服务器进程(运行node.js或类似的),然后代表客户端与数据库对话。
假设您还需要数据库服务器才能向客户端发起通知,则需要使用像socket.io或类似的双向通信模块。
你可以这样做:将你的JS运行在Node.js上,它使用基于Node.js的WebSocket服务器来访问Postgres监听事件,实现PubSub,并推送到HTML5浏览器。支持WebSocket的。
另一种select是:使用通用的WebSocket到TCP桥,如https://github.com/kanaka/websockify,并在JS中实现Postgres客户端协议以在浏览器中运行。 这是可行的,但可能不容易/对于胆小的人来说。
- node-postgres:caching的参数化插入查询,在第二次运行时失败
- 用node-postgres查询postgres数据库
- 如何优化Postgresql max_connections和node-postgres连接池?
- 使用node-postgres在utc中获取Postgres的“没有时区的时间戳”
- 将自定义types的数组传递给来自node-pg和SQL注入的postgres函数
- node-postgres:如何执行“WHERE col IN(<dynamic值列表>)”查询?
- Node – 使用node-postgres设置Postgres驱动程序
- 如何修复多行node-postgres插入 – 在$ 4或附近的语法错误
- pg(node-postgres)是否会自动清理数据