{"id":26453,"date":"2025-07-25T12:15:23","date_gmt":"2025-07-25T09:15:23","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/"},"modified":"2025-07-25T12:15:23","modified_gmt":"2025-07-25T09:15:23","slug":"postgresql-gecen-ayin-tum-satirlarini-secme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/","title":{"rendered":"PostgreSQL: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me"},"content":{"rendered":"<p># PostgreSQL&#8217;de Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me<\/p>\n<p>Ge\u00e7en ay\u0131n verilerini analiz etmek, i\u015f zekas\u0131 raporlar\u0131 olu\u015fturmak veya periyodik raporlama yapmak i\u00e7in s\u0131kl\u0131kla ihtiya\u00e7 duydu\u011fumuz bir i\u015flemdir.  PostgreSQL veritaban\u0131n\u0131z\u0131 kullanarak ge\u00e7en ay\u0131n t\u00fcm sat\u0131rlar\u0131n\u0131 nas\u0131l verimli ve do\u011fru bir \u015fekilde se\u00e7ebilece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz. Bu makale, yeni ba\u015flayanlardan ileri seviye kullan\u0131c\u0131lara kadar herkes i\u00e7in kapsaml\u0131 bir rehber niteli\u011findedir.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131:<\/strong><\/p>\n<p>* <strong>Yeni Ba\u015flayan:<\/strong> (Ad\u0131m ad\u0131m a\u00e7\u0131klama, Basit kod \u00f6rne\u011fi)<br \/>\n* <strong>Orta:<\/strong> (Ger\u00e7ek hayat \u00f6rne\u011fi, Optimizasyon ipu\u00e7lar\u0131)<br \/>\n* <strong>\u0130leri D\u00fczey:<\/strong> (Performans analizi, Edge caseler)<\/p>\n<p><strong>PostgreSQL Tarih Fonksiyonlar\u0131n\u0131 Anlamak<\/strong><\/p>\n<p>PostgreSQL, tarih ve zaman i\u015flemleri i\u00e7in g\u00fc\u00e7l\u00fc fonksiyonlar sunar.  Ge\u00e7en ay\u0131n verilerini se\u00e7mek i\u00e7in <code class=\"language-\">date_trunc<\/code>, <code class=\"language-\">age<\/code>, <code class=\"language-\">interval<\/code> gibi fonksiyonlar\u0131 kullanaca\u011f\u0131z.  \u00d6ncelikle bu fonksiyonlar\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 anlamak \u00f6nemlidir.<\/p>\n<p><code class=\"language-\">date_trunc<\/code>: Belirli bir zaman birimine g\u00f6re bir tarih de\u011ferini yuvarlar. \u00d6rne\u011fin, <code class=\"language-\">date_trunc('month', '2024-03-15'::date)<\/code> ifadesi, &#8216;2024-03-01&#8217; de\u011ferini d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p><code class=\"language-\">age<\/code>: \u0130ki tarih de\u011feri aras\u0131ndaki fark\u0131 hesaplar.  Sonu\u00e7, y\u0131l, ay ve g\u00fcn cinsinden bir <code class=\"language-\">interval<\/code> tipindedir.<\/p>\n<p><code class=\"language-\">interval<\/code>: S\u00fcreleri temsil eder.  \u00d6rne\u011fin, &#8216;1 month&#8217; bir ay s\u00fcresini, &#8216;-1 month&#8217; ise bir ay \u00f6nceki s\u00fcreyi temsil eder.<\/p>\n<p><strong>Ge\u00e7en Ay\u0131n Verilerini Se\u00e7me: Yeni Ba\u015flayanlar \u0130\u00e7in Ad\u0131m Ad\u0131m K\u0131lavuz<\/strong><\/p>\n<p>Diyelim ki, <code class=\"language-\">orders<\/code> ad\u0131nda bir tablomuz var ve bu tabloda <code class=\"language-\">order_date<\/code> ad\u0131nda bir tarih s\u00fctunu bulunuyor. Ge\u00e7en ay\u0131n t\u00fcm sipari\u015flerini se\u00e7mek i\u00e7in \u015fu sorguyu kullanabiliriz:<\/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);<\/code><\/pre>\n<p>Bu sorgu, <code class=\"language-\">CURRENT_DATE<\/code> fonksiyonuyla bug\u00fcn\u00fcn tarihini al\u0131r, bir ay geriye gider (<code class=\"language-\">INTERVAL '1 month'<\/code>) ve <code class=\"language-\">date_trunc<\/code> fonksiyonuyla ge\u00e7en ay\u0131n ba\u015flang\u0131\u00e7 tarihini belirler.  <code class=\"language-\">order_date<\/code> s\u00fctununun bu tarih ve bug\u00fcn\u00fcn ba\u015flang\u0131\u00e7 tarihi aras\u0131nda olan sat\u0131rlar\u0131 se\u00e7er.  <code class=\"language-\">>=<\/code> ve <code class=\"language-\"><<\/code> operat\u00f6rlerinin kullan\u0131m\u0131, ay\u0131n son g\u00fcn\u00fcn\u00fc de dahil etmemizi sa\u011flar.<\/p>\n<p><strong>Ge\u00e7en Ay\u0131n Verilerini Se\u00e7me: Ger\u00e7ek Hayat \u00d6rne\u011fi ve Optimizasyon \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>Bir e-ticaret \u015firketinde \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131z\u0131 ve ge\u00e7en ay\u0131n sat\u0131\u015f raporunu olu\u015fturmam\u0131z gerekti\u011fini d\u00fc\u015f\u00fcnelim.  <code class=\"language-\">orders<\/code> tablomuzda <code class=\"language-\">order_date<\/code>, <code class=\"language-\">customer_id<\/code>, <code class=\"language-\">total_amount<\/code> gibi s\u00fctunlar bulunmaktad\u0131r.  Ge\u00e7en ay\u0131n toplam sat\u0131\u015f\u0131n\u0131 hesaplamak i\u00e7in a\u015fa\u011f\u0131daki sorguyu kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>SELECT SUM(total_amount) AS total_sales\nFROM orders\nWHERE order_date &gt;= date_trunc('month', CURRENT_DATE - INTERVAL '1 month')\n  AND order_date &lt; date_trunc('month', CURRENT_DATE);<\/code><\/pre>\n<p><strong>Optimizasyon \u0130pu\u00e7lar\u0131:<\/strong><\/p>\n<p>* <strong>\u0130ndeksler:<\/strong> <code class=\"language-\">order_date<\/code> s\u00fctununa bir indeks eklemek, sorgunun performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.  PostgreSQL'in indeks olu\u015fturma mekanizmas\u0131n\u0131 anlamak ve do\u011fru indeksleri se\u00e7mek \u00e7ok \u00f6nemlidir.  Daha detayl\u0131 bilgi i\u00e7in [fatihsoysal.com](https:\/\/fatihsoysal.com) adresindeki PostgreSQL performans optimizasyonu makalelerine g\u00f6z atabilirsiniz.<br \/>\n* <strong>WHERE ko\u015fullar\u0131n\u0131 optimize etme:<\/strong> Gereksiz ko\u015fullar\u0131n sorguda bulunmas\u0131 performans\u0131 olumsuz etkiler. Sadece gerekli ko\u015fullar\u0131 eklemeye \u00f6zen g\u00f6sterin.<br \/>\n* <strong>Fonksiyonel indeksler:<\/strong> Karma\u015f\u0131k tarih hesaplamalar\u0131 i\u00e7eren sorgularda fonksiyonel indeksler kullanmak performans\u0131 art\u0131rabilir.<\/p>\n<p><strong>Ge\u00e7en Ay\u0131n Verilerini Se\u00e7me: Performans Analizi ve Edge Case'ler<\/strong><\/p>\n<p>B\u00fcy\u00fck veri k\u00fcmeleri \u00fczerinde \u00e7al\u0131\u015f\u0131rken, sorgunun performans\u0131 kritik \u00f6nem ta\u015f\u0131r.  <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutu ile sorgunun y\u00fcr\u00fctme plan\u0131n\u0131 inceleyebilir ve performans darbo\u011fazlar\u0131n\u0131 tespit edebiliriz.  \u00d6rne\u011fin:<\/p>\n<pre class=\"language-sql\"><code>EXPLAIN ANALYZE\nSELECT SUM(total_amount) AS total_sales\nFROM orders\nWHERE order_date &gt;= date_trunc('month', CURRENT_DATE - INTERVAL '1 month')\n  AND order_date &lt; date_trunc('month', CURRENT_DATE);<\/code><\/pre>\n<p>Bu komut, sorgunun nas\u0131l y\u00fcr\u00fct\u00fcld\u00fc\u011f\u00fcn\u00fc, hangi indekslerin kullan\u0131ld\u0131\u011f\u0131n\u0131 ve her ad\u0131m\u0131n ne kadar s\u00fcrd\u00fc\u011f\u00fcn\u00fc g\u00f6sterir.  Sonu\u00e7lar\u0131 analiz ederek, sorguyu optimize etmek i\u00e7in gerekli ad\u0131mlar\u0131 belirleyebilirsiniz.<\/p>\n<p><strong>Edge Case'ler:<\/strong><\/p>\n<p>* <strong>\u015eubat ay\u0131:<\/strong> \u015eubat ay\u0131n\u0131n 28 veya 29 g\u00fcn olmas\u0131, sorgunun do\u011fru \u00e7al\u0131\u015fmas\u0131n\u0131 etkileyebilir.  Ancak yukar\u0131daki sorgu, bu durumu do\u011fru \u015fekilde ele al\u0131r.<br \/>\n* <strong>Zaman dilimi:<\/strong> <code class=\"language-\">CURRENT_DATE<\/code> fonksiyonu, veritaban\u0131 sunucusunun zaman dilimini kullan\u0131r.  Farkl\u0131 zaman dilimlerinde \u00e7al\u0131\u015fan uygulamalar i\u00e7in dikkatli olmak gerekir.<\/p>\n<p><strong>PostgreSQL'de Tarih \u0130\u015flemlerini Geli\u015fmi\u015f Tekniklerle Kullanma<\/strong><\/p>\n<p>Daha karma\u015f\u0131k tarih i\u015flemleri i\u00e7in, PostgreSQL'in sundu\u011fu di\u011fer fonksiyonlar\u0131 kullanabilirsiniz. \u00d6rne\u011fin, ge\u00e7en ay\u0131n son g\u00fcn\u00fcn\u00fc bulmak i\u00e7in <code class=\"language-\">date_trunc<\/code> ve <code class=\"language-\">interval<\/code> fonksiyonlar\u0131n\u0131 birlikte kullanabilirsiniz:<\/p>\n<pre class=\"language-sql\"><code>SELECT (date_trunc('month', CURRENT_DATE) - INTERVAL '1 day')::date AS last_day_of_last_month;<\/code><\/pre>\n<p>Bu \u00f6rnekte, \u00f6ncelikle bu ay\u0131n ba\u015flang\u0131\u00e7 tarihi bulunur, daha sonra bir g\u00fcn geriye gidilerek ge\u00e7en ay\u0131n son g\u00fcn\u00fc hesaplan\u0131r.<\/p>\n<p><strong>Vaka Analizi: Bir E-Ticaret \u015eirketi \u00d6rne\u011fi<\/strong><\/p>\n<p>Bir e-ticaret \u015firketinin ge\u00e7en ay\u0131n m\u00fc\u015fteri davran\u0131\u015flar\u0131n\u0131 analiz etmek istedi\u011fini varsayal\u0131m.  Bu \u015firket, m\u00fc\u015fterilerin sipari\u015f say\u0131s\u0131, toplam harcama miktar\u0131 ve ortalama sipari\u015f de\u011feri gibi metrikleri takip eder.  Ge\u00e7en ay\u0131n bu verileri i\u00e7in a\u015fa\u011f\u0131daki sorgu kullan\u0131labilir:<\/p>\n<pre class=\"language-sql\"><code>SELECT\n  COUNT(*) AS total_orders,\n  SUM(total_amount) AS total_spending,\n  AVG(total_amount) AS average_order_value\nFROM orders\nWHERE order_date &gt;= date_trunc('month', CURRENT_DATE - INTERVAL '1 month')\n  AND order_date &lt; date_trunc('month', CURRENT_DATE);<\/code><\/pre>\n<p>Bu sorgu, ge\u00e7en ay\u0131n toplam sipari\u015f say\u0131s\u0131n\u0131, toplam harcama miktar\u0131n\u0131 ve ortalama sipari\u015f de\u011ferini hesaplar.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>PostgreSQL'de ge\u00e7en ay\u0131n t\u00fcm sat\u0131rlar\u0131n\u0131 se\u00e7mek i\u00e7in farkl\u0131 y\u00f6ntemler ve optimizasyon teknikleri mevcuttur.  Bu makalede ele ald\u0131\u011f\u0131m\u0131z y\u00f6ntemler, farkl\u0131 karma\u015f\u0131kl\u0131k seviyelerindeki sorgular i\u00e7in kullan\u0131labilecek pratik \u00e7\u00f6z\u00fcmler sunmaktad\u0131r.  Veri b\u00fcy\u00fckl\u00fc\u011f\u00fcne ve performans gereksinimlerine ba\u011fl\u0131 olarak, en uygun y\u00f6ntemi se\u00e7mek \u00f6nemlidir.  PostgreSQL'in sundu\u011fu g\u00fc\u00e7l\u00fc tarih fonksiyonlar\u0131n\u0131 ve optimizasyon tekniklerini kullanarak, verilerinizden daha fazla de\u011fer elde edebilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong>Ge\u00e7en ay\u0131n ilk ve son g\u00fcn\u00fcn\u00fc nas\u0131l belirleyebilirim?<\/strong>  <code class=\"language-\">date_trunc('month', CURRENT_DATE - INTERVAL '1 month')<\/code> ve <code class=\"language-\">(date_trunc('month', CURRENT_DATE) - INTERVAL '1 day')::date<\/code> ifadeleri kullan\u0131labilir.<br \/>\n2. <strong>\u00c7ok b\u00fcy\u00fck bir tabloda \u00e7al\u0131\u015f\u0131yorsam performans\u0131 nas\u0131l art\u0131rabilirim?<\/strong> \u0130ndeksler olu\u015fturun, <code class=\"language-\">WHERE<\/code> ko\u015fullar\u0131n\u0131 optimize edin ve fonksiyonel indeksleri de\u011ferlendirin.<br \/>\n3. <strong>Farkl\u0131 zaman dilimlerini nas\u0131l y\u00f6netebilirim?<\/strong>  <code class=\"language-\">CURRENT_DATE<\/code> yerine <code class=\"language-\">CURRENT_TIMESTAMP<\/code> kullanabilir ve zaman dilimini a\u00e7\u0131k\u00e7a belirtebilirsiniz.<br \/>\n4. <strong>Ge\u00e7en ay\u0131n belirli bir tarih aral\u0131\u011f\u0131ndaki verileri nas\u0131l se\u00e7ebilirim?<\/strong> <code class=\"language-\">WHERE<\/code> ko\u015fuluna ek tarih filtreleri ekleyebilirsiniz.<br \/>\n5. <strong>Performans sorunlar\u0131n\u0131 nas\u0131l tespit edebilirim?<\/strong> <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutunu kullanarak sorgunun y\u00fcr\u00fctme plan\u0131n\u0131 inceleyin.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me Ge\u00e7en ay\u0131n verilerini analiz etmek, i\u015f zekas\u0131 raporlar\u0131 olu\u015fturmak veya periyodik&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-26453","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: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me<\/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-gecen-ayin-tum-satirlarini-secme\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-25T09:15:23+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=\"2 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me\",\"datePublished\":\"2025-07-25T09:15:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/\"},\"wordCount\":956,\"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-gecen-ayin-tum-satirlarini-secme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/\",\"name\":\"PostgreSQL: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-07-25T09:15:23+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me\"}]},{\"@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: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me","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-gecen-ayin-tum-satirlarini-secme\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-07-25T09:15:23+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"2 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me","datePublished":"2025-07-25T09:15:23+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/"},"wordCount":956,"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-gecen-ayin-tum-satirlarini-secme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/","name":"PostgreSQL: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-07-25T09:15:23+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-gecen-ayin-tum-satirlarini-secme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: Ge\u00e7en Ay\u0131n T\u00fcm Sat\u0131rlar\u0131n\u0131 Se\u00e7me"}]},{"@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\/26453","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=26453"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/26453\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=26453"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=26453"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=26453"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}