Le développeur d'un FDW doit écrire une fonction de gestion (handler) et, en option, une fonction de validation. Les deux fonctions doivent être écrites dans un langage compilé comme le C en utilisant l'interface version-1. Pour les détails sur les conventions d'appel et le chargement dynamique en langage C, voir Section 37.10.
   La fonction de gestion renvoie simplement une structure de pointeurs
   de fonctions callback qui seront appelées par le planificateur,
   l'exécuteur et différentes commandes de maintenance. La plupart du
   travail dans l'écriture d'une FDW se
   trouve dans l'implémentation de ces fonctions callback. La fonction
   de gestion doit être enregistrée dans
   PostgreSQL comme ne prenant aucun argument
   et renvoyant le pseudo-type fdw_handler. Les fonctions
   callback sont des fonctions en C et ne sont pas visibles ou
   appelables avec du SQL. Les fonctions callback sont décrites dans
   Section 56.2.
  
   La fonction de validation est responsable de la validation des options
   données dans les commandes CREATE et
   ALTER pour son wrapper de données distantes,
   ainsi que pour les serveurs distants, les correspondances
   d'utilisateurs et les tables distants utilisant le wrapper. La
   fonction de validation doit être enregistrée comme prenant deux
   arguments : un tableau de texte contenant les options à
   valider et un OID représentant le type d'objet avec lequel les
   options sont associées. Ce dernier correspond à l'OID du catalogue système
   où sera stocké l'objet, donc
   
AttributeRelationId
ForeignDataWrapperRelationId
ForeignServerRelationId
ForeignTableRelationId
UserMappingRelationId
Si aucune fonction de validation n'est fournie, les options ne sont pas vérifiées au moment de la création ou de la modification de l'objet.