PG是一个原始的驱动程序 - 它只是允许我们向数据库发送查询,而sequelize是ORM(对象关系映射器 - https://en.wikipedia.org/wiki/Object-relational_mapping) - 高级模块,将对象映射到数据库条目。任何一个模块的使用取决于项目的规模。如果项目是100行代码的实用程序 - 我更喜欢原始驱动程序。如果项目相当大并且需要可扩展性和可维护性 - 我认为sequelize更好。此外,使用sequelize可以在非常少的代码更改的情况下更改您使用的数据库 - 从postgresql到mysql / sqlite。值得注意的是,您可以在同一项目中同时使用两个模块 - 在某些事务方面可以使用pg,而在其他部分可以使用sequelize。
Sequelize支持两种类型的事务,即托管和非托管事务。在非托管事务中,用户通过调用Sequelize方法手动定义提交和回滚操作。而在托管事务中,Sequelize会在出现错误时自动回滚事务。至于node-postgres和Sequelize,以下是一些优缺点:node-progress: - 优点: - 它是一个简单且轻量级的库,可以直接向数据库发送查询。 - 缺点: - 它不像ORM那样提供高级抽象。Sequelize: - 优点: - 它提供了高级抽象,使得与数据库的交互更加容易。 - 它允许您在代码中进行很少的更改就可以更换使用的数据库。 - 缺点: - 它的学习曲线比使用简单的原始驱动程序(如node-postgress)要陡峭。希望这对您有所帮助。