现在项目是node搭的服务,两台节点,postgresql做了读写分离,主节点做写操作,由于数据量大需要将数据存为csv文件然后用COPY命令做批量插入,现在问题是前端请求的时候会不定的发请求到两台服务器中的一台,在这台服务器将数据生成csv文件,但是postgresql只会在主节点做写操作,所以会导致如果在从节点上的csv文件,postgresql运行copy命令时会找不到csv文件,请问该怎么解决,找了资料都没找到方案,求赐教node使用Sequelize配的postgresqllet sequelize = new Sequelize(`${postgresql.database}`,null , null, { 'port': postgresql.port, 'dialect': 'postgres', 'protocol': 'postgres', 'quoteIdentifiers': true, 'logging': false, // 读取分离
'replication': { 'read': [
{ host: postgresql.masterHost, username: postgresql.username, password: postgresql.password },
{ host: postgresql.subHost, username: postgresql.username, password: postgresql.password }
], 'write': { host: postgresql.masterHost, username: postgresql.username, password: postgresql.password }
}, 'pool': { 'maxConnections': process.env.NODE_ENV !== "PRODUCTION" ? 80 : 120, 'minConnections': 0, 'maxIdleTime': 30000
}
});
1 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
如果是用psql命令的话 copy命令换成\copy,\copy是二进制流无需csv在服务器上,远程copy。如果用node的框架的话,找找有没有类似的函数,我平时用python的psycopg2,copy_from就是二进制流。
- 1 回答
- 0 关注
- 1284 浏览
添加回答
举报
0/150
提交
取消