{"id":25738,"date":"2025-07-12T18:15:25","date_gmt":"2025-07-12T15:15:25","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/"},"modified":"2025-07-12T18:15:25","modified_gmt":"2025-07-12T15:15:25","slug":"postgresql-yasi-gun-olarak-hesaplama","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/","title":{"rendered":"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama"},"content":{"rendered":"<p># PostgreSQL&#8217;de Ya\u015f\u0131n G\u00fcn Cinsinden Hesaplanmas\u0131: Tam Bir K\u0131lavuz<\/p>\n<p>PostgreSQL veritaban\u0131n\u0131zda saklad\u0131\u011f\u0131n\u0131z do\u011fum tarihlerinden ya\u015f hesaplamak istiyorsunuz, ancak sadece y\u0131l de\u011fil, g\u00fcn cinsinden hassas bir sonu\u00e7 elde etmeniz gerekiyor mu?  Bu makale, PostgreSQL kullanarak ya\u015f hesaplamas\u0131n\u0131n temellerinden ileri d\u00fczey optimizasyon tekniklerine kadar ad\u0131m ad\u0131m bir rehber sunuyor.  Do\u011fum tarihlerinden g\u00fcn baz\u0131nda ya\u015f hesaplama y\u00f6ntemlerini, ger\u00e7ek d\u00fcnya \u00f6rneklerini ve performans iyile\u015ftirme stratejilerini ke\u015ffedece\u011fiz.  Veri analizi ve raporlamada ya\u015f bilgisinin \u00f6nemini g\u00f6z \u00f6n\u00fcnde bulundurarak, bu rehber size PostgreSQL&#8217;de ya\u015f hesaplama konusunda uzmanla\u015fman\u0131za yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<p><strong>PostgreSQL&#8217;de Ya\u015f Hesaplama: \u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p>Bu rehber, PostgreSQL&#8217;de ya\u015f hesaplamas\u0131n\u0131 \u00f6\u011frenmenizi \u00fc\u00e7 a\u015famada ele al\u0131yor:<\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong>  Temel fonksiyonlar ve basit bir ya\u015f hesaplama sorgusu ile ba\u015fl\u0131yoruz.<\/p>\n<p><strong>Orta Seviye:<\/strong> Ger\u00e7ek d\u00fcnya senaryolar\u0131na y\u00f6nelik \u00f6rnekler ve performans optimizasyon ipu\u00e7lar\u0131 ele al\u0131n\u0131yor.<\/p>\n<p><strong>\u0130leri Seviye:<\/strong> Performans analizi, s\u0131n\u0131r durumlar\u0131 (edge cases) ve daha karma\u015f\u0131k sorgulama teknikleri inceleniyor.<\/p>\n<p><strong>1. Temel Kavramlar: Tarih ve Zaman Fonksiyonlar\u0131<\/strong><\/p>\n<p>PostgreSQL, tarih ve zaman verileriyle \u00e7al\u0131\u015fmak i\u00e7in g\u00fc\u00e7l\u00fc fonksiyonlar sunar. Ya\u015f hesaplamas\u0131nda en \u00e7ok kullanaca\u011f\u0131m\u0131z fonksiyonlar <code class=\"language-\">age()<\/code>, <code class=\"language-\">date_part()<\/code>, <code class=\"language-\">now()<\/code> ve <code class=\"language-\">extract()<\/code>&#8216;tir.<\/p>\n<p>* <strong><code class=\"language-\">age(timestamp)<\/code>:<\/strong>  Belirtilen zaman damgas\u0131ndan bug\u00fcne kadar ge\u00e7en s\u00fcreyi <code class=\"language-\">interval<\/code> tipi olarak d\u00f6nd\u00fcr\u00fcr.  \u00d6rne\u011fin, <code class=\"language-\">age('2000-01-15')<\/code> bug\u00fcne kadar ge\u00e7en s\u00fcreyi g\u00f6sterir.<\/p>\n<p>* <strong><code class=\"language-\">date_part('unit', timestamp)<\/code>:<\/strong>  Zaman damgas\u0131ndan belirli bir zaman birimini (\u00f6rne\u011fin, &#8216;year&#8217;, &#8216;month&#8217;, &#8216;day&#8217;) ay\u0131klar.  <code class=\"language-\">date_part('day', '2024-10-27')<\/code>  27 de\u011ferini d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p>* <strong><code class=\"language-\">now()<\/code>:<\/strong>  Mevcut tarih ve zaman\u0131 d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p>* <strong><code class=\"language-\">extract(field FROM timestamp)<\/code>:<\/strong> <code class=\"language-\">date_part<\/code> fonksiyonuna benzer \u015fekilde, zaman damgas\u0131ndan belirli bir alan\u0131 (field) ay\u0131klar.<\/p>\n<p><strong>2.  PostgreSQL&#8217;de Ya\u015f\u0131n G\u00fcn Cinsinden Hesaplanmas\u0131: Yeni Ba\u015flayanlar \u0130\u00e7in Ad\u0131m Ad\u0131m K\u0131lavuz<\/strong><\/p>\n<p>\u00d6ncelikle, basit bir tablo olu\u015ftural\u0131m:<\/p>\n<pre class=\"language-sql\"><code>CREATE TABLE kisiler (\n    id SERIAL PRIMARY KEY,\n    ad VARCHAR(255),\n    dogum_tarihi DATE\n);\n\nINSERT INTO kisiler (ad, dogum_tarihi) VALUES\n('Ahmet', '1990-05-10'),\n('Ay\u015fe', '1995-12-25'),\n('Mehmet', '2002-08-18');<\/code><\/pre>\n<p>\u015eimdi, <code class=\"language-\">age()<\/code> fonksiyonunu kullanarak ya\u015f hesaplayal\u0131m:<\/p>\n<pre class=\"language-sql\"><code>SELECT ad, age(dogum_tarihi) AS yas FROM kisiler;<\/code><\/pre>\n<p>Bu sorgu, her ki\u015finin ad\u0131n\u0131 ve do\u011fum tarihinden bug\u00fcne kadar ge\u00e7en s\u00fcreyi <code class=\"language-\">interval<\/code> tipi olarak d\u00f6nd\u00fcr\u00fcr.  Ancak g\u00fcn cinsinden kesin bir de\u011fer elde etmek i\u00e7in <code class=\"language-\">extract()<\/code> fonksiyonunu kullanmal\u0131y\u0131z:<\/p>\n<pre class=\"language-sql\"><code>SELECT ad, \n       extract(day from age(dogum_tarihi)) as yas_gun FROM kisiler;<\/code><\/pre>\n<p>Bu sorgu, her ki\u015finin ad\u0131n\u0131 ve ya\u015f\u0131n\u0131 g\u00fcn cinsinden g\u00f6sterir. Ancak, bu y\u00f6ntem sadece do\u011fum tarihinden bug\u00fcne kadar ge\u00e7en tam g\u00fcn say\u0131s\u0131n\u0131 verir.  Y\u0131l, ay bilgilerini de hesaba katmam\u0131z gerekiyor.  Daha do\u011fru bir hesaplama i\u00e7in a\u015fa\u011f\u0131daki y\u00f6ntemi kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>SELECT ad, (now()::date - dogum_tarihi) AS yas_gun FROM kisiler;<\/code><\/pre>\n<p>Bu sorgu, <code class=\"language-\">now()<\/code> fonksiyonunun d\u00f6nd\u00fcrd\u00fc\u011f\u00fc tarihi, <code class=\"language-\">dogum_tarihi<\/code>nden \u00e7\u0131kararak g\u00fcn cinsinden ya\u015f hesaplar. <code class=\"language-\">::date<\/code> d\u00f6n\u00fc\u015f\u00fcm\u00fc ile <code class=\"language-\">now()<\/code> fonksiyonunun d\u00f6nd\u00fcrd\u00fc\u011f\u00fc timestamp de\u011ferini sadece tarih k\u0131sm\u0131na d\u00f6n\u00fc\u015ft\u00fcr\u00fcyoruz.<\/p>\n<p><strong>3. Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve Optimizasyon \u0130pu\u00e7lar\u0131: Orta Seviye<\/strong><\/p>\n<p>Bir hastanede hasta kay\u0131tlar\u0131n\u0131 tutan bir veritaban\u0131 d\u00fc\u015f\u00fcnelim.  Hastalar\u0131n do\u011fum tarihlerini kullanarak, belirli bir ya\u015f aral\u0131\u011f\u0131ndaki hastalar\u0131n say\u0131s\u0131n\u0131 \u00f6\u011frenmek isteyebiliriz.<\/p>\n<pre class=\"language-sql\"><code>SELECT COUNT(*) FROM kisiler WHERE (now()::date - dogum_tarihi) BETWEEN 3650 AND 7300; -- 10-20 ya\u015f aras\u0131<\/code><\/pre>\n<p>Bu sorgu, 10 ile 20 ya\u015f aras\u0131ndaki hastalar\u0131n say\u0131s\u0131n\u0131 hesaplar (yakla\u015f\u0131k olarak, 365 g\u00fcn yakla\u015f\u0131k 1 y\u0131l kabul edilerek).  Daha hassas bir hesaplama i\u00e7in, <code class=\"language-\">age()<\/code> fonksiyonunu kullanarak y\u0131l, ay ve g\u00fcn bilgilerini ayr\u0131 ayr\u0131 inceleyip daha karma\u015f\u0131k ko\u015fullar belirleyebilirsiniz.<\/p>\n<p><strong>Optimizasyon \u0130pu\u00e7lar\u0131:<\/strong><\/p>\n<p>* <strong>\u0130ndeksler:<\/strong> <code class=\"language-\">dogum_tarihi<\/code> s\u00fctununa bir indeks eklemek, ya\u015f hesaplama sorgular\u0131n\u0131n performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<br \/>\n* <strong>Fonksiyonel \u0130ndeksler:<\/strong>  <code class=\"language-\">now()::date - dogum_tarihi<\/code> ifadesi \u00fczerinde fonksiyonel bir indeks olu\u015fturmak da faydal\u0131 olabilir. Ancak bu indeks, sadece bu ifadeyi kullanan sorgular i\u00e7in performans art\u0131\u015f\u0131 sa\u011flayacakt\u0131r.<br \/>\n* <strong>G\u00f6r\u00fcn\u00fcm (View) Kullan\u0131m\u0131:<\/strong>  S\u0131k\u00e7a kullan\u0131lan ya\u015f hesaplama sorgular\u0131n\u0131 bir g\u00f6r\u00fcn\u00fcm (view) olarak tan\u0131mlayarak, sorgular\u0131 basitle\u015ftirebilir ve performans\u0131 iyile\u015ftirebilirsiniz.<\/p>\n<p><strong>4. Performans Analizi ve S\u0131n\u0131r Durumlar\u0131 (Edge Cases): \u0130leri Seviye<\/strong><\/p>\n<p>B\u00fcy\u00fck veri k\u00fcmeleri i\u00e7in ya\u015f hesaplama sorgular\u0131n\u0131n performans\u0131n\u0131 analiz etmek \u00f6nemlidir.  <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutu, sorgunun y\u00fcr\u00fctme plan\u0131n\u0131 ve s\u00fcresini g\u00f6sterir.  Bu bilgiyi kullanarak, sorgular\u0131n\u0131z\u0131 optimize edebilirsiniz.<\/p>\n<p><strong>S\u0131n\u0131r Durumlar\u0131:<\/strong><\/p>\n<p>* <strong>Gelecek Tarihler:<\/strong>  Do\u011fum tarihi gelecekteki bir tarihse, <code class=\"language-\">age()<\/code> fonksiyonu negatif bir <code class=\"language-\">interval<\/code> de\u011feri d\u00f6nd\u00fcr\u00fcr.  Bu durumlar\u0131 ele almak i\u00e7in, sorgular\u0131n\u0131zda uygun kontrol mekanizmalar\u0131 eklemelisiniz.<br \/>\n* <strong>Kay\u0131p Veriler:<\/strong>  Do\u011fum tarihi eksik olan kay\u0131tlar i\u00e7in, <code class=\"language-\">NULL<\/code> de\u011ferlerini nas\u0131l ele alaca\u011f\u0131n\u0131z\u0131 belirlemelisiniz.  <code class=\"language-\">COALESCE()<\/code> fonksiyonu, <code class=\"language-\">NULL<\/code> de\u011ferlerini bir varsay\u0131lan de\u011ferle de\u011fi\u015ftirebilir.<\/p>\n<p>\u00d6rne\u011fin, gelecek tarihleri ve NULL de\u011ferleri i\u00e7in a\u015fa\u011f\u0131daki sorguyu kullanabilirsiniz:<\/p>\n<pre class=\"language-sql\"><code>SELECT ad, \n       CASE \n           WHEN dogum_tarihi &gt; now()::date THEN 'Gelecek Tarih' \n           ELSE (now()::date - COALESCE(dogum_tarihi, now()::date))::INT \n       END AS yas_gun\nFROM kisiler;<\/code><\/pre>\n<p><strong>5.  PostgreSQL Ya\u015f Hesaplama: Uygulama \u00d6rnekleri ve Kod Bloklar\u0131<\/strong><\/p>\n<p><strong>\u00d6rnek 1: Belirli bir ya\u015f aral\u0131\u011f\u0131nda ka\u00e7 ki\u015fi var?<\/strong><\/p>\n<pre class=\"language-sql\"><code>SELECT COUNT(*) FROM kisiler WHERE (now()::date - dogum_tarihi) BETWEEN 7300 AND 10950; -- 20-30 ya\u015f aras\u0131<\/code><\/pre>\n<p><strong>\u00d6rnek 2: Her ay do\u011fan ki\u015fi say\u0131s\u0131:<\/strong><\/p>\n<pre class=\"language-sql\"><code>SELECT EXTRACT(MONTH FROM dogum_tarihi) AS ay, COUNT(*) AS kisi_sayisi\nFROM kisiler\nGROUP BY ay\nORDER BY ay;<\/code><\/pre>\n<p><strong>\u00d6rnek 3: En ya\u015fl\u0131 ki\u015fi:<\/strong><\/p>\n<pre class=\"language-sql\"><code>SELECT ad, dogum_tarihi FROM kisiler ORDER BY dogum_tarihi LIMIT 1;<\/code><\/pre>\n<p><strong>6.  PostgreSQL&#8217;de Ya\u015f Hesaplaman\u0131n Performans\u0131n\u0131 Art\u0131rma Stratejileri<\/strong><\/p>\n<p>Veri b\u00fcy\u00fckl\u00fc\u011f\u00fc artt\u0131k\u00e7a, ya\u015f hesaplama sorgular\u0131n\u0131n performans\u0131 d\u00fc\u015febilir.  Bunun \u00f6n\u00fcne ge\u00e7mek i\u00e7in a\u015fa\u011f\u0131daki stratejileri kullanabilirsiniz:<\/p>\n<p>* <strong>\u0130ndeksler:<\/strong> <code class=\"language-\">dogum_tarihi<\/code> s\u00fctununa bir indeks olu\u015fturmak, sorgular\u0131n h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<br \/>\n* <strong>Materialized Views:<\/strong>  S\u0131k\u00e7a sorgulad\u0131\u011f\u0131n\u0131z ya\u015f aral\u0131klar\u0131 i\u00e7in materialized views olu\u015fturarak performans art\u0131\u015f\u0131 sa\u011flayabilirsiniz.  Bu views, \u00f6nceden hesaplanm\u0131\u015f sonu\u00e7lar\u0131 saklar ve sorgular\u0131n daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<br \/>\n* <strong>Par\u00e7alama (Partitioning):<\/strong>  B\u00fcy\u00fck tablolar\u0131, do\u011fum y\u0131l\u0131na g\u00f6re par\u00e7alara ay\u0131rmak, ilgili verilerin daha h\u0131zl\u0131 eri\u015filebilir olmas\u0131n\u0131 sa\u011flar.<br \/>\n* <strong>Veri Tipleri:<\/strong>  Do\u011fum tarihlerini uygun veri tipi (DATE) ile saklamak, performans\u0131 art\u0131r\u0131r.<\/p>\n<p><strong>7. Sonu\u00e7<\/strong><\/p>\n<p>Bu makale, PostgreSQL&#8217;de ya\u015f\u0131n g\u00fcn cinsinden hesaplanmas\u0131 konusunda kapsaml\u0131 bir rehber sunmu\u015ftur.  Temel fonksiyonlardan ileri d\u00fczey optimizasyon tekniklerine kadar \u00e7e\u015fitli y\u00f6ntemler ve ger\u00e7ek d\u00fcnya \u00f6rnekleri ile konuyu detayl\u0131 bir \u015fekilde ele ald\u0131k.  Do\u011fru indeksleme, materialized views ve par\u00e7alama gibi stratejiler kullanarak, performans\u0131 en \u00fcst d\u00fczeye \u00e7\u0131karabilirsiniz.  Unutmay\u0131n ki, veritaban\u0131n\u0131z\u0131n b\u00fcy\u00fckl\u00fc\u011f\u00fc ve sorgu karma\u015f\u0131kl\u0131\u011f\u0131, performans \u00fczerinde \u00f6nemli bir etkiye sahiptir.  Bu nedenle, veritaban\u0131n\u0131z\u0131n yap\u0131s\u0131n\u0131 ve sorgu ihtiya\u00e7lar\u0131n\u0131z\u0131 dikkatlice analiz etmek ve en uygun stratejiyi se\u00e7mek \u00f6nemlidir.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong>PostgreSQL&#8217;de negatif ya\u015f nas\u0131l hesaplan\u0131r?<\/strong>  Do\u011fum tarihi gelecekteki bir tarih ise, <code class=\"language-\">age()<\/code> fonksiyonu negatif bir <code class=\"language-\">interval<\/code> de\u011feri d\u00f6nd\u00fcr\u00fcr.  Bu durumu kontrol etmek i\u00e7in ko\u015fullu ifadeler kullanabilirsiniz.<\/p>\n<p>2. <strong><code class=\"language-\">age()<\/code> fonksiyonu ile <code class=\"language-\">now()::date - dogum_tarihi<\/code> aras\u0131ndaki fark nedir?<\/strong>  <code class=\"language-\">age()<\/code> fonksiyonu, bir <code class=\"language-\">interval<\/code> tipi de\u011fer d\u00f6nd\u00fcr\u00fcrken, ikinci y\u00f6ntem do\u011frudan g\u00fcn say\u0131s\u0131n\u0131 verir.  \u0130kinci y\u00f6ntem, daha basit ve baz\u0131 durumlarda daha performansl\u0131 olabilir.<\/p>\n<p>3. <strong>Ya\u015f hesaplamas\u0131nda performans\u0131 nas\u0131l iyile\u015ftirebilirim?<\/strong> \u0130ndeksler, materialized views ve par\u00e7alama gibi teknikleri kullanarak performans\u0131 art\u0131rabilirsiniz.<\/p>\n<p>4. <strong>NULL do\u011fum tarihlerini nas\u0131l ele alabilirim?<\/strong> <code class=\"language-\">COALESCE()<\/code> fonksiyonu ile NULL de\u011ferlerini bir varsay\u0131lan de\u011ferle de\u011fi\u015ftirebilirsiniz.<\/p>\n<p>5. <strong>Farkl\u0131 ya\u015f aral\u0131klar\u0131n\u0131 nas\u0131l sorgulayabilirim?<\/strong> <code class=\"language-\">BETWEEN<\/code> operat\u00f6r\u00fc veya <code class=\"language-\">CASE<\/code> ifadeleri kullanarak farkl\u0131 ya\u015f aral\u0131klar\u0131n\u0131 sorgulayabilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de Ya\u015f\u0131n G\u00fcn Cinsinden Hesaplanmas\u0131: Tam Bir K\u0131lavuz PostgreSQL veritaban\u0131n\u0131zda saklad\u0131\u011f\u0131n\u0131z do\u011fum tarihlerinden ya\u015f hesaplamak istiyorsunuz, ancak&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[644],"tags":[],"class_list":{"0":"post-25738","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-postgresql","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama<\/title>\n<meta name=\"description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-12T15:15:25+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama\",\"datePublished\":\"2025-07-12T15:15:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/\"},\"wordCount\":1163,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"PostgreSQL\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/\",\"name\":\"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-07-12T15:15:25+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama","description":"Hi\u00e7bir etiketi bulunamad\u0131.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-07-12T15:15:25+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"7 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama","datePublished":"2025-07-12T15:15:25+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/"},"wordCount":1163,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["PostgreSQL"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/","name":"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-07-12T15:15:25+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-yasi-gun-olarak-hesaplama\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: Ya\u015f\u0131 G\u00fcn Olarak Hesaplama"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/25738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=25738"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/25738\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=25738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=25738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=25738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}