我已经看到像InfluxDB这样的产品来扩展PostgreSQL。这些产品建议他们直接使用PostgreSQL(无需SQL即可以原始形式访问数据)。
但是谷歌搜索“直接访问PostgreSQL”和类似的问题,我没有得到有用的信息。
那么,是否可以不使用任何SQL直接访问PostgreSQL(例如使用C ++库)?如果可以,怎么办?
答案 0 :(得分:2)
如果用C编写用户定义的函数,则可以直接访问数据文件中的数据。
但是,除非您要造成数据损坏,否则必须遵循PostgreSQL的协议,考虑可见性,采用并尊重锁等,因此,最好使用PostgreSQL的API。
例如,您可以绕过查询解析器和优化器,而直接在表上编写索引扫描。但是,如果使用准备好的语句,您可以获得几乎相同的性能。
在大多数情况下,绕过SQL可能不是一个聪明的主意,但是您可以使用server programming interface从后端内部的C代码运行SQL,以避免客户端与服务器之间的往返。