PgDog, PostgreSQL ölçeklendirme için bir proxy görevi görüyor ve SQL sorgularını ayrıştırmak için libpg_query kullanıyor. Rust ile yazılan PgDog, libpg_query'nin Rust bağlayıcılarını kullanıyor. Bu bağlayıcılar, farklı programlama dilleri arasında uyumluluk sağlamak amacıyla Protobuf (serileştirme/seri kaldırma) teknolojisinden faydalanıyordu. Ancak Protobuf hızlı olsa da, doğrudan bağlayıcılar kadar hızlı değildi.
Bu performans darboğazını aşmak için pg_query.rs çatallandı ve Protobuf, bindgen ve Claude tarafından oluşturulan sarmalayıcılar aracılığıyla doğrudan C'den Rust'a (ve geri C'ye) bağlayıcılarla değiştirildi. Bu değişiklik, sorgu ayrıştırmada 5 kat, ayrıştırılan Postgres AST'nin SQL dizgesine dönüştürülmesinde ise neredeyse 10 kat hızlanma sağladı. Performans darboğazı, samply ve Firefox profiler kullanılarak pg_query_parse_protobuf fonksiyonunda tespit edilmişti.
Başlangıçta, bir önbellek (cache) ekleyerek sorunu çözme girişimi oldu. LRU algoritması ve hashmap tabanlı bu önbellek, çoğu durumda işe yarasa da, bazı ORM'lerin binlerce benzersiz ifade oluşturması veya eski PostgreSQL istemci sürücülerinin hazırlanmış ifadeleri desteklememesi gibi sorunlar nedeniyle yetersiz kaldı. Bu durum, Protobuf'u tamamen değiştirme ihtiyacını ortaya çıkardı.
Doğrudan C-Rust bağlayıcıları kullanarak Protobuf gibi aracı katmanları ortadan kaldırmak, veritabanı proxy'leri gibi performans kritik sistemlerde önemli hız artışları sağlayabilir.