PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postgresql regexp_matches inside view restituisce sempre null quando interrogato da PHP

La stessa domanda

select  e'\\x353078'::bytea;

fornisce risultati in diversi formati in psql :

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

e in PgAdmin III :

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

Per la documentazione:

PgAdmin III (e anche PgAdmin4) probabilmente per ragioni storiche imposta il valore di bytea_output per escape mentre il valore predefinito del parametro è hex . Questo può portare a confusione (e come puoi vedere porta). Sembra che pgAdmin non debba modificare il valore predefinito del parametro.

Puoi modificare il parametro nella tua applicazione per ottenere lo stesso comportamento come in PgAdmin:

set bytea_output to escape;

Ovviamente, usando encode() è anche una buona soluzione.