title: pg_dump and pg_restore across different major versions of PostgreSQL
body: <p>My development machine (call it D) runs PostgreSQL 9.4.5. My production machine (call it P) runs PostgreSQL 8.4.20. </p>
  
  <p>I don't use any of the newer features or types in PostgreSQL 9.x.</p>
  
  <p>Sometimes I need to mirror the state of P on D and sometimes I need to do the opposite. In both cases I use pg_dump/pg_restore. </p>
  
  <p>I have never had any errors or warnings when I restore from a P dump to D. However, when I do the opposite I get multiple <code>unrecognized configuration parameter "lock_timeout"</code> errors. I know that this configuration parameter was introduced in 9.3 and as the rest of the restore process works fine, I just ignore the error messages.</p>
  
  <p><strong>My questions are</strong>: is it a bad idea to use pg_dump/pg_restore across different major versions or can one safely just ignore the compatibility errors as I have been doing here? Am I going to get bitten by this in the future? I cannot upgrade P, should I downgrade D to 8.4.20 just to be on the safe side? </p>