On Thu, Sep 3, 2020 at 11:50 AM Mark Dilger <mark.dil...@enterprisedb.com> wrote: > Since newer pg_dump binaries can be used to dump data from older servers, and > since users might then load that dump back into an older server, I think > doing anything stronger than a pg_log_warning() would be incorrect. I did > not find precedents under comparable circumstances for taking stronger > actions than pg_log_warning. I assume we can't, for example, omit the > operator from the dump, nor can we abort the process.
I'm not sure that this is the right solution. Generally, the recommendation is that you should use the pg_dump that corresponds to the server version where you want to do the reload, so if you're hoping to dump 9.6 and restore on 11, you should be using the pg_dump from 11, not 14. So my thought would be that if there are user-defined postfix operators, pg_dump ought to error out. However, that could be inconvenient for people who are using pg_dump in ways that are maybe not what we would recommend but which may happen to work but for this issue, so I'm not sure. On the third hand, though, we think that there are very few user-defined postfix operators out there, so if we just give an error, we probably won't be inconveniencing many people. I'm not sure who is going to commit this work, and that person may have a different preference than me. However, if it's me, I'd like to see the removal of the existing postfix operators broken off into its own patch, separate from the removal of the underlying facility to have postfix operators. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company