PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Postgresql regexp_matches inside view selalu mengembalikan null ketika ditanya dari PHP

Kueri yang sama

select  e'\\x353078'::bytea;

memberikan hasil dalam format berbeda di psql :

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

dan di PgAdmin III :

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

Untuk dokumentasi:

PgAdmin III (dan juga PgAdmin4) mungkin karena alasan historis menetapkan nilai bytea_output untuk escape sedangkan nilai default parameternya adalah hex . Ini dapat menyebabkan kebingungan (dan seperti yang Anda lihat, itu mengarah). Tampaknya pgAdmin seharusnya tidak mengubah nilai default parameter.

Anda dapat mengubah parameter di aplikasi Anda untuk mendapatkan perilaku yang sama seperti di PgAdmin:

set bytea_output to escape;

Tentu saja, menggunakan encode() juga merupakan solusi yang baik.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat memuat kelas driver JDBC 'com.postgresql.jdbc.Driver'

  2. Waktu antara dua peristiwa

  3. Nilai yang Dihasilkan di Postgres

  4. Django tidak dapat menjatuhkan basis data:psycopg2.OperationalError:tidak dapat menjatuhkan basis data yang saat ini terbuka

  5. Partisi Postgresql dan sqlalchemy