sql >> Base de Datos >  >> RDS >> PostgreSQL

Postgresql regexp_matches vista interior siempre devuelve nulo cuando se consulta desde PHP

La misma consulta

select  e'\\x353078'::bytea;

da resultados en diferentes formatos en psql :

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

y en PgAdmin III :

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

Para la documentación:

PgAdmin III (y también PgAdmin4) probablemente por razones históricas establece el valor de bytea_output escape mientras que el valor predeterminado del parámetro es hex . Esto puede generar confusión (y como puede ver, conduce). Parece que pgAdmin no debería cambiar el valor predeterminado del parámetro.

Puede cambiar el parámetro en su aplicación para obtener el mismo comportamiento que en PgAdmin:

set bytea_output to escape;

Por supuesto, usando encode() también es una buena solución.