为了账号安全,请及时绑定邮箱和手机立即绑定

postgresql做了读写分离,两台服务器,用copy命令读取csv文件遇到了难题,求赐教

postgresql做了读写分离,两台服务器,用copy命令读取csv文件遇到了难题,求赐教

忽然笑 2018-08-10 09:07:49
现在项目是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就是二进制流。


查看完整回答
反对 回复 2018-08-12
  • 1 回答
  • 0 关注
  • 1292 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信