{"id":27715,"date":"2025-08-18T00:15:21","date_gmt":"2025-08-17T21:15:21","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/"},"modified":"2025-08-18T00:15:21","modified_gmt":"2025-08-17T21:15:21","slug":"postgresql-onceki-ayin-son-gununu-nasil-bulurum","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/","title":{"rendered":"PostgreSQL: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum"},"content":{"rendered":"<p># PostgreSQL&#8217;de \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Buluruz?<\/p>\n<p>\u00d6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc bulmak, raporlama, veri analizi ve zaman serisi verileriyle \u00e7al\u0131\u015fan bir\u00e7ok PostgreSQL uygulamas\u0131nda s\u0131k\u00e7a ihtiya\u00e7 duyulan bir i\u015flemdir.  Bu makalede, PostgreSQL&#8217;de \u00f6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc bulman\u0131n farkl\u0131 y\u00f6ntemlerini, performans optimizasyonunu ve ger\u00e7ek d\u00fcnya senaryolar\u0131n\u0131 ad\u0131m ad\u0131m ele alaca\u011f\u0131z.  Yeni ba\u015flayanlardan ileri seviye kullan\u0131c\u0131lara kadar herkesin anlayabilece\u011fi bir rehber sunmay\u0131 ama\u00e7l\u0131yoruz.  PostgreSQL&#8217;in g\u00fc\u00e7l\u00fc tarih ve zaman fonksiyonlar\u0131n\u0131 kullanarak bu i\u015flemi nas\u0131l verimli bir \u015fekilde ger\u00e7ekle\u015ftirebilece\u011finizi \u00f6\u011freneceksiniz.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131:<\/strong><\/p>\n<p>* <strong>Yeni Ba\u015flayan:<\/strong>  <code class=\"language-\">date_trunc()<\/code> ve <code class=\"language-\">interval<\/code> fonksiyonlar\u0131n\u0131n temel kullan\u0131m\u0131 ile basit bir sorgu.<br \/>\n* <strong>Orta:<\/strong> Ger\u00e7ek d\u00fcnya senaryolar\u0131, farkl\u0131 zaman dilimlerinin etkisi ve performans optimizasyonu ipu\u00e7lar\u0131.<br \/>\n* <strong>\u0130leri D\u00fczey:<\/strong> Performans analizi, edge case&#8217;ler (\u00f6rne\u011fin, \u015fubat ay\u0131) ve karma\u015f\u0131k sorgu optimizasyonu teknikleri.<\/p>\n<p><strong>PostgreSQL Tarih ve Zaman Fonksiyonlar\u0131na Giri\u015f<\/strong><\/p>\n<p>PostgreSQL, tarih ve zaman verileriyle \u00e7al\u0131\u015fmak i\u00e7in g\u00fc\u00e7l\u00fc fonksiyonlar sunar.  Bu fonksiyonlar, tarihsel verilerin i\u015flenmesi, raporlama ve veri analizi gibi bir\u00e7ok alanda kritik \u00f6neme sahiptir.  \u00d6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc bulmak i\u00e7in temel olarak <code class=\"language-\">date_trunc()<\/code> ve <code class=\"language-\">interval<\/code> fonksiyonlar\u0131n\u0131 kullanaca\u011f\u0131z.  <code class=\"language-\">date_trunc()<\/code> fonksiyonu, bir tarih de\u011ferini belirli bir zaman birimine (ay, y\u0131l, g\u00fcn vb.) yuvarlar. <code class=\"language-\">interval<\/code> ise tarih ve zamana belirli bir s\u00fcre ekleme veya \u00e7\u0131karma i\u015flemi yapmam\u0131z\u0131 sa\u011flar.<\/p>\n<p><strong>\u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Bulman\u0131n Temel Y\u00f6ntemi (Yeni Ba\u015flayan)<\/strong><\/p>\n<p>En basit y\u00f6ntem, <code class=\"language-\">date_trunc()<\/code> fonksiyonuyla mevcut tarihi ay ba\u015flang\u0131c\u0131na yuvarlay\u0131p, bir ay geriye gitmek ve ard\u0131ndan bir g\u00fcn eklemektir.  A\u015fa\u011f\u0131daki sorgu, bu i\u015flemi ger\u00e7ekle\u015ftirir:<\/p>\n<pre class=\"language-sql\"><code>SELECT (date_trunc('month', CURRENT_DATE) - interval '1 month') + interval '1 month - 1 day';<\/code><\/pre>\n<p>Bu sorgu \u00f6ncelikle <code class=\"language-\">CURRENT_DATE<\/code> fonksiyonu ile bug\u00fcn\u00fcn tarihini al\u0131r.  <code class=\"language-\">date_trunc('month', CURRENT_DATE)<\/code> ile bu tarihi ay\u0131n ba\u015flang\u0131c\u0131na yuvarlar. Daha sonra <code class=\"language-\">interval '1 month'<\/code> ile bir ay geriye gider ve son olarak <code class=\"language-\">interval '1 month - 1 day'<\/code> ile bir ay\u0131n son g\u00fcn\u00fcne ula\u015f\u0131r.  Bu y\u00f6ntem, \u00f6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc do\u011fru bir \u015fekilde hesaplar.<\/p>\n<p><strong>Ger\u00e7ek D\u00fcnya Senaryolar\u0131 ve Optimizasyon \u0130pu\u00e7lar\u0131 (Orta Seviye)<\/strong><\/p>\n<p>\u015eimdi, daha ger\u00e7ek\u00e7i senaryolara bakal\u0131m.  \u00d6rne\u011fin, bir e-ticaret sitesindeki \u00f6nceki ay\u0131n sat\u0131\u015flar\u0131n\u0131 hesaplamak istedi\u011fimizi d\u00fc\u015f\u00fcnelim.  A\u015fa\u011f\u0131daki sorgu, <code class=\"language-\">orders<\/code> tablosundaki \u00f6nceki ay\u0131n son g\u00fcn\u00fcnde yap\u0131lan sat\u0131\u015flar\u0131 getirir:<\/p>\n<pre class=\"language-sql\"><code>SELECT *\nFROM orders\nWHERE order_date &gt;= (date_trunc('month', CURRENT_DATE) - interval '1 month')\n  AND order_date &lt;= (date_trunc('month', CURRENT_DATE) - interval '1 day');<\/code><\/pre>\n<p>Bu sorgu, <code class=\"language-\">order_date<\/code> s\u00fctununu kullanarak \u00f6nceki ay\u0131n ba\u015flang\u0131\u00e7 ve biti\u015f tarihlerini filtreler.  Burada performans optimizasyonu i\u00e7in, <code class=\"language-\">order_date<\/code> s\u00fctununa bir indeks eklemek \u00f6nemlidir.  Bu, sorgunun veritaban\u0131nda daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayacakt\u0131r.  Ayr\u0131ca, \u00e7ok b\u00fcy\u00fck veritabanlar\u0131nda, <code class=\"language-\">date_trunc()<\/code> fonksiyonunun performans\u0131n\u0131 iyile\u015ftirmek i\u00e7in, \u00f6nceden hesaplanm\u0131\u015f bir tarih s\u00fctunu eklemek faydal\u0131 olabilir.  Bu s\u00fctun, her kayd\u0131n ay ba\u015flang\u0131\u00e7 tarihini saklayabilir ve sorgularda bu s\u00fctunu kullanabiliriz.  Bu sayede <code class=\"language-\">date_trunc()<\/code> fonksiyonunun her sat\u0131r i\u00e7in tekrar tekrar \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131n \u00f6n\u00fcne ge\u00e7ebiliriz.<\/p>\n<p><strong>Farkl\u0131 Zaman Dilimlerinin Etkisi<\/strong><\/p>\n<p>Veritaban\u0131n\u0131z farkl\u0131 zaman dilimlerini kullan\u0131yorsa, <code class=\"language-\">CURRENT_DATE<\/code> fonksiyonunun d\u00f6nd\u00fcrd\u00fc\u011f\u00fc tarih, sunucunun zaman dilimine g\u00f6re olacakt\u0131r.  Bu nedenle, farkl\u0131 zaman dilimlerindeki verilerle \u00e7al\u0131\u015f\u0131rken dikkatli olmak ve gerekti\u011finde zaman dilimini a\u00e7\u0131k\u00e7a belirtmek \u00f6nemlidir.  \u00d6rne\u011fin, belirli bir zaman dilimindeki \u00f6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc bulmak i\u00e7in <code class=\"language-\">AT TIME ZONE<\/code> klavuzu kullan\u0131labilir.<\/p>\n<p><strong>Performans Analizi ve Edge Case&#8217;ler (\u0130leri Seviye)<\/strong><\/p>\n<p>\u00c7ok b\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken, sorgular\u0131n performans\u0131n\u0131 analiz etmek ve optimize etmek kritik \u00f6neme sahiptir.  PostgreSQL&#8217;in sundu\u011fu <code class=\"language-\">EXPLAIN<\/code> komutu, sorgular\u0131n y\u00fcr\u00fctme plan\u0131n\u0131 g\u00f6stererek performans darbo\u011fazlar\u0131n\u0131 belirlemede yard\u0131mc\u0131 olur.  \u00d6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc bulma sorgusunun performans\u0131n\u0131 analiz etmek i\u00e7in <code class=\"language-\">EXPLAIN<\/code> komutunu kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>EXPLAIN SELECT (date_trunc('month', CURRENT_DATE) - interval '1 month') + interval '1 month - 1 day';<\/code><\/pre>\n<p>Bu komut, sorgunun nas\u0131l y\u00fcr\u00fct\u00fcld\u00fc\u011f\u00fcn\u00fc g\u00f6sterir ve indeks eksikli\u011fi gibi performans sorunlar\u0131n\u0131 tespit etmemize yard\u0131mc\u0131 olur.<\/p>\n<p>Edge case&#8217;ler, \u00f6zellikle \u015fubat ay\u0131 gibi de\u011fi\u015fken uzunluklu aylar s\u00f6z konusu oldu\u011funda dikkate al\u0131nmal\u0131d\u0131r.  Yukar\u0131daki y\u00f6ntemler, \u015fubat ay\u0131 dahil t\u00fcm aylar i\u00e7in do\u011fru sonu\u00e7lar\u0131 verir. Ancak, \u00e7ok karma\u015f\u0131k sorgu yap\u0131lar\u0131nda, olas\u0131 hatalar\u0131 \u00f6nlemek i\u00e7in ek kontroller eklemek faydal\u0131 olabilir.<\/p>\n<p><strong>PostgreSQL&#8217;de \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Bulmak \u0130\u00e7in Fonksiyon Olu\u015fturma<\/strong><\/p>\n<p>Daha okunabilir ve yeniden kullan\u0131labilir bir \u00e7\u00f6z\u00fcm i\u00e7in, \u00f6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc hesaplayan bir fonksiyon olu\u015fturabiliriz:<\/p>\n<pre class=\"language-sql\"><code>CREATE OR REPLACE FUNCTION last_day_of_previous_month()\nRETURNS DATE AS $$\nBEGIN\n  RETURN (date_trunc('month', CURRENT_DATE) - interval '1 month') + interval '1 month - 1 day';\nEND;\n$$ LANGUAGE plpgsql;\n\nSELECT last_day_of_previous_month();<\/code><\/pre>\n<p>Bu fonksiyon, her \u00e7a\u011fr\u0131ld\u0131\u011f\u0131nda \u00f6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc hesaplar ve daha temiz bir kod yap\u0131s\u0131 sa\u011flar.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>PostgreSQL&#8217;de \u00f6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc bulmak i\u00e7in \u00e7e\u015fitli y\u00f6ntemler mevcuttur.  Basit sorgulardan karma\u015f\u0131k fonksiyonlara kadar, ihtiyac\u0131n\u0131za en uygun y\u00f6ntemi se\u00e7ebilirsiniz.  Performans optimizasyonu i\u00e7in indeksleme, \u00f6nceden hesaplanm\u0131\u015f s\u00fctunlar ve <code class=\"language-\">EXPLAIN<\/code> komutunu kullanmak \u00f6nemlidir.  Farkl\u0131 zaman dilimlerinin ve edge case&#8217;lerin etkilerini dikkate alarak, verilerinizin do\u011frulu\u011funu ve sorgular\u0131n\u0131z\u0131n verimlili\u011fini sa\u011flayabilirsiniz.  Bu makalede ele al\u0131nan y\u00f6ntemler ve \u00f6rnekler, PostgreSQL&#8217;de tarih ve zaman verileriyle \u00e7al\u0131\u015f\u0131rken size yol g\u00f6sterecektir.  Daha fazla bilgi i\u00e7in [Fatih Soysal&#8217;\u0131n bloguna](https:\/\/fatihsoysal.com) g\u00f6z atabilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong>\u00d6nceki ay\u0131n son g\u00fcn\u00fc her zaman ayn\u0131 m\u0131d\u0131r?<\/strong> Hay\u0131r, aylardaki g\u00fcn say\u0131s\u0131 farkl\u0131 oldu\u011fundan, \u00f6nceki ay\u0131n son g\u00fcn\u00fc her zaman ayn\u0131 de\u011fildir.<br \/>\n2. <strong>\u00c7ok b\u00fcy\u00fck veritabanlar\u0131nda performans\u0131 nas\u0131l iyile\u015ftirebilirim?<\/strong> \u0130ndeksleme, \u00f6nceden hesaplanm\u0131\u015f s\u00fctunlar ve sorgular\u0131 optimize etmek i\u00e7in <code class=\"language-\">EXPLAIN<\/code> komutunu kullanabilirsiniz.<br \/>\n3. <strong>Farkl\u0131 zaman dilimlerini nas\u0131l ele alabilirim?<\/strong> <code class=\"language-\">AT TIME ZONE<\/code> klavuzu ile zaman dilimini a\u00e7\u0131k\u00e7a belirtebilirsiniz.<br \/>\n4. <strong>\u015eubat ay\u0131 i\u00e7in \u00f6zel bir i\u015flem yapmam gerekiyor mu?<\/strong> Hay\u0131r, yukar\u0131daki y\u00f6ntemler \u015fubat ay\u0131 dahil t\u00fcm aylar i\u00e7in do\u011fru sonu\u00e7lar\u0131 verir.<br \/>\n5. <strong>Bu y\u00f6ntemler di\u011fer veritaban\u0131 sistemlerinde de kullan\u0131labilir mi?<\/strong> Hay\u0131r, bu y\u00f6ntemler PostgreSQL&#8217;in \u00f6zel fonksiyonlar\u0131n\u0131 kulland\u0131\u011f\u0131 i\u00e7in di\u011fer veritaban\u0131 sistemlerinde do\u011frudan kullan\u0131lamaz.  Ancak, benzer fonksiyonlar di\u011fer veritabanlar\u0131nda da mevcut olabilir.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Buluruz? \u00d6nceki ay\u0131n son g\u00fcn\u00fcn\u00fc bulmak, raporlama, veri analizi ve zaman&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-27715","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: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum<\/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-onceki-ayin-son-gununu-nasil-bulurum\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-17T21:15:21+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=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum\",\"datePublished\":\"2025-08-17T21:15:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/\"},\"wordCount\":1039,\"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-onceki-ayin-son-gununu-nasil-bulurum\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/\",\"name\":\"PostgreSQL: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-17T21:15:21+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum\"}]},{\"@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: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum","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-onceki-ayin-son-gununu-nasil-bulurum\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-17T21:15:21+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum","datePublished":"2025-08-17T21:15:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/"},"wordCount":1039,"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-onceki-ayin-son-gununu-nasil-bulurum\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/","name":"PostgreSQL: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-17T21:15:21+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-onceki-ayin-son-gununu-nasil-bulurum\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: \u00d6nceki Ay\u0131n Son G\u00fcn\u00fcn\u00fc Nas\u0131l Bulurum"}]},{"@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\/27715","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=27715"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27715\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}