sinyei... creo entenderte mejor.
La parte de implementación en php y ajax es cosa de otros foros. Desde la prespectiva de postgres se me ocurre algo así:
Código SQL:
Ver originalSELECT *FROM medicamentos
WHERE TRANSLATE(nom_medicamento || tipo_medicamento || referencia_medicamento,'ÁÉÍÓÚáéíóú','AEIOUaeiou')
ILIKE TRANSLATE('%Palabra_a_buscar%','ÁÉÍÓÚáéíóú','AEIOUaeiou')
Esto te concatena todos los campos a buscar y si encuentra coincidencia con algún campo lo va a mostrar.
La función translate te asume que todas aquellas letras que tienen acento serán convertidas en ejecución a letras sin acento.
si en tu base está Acetohidroxámico y la buscas sin acento de igual forma te la va a encontrar.
el ILIKE es para que sea insensitive a mayusculas. Si buscas acetohidroxámico y la y realmente está con mayusculas igual te lo encuentra.
espero te sea de ayuda