PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Postgresql regexp_matches inside view renvoie toujours null lorsqu'il est interrogé par PHP

La même requête

select  e'\\x353078'::bytea;

donne des résultats dans différents formats en psql :

  bytea
----------
 \x353078

et dans PgAdmin III :

  bytea
----------
 50x

Pour la documentation :

PgAdmin III (et aussi PgAdmin4) probablement pour des raisons historiques définit la valeur de bytea_output pour escape tandis que la valeur par défaut du paramètre est hex . Cela peut prêter à confusion (et comme vous pouvez le voir, cela mène). Il semble que pgAdmin ne devrait pas changer la valeur par défaut du paramètre.

Vous pouvez modifier le paramètre dans votre application pour obtenir le même comportement que dans PgAdmin :

set bytea_output to escape;

Bien sûr, en utilisant encode() est aussi une bonne solution.