Mert Özen Her Satırda Daha İleri

Blog

Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.

Seriler
5 yazı bulundu #npgsql
PostgreSQL'de Güvenlik ve Operasyon Temelleri: Role, GRANT, pg_hba, SCRAM, Backup ve Major Upgrade
Veritabanı SERİ 14

PostgreSQL'de Güvenlik ve Operasyon Temelleri: Role, GRANT, pg_hba, SCRAM, Backup ve Major Upgrade

PostgreSQL'de güvenlik üç role ile başlar: şemanın sahibi, yalnızca DML yapan uygulama ve bakım için superuser; default privileges yalnızca adı verilen rolün oluşturduğu nesnelere uygulanır. GRANT, pg_read_all_data, RLS, pg_hba.conf, SCRAM, Npgsql'de SSL Mode=VerifyFull, pg_dump/pg_restore ile restore testi, WAL arşiviyle PITR ve 18'in checksum ve istatistik değişiklikleriyle pg_upgrade.

14 Kas 2026 11 dk 4
EF Core ile PostgreSQL: Npgsql Provider, snake_case, Array/JSON Mapping, Enum, xmin Concurrency ve Migration Farkları
Veritabanı SERİ 12

EF Core ile PostgreSQL: Npgsql Provider, snake_case, Array/JSON Mapping, Enum, xmin Concurrency ve Migration Farkları

EF Core'u PostgreSQL'e taşımak UseNpgsql'den fazlası: karşılaştırma büyük/küçük harfe duyarlıdır ve SQL Server'da çalışan == araması sessizce boş döner. EFCore.NamingConventions ile snake_case, text[] ve @> çevirisi, jsonb'ye eşlenen complex type ve ExecuteUpdate ile jsonb_set, PostgreSQL enum, uuid v7, xmin ile concurrency token, generated tsvector ve CREATE INDEX CONCURRENTLY'nin migration'ı transaction dışına taşıması.

14 Kas 2026 10 dk 4
Npgsql ve Dapper ile PostgreSQL: NpgsqlDataSource, Type Mapping, COPY ve LISTEN/NOTIFY
Veritabanı SERİ 11

Npgsql ve Dapper ile PostgreSQL: NpgsqlDataSource, Type Mapping, COPY ve LISTEN/NOTIFY

.NET'ten PostgreSQL'e uygulama boyunca tek bir NpgsqlDataSource ile bağlanılır; timestamptz'ye yalnızca UTC değer yazılır, Dapper ise Kind'ı belirsiz DateTime'ı hata vermeden üç saat kaydırabilir. DI ve pool varsayılanları, = ANY(@ids), DateOnly ve jsonb, Dapper'ın enum'ı integer göndermesi, 100.000 satırda Execute, NpgsqlBatch ve binary COPY, otomatik prepare, LISTEN/NOTIFY ile cache invalidation ve OpenTelemetry.

14 Kas 2026 10 dk 4
PostgreSQL'de Transaction, Isolation ve Locking: Serializable SSI, SELECT FOR UPDATE SKIP LOCKED ve Advisory Lock
Veritabanı SERİ 09

PostgreSQL'de Transaction, Isolation ve Locking: Serializable SSI, SELECT FOR UPDATE SKIP LOCKED ve Advisory Lock

PostgreSQL'de okuyan yazanı hiçbir isolation level'da beklemez; REPEATABLE READ ve SERIALIZABLE çakışmayı kilitle değil 40001 hatasıyla çözer, bu yüzden retry şarttır. Lost update ve write skew denemeleri, foreign key'i bekleten FOR UPDATE yerine FOR NO KEY UPDATE, SKIP LOCKED ile dört worker'lı outbox relay, advisory lock, deadlock, ALTER TABLE'ın lock kuyruğu ve EF Core execution strategy ile retry.

14 Kas 2026 12 dk 3
PostgreSQL Nedir? SQL Server Geliştiricisi için Mimari: Process'ler, Shared Buffers, WAL ve MVCC
Veritabanı SERİ 01

PostgreSQL Nedir? SQL Server Geliştiricisi için Mimari: Process'ler, Shared Buffers, WAL ve MVCC

PostgreSQL her bağlantı için ayrı bir işletim sistemi process'i başlatır, belleğin çoğunu işletim sisteminin cache'ine bırakır ve bir satırın eski sürümünü ayrı bir version store'da değil tablonun içinde tutar; SQL Server bilen biri için farkların çoğu buradan çıkar. Gerçek çıktılarla postmaster ve backend'ler, 97. bağlantıdaki 53300 hatası, connection pool, shared_buffers, WAL ve checkpoint, xmin/xmax ile MVCC, kavram eşlemesi, lisans ve sürüm takvimi.

14 Kas 2026 17 dk 4
Blog Haritası