Tom Lane wrote:
> Bruce Momjian <> writes:
> > Takahiro Itagaki wrote:
> >> ==== 2. extern PGDLLIMPORT ====
> >> pg_upgrade has own definitions of
> >> extern PGDLLIMPORT Oid binary_upgrade_next_xxx
> >> in pg_upgrade_sysoids.c. But those variables are not declared as
> >> PGDLLIMPORT in the core. Can we access unexported variables here?
> > The issue here is that you use PGDLLIMPORT where you are importing the
> > variable, not where it is defined.  For example, look at
> > 'seq_page_cost'.  You can see PGDLLIMPORT used where it is imported with
> > 'extern', but not where is it defined.
> Right.  Also we are intentionally not exposing those variables in any
> backend .h file, because they are not meant for general use.  So the
> "extern PGDLLIMPORT" isn't going to be in the main backend and has to
> be in pg_upgrade.  This was discussed awhile ago when we put in those
> variables, I believe.

Yes, this was discussed.

  Bruce Momjian  <>

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to