有没有办法在PostgreSQL的一个表中为数据范围定义数据库文件?我需要在PostgreSQL数据库之间移动数据并思考如果我使用数据库文件进行移动(而不是使用SQL语句)它会更快。文件移动是否比SQL插入查询更快,这是一个很好的解决方案吗?
答案 0 :(得分:1)
使用Postgres复制完整数据库并非不可能,但每个表的复制需要更智能的复制。
要复制完整数据库,您可以执行以下操作:
psql -c "select pg_start_backup('backup label', true);"
rsync -av --exclude pg_xlog --exclude postgresql.conf --exclude postgresql.pid data remote_server:data
psql -c 'select pg_stop_backup();'
复制数据库的一部分要复杂一些。为此,有几个选项可供使用,之前的Slony是推荐的选项,但这些日子该项目处于非活动状态。现在你的选择是外国数据包装,PL /代理或Postgres维基中提到的一个选项:https://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling#Clustering