Hi, > I only add below: > > Datum fake_dinstance2(PG_FUNCTION_ARGS) > { > PG_RETURN_INT16(0); > } > in src/backend/utils/adt/int8.c, and the I run “make install”, > But I can’t find the fake_distance2 in src/backend/utils/fmgrtab.c which is > generated by src/backend/utils/Gen_fmgrtab.pl. What else do I need to add?
If the goal is to add a function that can be executed by a user (e.g. via psql) you have to add it to pg_proc.dat, or alternatively (and often better) add a corresponding extension to /contrib/. You can find a complete example here [1] for instance, see v4-0001 patch and the function pg_get_relation_publishing_info(). Make sure it has a proper volatility [2]. The patch [3] shows how to add an extension. [1]: https://postgr.es/m/CAAWbhmjcnoV7Xu6LHr_hxqWmVtehv404bvDye%2BQZcUDSg8NSKw%40mail.gmail.com [2]: https://www.postgresql.org/docs/current/xfunc-volatility.html [3]: https://postgr.es/m/CAJ7c6TMSat6qjPrrrK0tRTgZsdXwFAbkDn5gjeDtFnUFrjZX-g%40mail.gmail.com -- Best regards, Aleksander Alekseev