Pelepasan PostgREST 9.0.0, tambihan pikeun ngarobih pangkalan data janten API RESTful

PostgREST 9.0.0 dileupaskeun, pangladén wéb anu beroperasi sacara misah sareng palaksanaan tambihan anu hampang kana PostgreSQL DBMS, narjamahkeun objék tina database anu tos aya kana API RESTful. Gantina pemetaan data relational kana objék (ORMs), PostgREST nyieun pintonan langsung dina database. Sisi database ogé nanganan serialisasi réspon JSON, validasi data, sareng otorisasina. Kinerja sistem cukup pikeun ngolah nepi ka 2000 requests per detik dina server has. Kodeu proyék ditulis dina Haskell sareng disebarkeun dina lisénsi MIT.

Salaku conto, ngan ukur nganggo mékanisme hak istimewa database, anjeun tiasa masihan aksés kana data (tabel, jinis tampilan, sareng prosedur anu disimpen) dina HTTP. Dina hal ieu, teu kedah encode tarjamahan sapertos kitu sareng biasana hiji paréntah GRANT cukup pikeun ngajantenkeun méja liwat API REST. Kasebut nyaéta dimungkinkeun pikeun ngonpigurasikeun aksés ku token (JWT) jeung ngatur "multitenancy" ngaliwatan pamakéan kaamanan tingkat baris dinamis (Row Level Kaamanan).

Sacara arsitéktur, PostgREST ngadorong kana arsitéktur berorientasi data (Arsitektur Berorientasi Data), dimana microservices henteu nyimpen nagara sorangan, tapi nganggo aksés tunggal kana data (Lapisan Aksés Data) pikeun ieu.

Pelepasan PostgREST 9.0.0, tambihan pikeun ngarobih pangkalan data janten API RESTful

Diantara parobahan dina versi anyar:

  • Tabel partitioned ditambahkeun kana cache skéma gudang, nu ngamungkinkeun pikeun tabel misalna hiji embed operasi UPSERT na INSERT dina respon Lokasi, ngaéksekusi queries OPTIONS, sarta nerapkeun rojongan OpenAPI.
  • Liwat RPC POST diidinan nelepon fungsi sareng hiji parameter anu henteu namina.
  • Diidinan nelepon fungsi sareng hiji parameter JSON tanpa lulugu "Prefer: params = single-object".
  • Diidinan pikeun ngamuat data tina tipe bytea kana fungsi nganggo pamundut sareng "Content-Type: application / octet-stream".
  • Diidinan pikeun muka téks kana fungsi ngagunakeun queries kalawan "Content-Type: text/plain".
  • Ditambahkeun dukungan pikeun karakter lolos dina kurung ganda, contona, "? col = in. ("Double \" Quote"), ? col = in. ("Balik \\ slash").
  • Kamampuhan pikeun nyaring sumberdaya tingkat kahiji dumasar kana saringan anu diwangun ("/projects?select=*,clients!inner(*)&clients.id=eq.12" geus disadiakeun.
  • Operator "nyaéta" ngamungkinkeun nilai "teu dipikanyaho".
  • Kasaluyuan sareng PostgreSQL 14 parantos dihontal sareng dukungan pikeun PostgreSQL 9.5 parantos dileungitkeun.

sumber: opennet.ru

Tambahkeun komentar