{"id":27832,"date":"2025-08-19T15:15:24","date_gmt":"2025-08-19T12:15:24","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/"},"modified":"2025-08-19T15:15:24","modified_gmt":"2025-08-19T12:15:24","slug":"postgresql-tarihten-ayi-cikarma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/","title":{"rendered":"PostgreSQL: Tarihten Ay\u0131 \u00c7\u0131karma"},"content":{"rendered":"<p># PostgreSQL&#8217;den Tarihten Ay\u0131 \u00c7\u0131karma: Ad\u0131m Ad\u0131m K\u0131lavuz<\/p>\n<p>PostgreSQL veritaban\u0131n\u0131zda tarih verileriyle \u00e7al\u0131\u015f\u0131rken, belirli bir tarihin hangi aya ait oldu\u011funu belirlemek s\u0131kl\u0131kla ihtiya\u00e7 duyulan bir i\u015flemdir.  \u00d6rne\u011fin, ayl\u0131k sat\u0131\u015f raporlar\u0131 olu\u015fturmak, belirli bir ayda ger\u00e7ekle\u015fen olaylar\u0131 filtrelemek veya kullan\u0131c\u0131lar\u0131n do\u011fum aylar\u0131na g\u00f6re segmentasyon yapmak gibi bir\u00e7ok senaryoda tarih verisinden ay bilgisini ay\u0131klaman\u0131z gerekebilir. Bu makalede, PostgreSQL&#8217;de tarih verisinden ay\u0131 nas\u0131l \u00e7\u0131karaca\u011f\u0131n\u0131z\u0131, farkl\u0131 y\u00f6ntemleri ve performans optimizasyonlar\u0131n\u0131 ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.<\/p>\n<p><strong>PostgreSQL Tarih 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, tarih verilerinin farkl\u0131 bile\u015fenlerini (y\u0131l, ay, g\u00fcn, saat, dakika, saniye) ay\u0131klaman\u0131za, tarih aritmeti\u011fi yapman\u0131za ve tarih formatlar\u0131n\u0131 de\u011fi\u015ftirmenize olanak tan\u0131r.  Bu makalede \u00f6zellikle <code class=\"language-\">EXTRACT<\/code> ve <code class=\"language-\">DATE_PART<\/code> fonksiyonlar\u0131na odaklanaca\u011f\u0131z.  Her iki fonksiyon da benzer i\u015flevleri yerine getirir, ancak kullan\u0131m \u015fekilleri biraz farkl\u0131d\u0131r.<\/p>\n<p><strong>PostgreSQL&#8217;de Ay\u0131 \u00c7\u0131karma: <code class=\"language-\">EXTRACT<\/code> Fonksiyonu<\/strong><\/p>\n<p><code class=\"language-\">EXTRACT<\/code> fonksiyonu, bir tarih veya zaman de\u011ferinden belirli bir bile\u015feni (y\u0131l, ay, g\u00fcn vb.) ay\u0131klaman\u0131za olanak tan\u0131r.  Ay bilgisini ay\u0131klamak i\u00e7in <code class=\"language-\">EXTRACT(MONTH FROM tarih_sutunu)<\/code> \u015feklinde kullan\u0131l\u0131r.<\/p>\n<p><strong>\u00d6rnek:<\/strong> <code class=\"language-\">tarih<\/code> adl\u0131 bir s\u00fctun i\u00e7eren <code class=\"language-\">satislar<\/code> adl\u0131 bir tablomuz olsun.  Bu tablodaki her bir sat\u0131r\u0131n hangi aya ait oldu\u011funu bulmak i\u00e7in a\u015fa\u011f\u0131daki sorguyu kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>SELECT EXTRACT(MONTH FROM tarih) AS ay, SUM(tutar) AS toplam_tutar\nFROM satislar\nGROUP BY ay\nORDER BY ay;<\/code><\/pre>\n<p>Bu sorgu, her ay i\u00e7in toplam sat\u0131\u015f tutar\u0131n\u0131 hesaplar ve ay\u0131 <code class=\"language-\">ay<\/code> adl\u0131 bir s\u00fctunda g\u00f6sterir.<\/p>\n<p><strong>PostgreSQL&#8217;de Ay\u0131 \u00c7\u0131karma: <code class=\"language-\">DATE_PART<\/code> Fonksiyonu<\/strong><\/p>\n<p><code class=\"language-\">DATE_PART<\/code> fonksiyonu, <code class=\"language-\">EXTRACT<\/code> fonksiyonuna benzer \u015fekilde \u00e7al\u0131\u015f\u0131r ve bir tarih veya zaman de\u011ferinden belirli bir bile\u015feni ay\u0131klar.  Ancak, <code class=\"language-\">EXTRACT<\/code> fonksiyonundan farkl\u0131 olarak, <code class=\"language-\">DATE_PART<\/code> fonksiyonu ilk arg\u00fcman olarak ay\u0131klanacak bile\u015feni bir metin de\u011feri olarak al\u0131r.<\/p>\n<p><strong>\u00d6rnek:<\/strong> Ayn\u0131 <code class=\"language-\">satislar<\/code> tablosunda <code class=\"language-\">DATE_PART<\/code> fonksiyonunu kullanarak ay\u0131 ay\u0131klayal\u0131m:<\/p>\n<pre class=\"language-sql\"><code>SELECT DATE_PART('month', tarih) AS ay, SUM(tutar) AS toplam_tutar\nFROM satislar\nGROUP BY ay\nORDER BY ay;<\/code><\/pre>\n<p>Bu sorgu da <code class=\"language-\">EXTRACT<\/code> fonksiyonunu kullanan sorguyla ayn\u0131 sonucu \u00fcretir.<\/p>\n<p><strong>PostgreSQL&#8217;de Ay \u00c7\u0131karma: \u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong><\/p>\n<p><strong>Ad\u0131m 1:<\/strong>  Bir PostgreSQL veritaban\u0131 olu\u015fturun ve i\u00e7inde bir tarih s\u00fctunu i\u00e7eren bir tablo olu\u015fturun.  \u00d6rne\u011fin:<\/p>\n<pre class=\"language-sql\"><code>CREATE TABLE ogrenciler (\n    id SERIAL PRIMARY KEY,\n    adi TEXT,\n    dogum_tarihi DATE\n);\n\nINSERT INTO ogrenciler (adi, dogum_tarihi) VALUES\n('Ahmet', '1995-03-15'),\n('Ay\u015fe', '2000-11-20'),\n('Mehmet', '1988-07-05');<\/code><\/pre>\n<p><strong>Ad\u0131m 2:<\/strong>  <code class=\"language-\">EXTRACT<\/code> fonksiyonunu kullanarak do\u011fum tarihinden ay\u0131 ay\u0131klay\u0131n:<\/p>\n<pre class=\"language-sql\"><code>SELECT adi, EXTRACT(MONTH FROM dogum_tarihi) AS dogum_ayi FROM ogrenciler;<\/code><\/pre>\n<p><strong>Orta Seviye:<\/strong><\/p>\n<p><strong>Ger\u00e7ek Hayat \u00d6rne\u011fi:<\/strong> Bir e-ticaret sitesinin g\u00fcnl\u00fck sat\u0131\u015f verilerini i\u00e7eren bir tablo d\u00fc\u015f\u00fcn\u00fcn.  Belirli bir ayda yap\u0131lan toplam sat\u0131\u015flar\u0131 hesaplamak i\u00e7in a\u015fa\u011f\u0131daki sorguyu kullanabilirsiniz:<\/p>\n<pre class=\"language-sql\"><code>SELECT SUM(satis_tutari) AS toplam_satis\nFROM satislar\nWHERE EXTRACT(MONTH FROM satis_tarihi) = 12; -- Aral\u0131k ay\u0131 i\u00e7in<\/code><\/pre>\n<p><strong>Optimizasyon \u0130pu\u00e7lar\u0131:<\/strong>  B\u00fcy\u00fck veritabanlar\u0131nda performans\u0131 art\u0131rmak i\u00e7in <code class=\"language-\">WHERE<\/code> ko\u015fulunda indekslenmi\u015f bir s\u00fctun kullan\u0131n. <code class=\"language-\">satis_tarihi<\/code> s\u00fctununa bir indeks eklemek sorgu performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131rabilir.<\/p>\n<p><strong>\u0130leri Seviye:<\/strong><\/p>\n<p><strong>Performans Analizi:<\/strong>  B\u00fcy\u00fck veritabanlar\u0131nda sorgu performans\u0131n\u0131 analiz etmek i\u00e7in <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutunu kullanabilirsiniz.  Bu komut, sorguyu \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce nas\u0131l planland\u0131\u011f\u0131n\u0131 ve ne kadar s\u00fcrd\u00fc\u011f\u00fcn\u00fc g\u00f6sterir.<\/p>\n<p><strong>Edge Case&#8217;ler:<\/strong>  <code class=\"language-\">NULL<\/code> de\u011ferleri i\u00e7eren tarih s\u00fctunlar\u0131n\u0131 ele almak \u00f6nemlidir. <code class=\"language-\">EXTRACT<\/code> ve <code class=\"language-\">DATE_PART<\/code> fonksiyonlar\u0131 <code class=\"language-\">NULL<\/code> de\u011ferler i\u00e7in <code class=\"language-\">NULL<\/code> d\u00f6nd\u00fcr\u00fcr.  <code class=\"language-\">COALESCE<\/code> fonksiyonunu kullanarak <code class=\"language-\">NULL<\/code> de\u011ferlerini 0 veya ba\u015fka bir de\u011ferle de\u011fi\u015ftirebilirsiniz.<\/p>\n<p><strong>PostgreSQL Tarih Fonksiyonlar\u0131: Performans Optimizasyonu<\/strong><\/p>\n<p>PostgreSQL&#8217;deki tarih fonksiyonlar\u0131n\u0131n performans\u0131n\u0131 optimize etmek i\u00e7in birka\u00e7 y\u00f6ntem kullanabilirsiniz:<\/p>\n<p>* <strong>\u0130ndeksler:<\/strong> Tarih s\u00fctunlar\u0131na indeks eklemek, \u00f6zellikle b\u00fcy\u00fck veritabanlar\u0131nda <code class=\"language-\">WHERE<\/code> ko\u015fullar\u0131nda tarih kar\u015f\u0131la\u015ft\u0131rmalar\u0131 yap\u0131ld\u0131\u011f\u0131nda performans\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131r\u0131r.<br \/>\n* <strong>Fonksiyonel \u0130ndeksler:<\/strong>  <code class=\"language-\">EXTRACT<\/code> veya <code class=\"language-\">DATE_PART<\/code> fonksiyonlar\u0131n\u0131n sonu\u00e7lar\u0131 \u00fczerinde indeks olu\u015fturmak da performans\u0131 iyile\u015ftirebilir.  Bu, fonksiyonun her seferinde hesaplanmas\u0131n\u0131 \u00f6nler.<br \/>\n* <strong>Par\u00e7alama (Partitioning):<\/strong> B\u00fcy\u00fck tarih tablolar\u0131n\u0131 zamana g\u00f6re par\u00e7alamak, belirli bir tarih aral\u0131\u011f\u0131n\u0131 filtrelerken performans\u0131 art\u0131rabilir.<\/p>\n<p><strong>Ger\u00e7ek D\u00fcnya Vaka Analizi:  Ayl\u0131k Kullan\u0131c\u0131 Aktivitesi Raporlama<\/strong><\/p>\n<p>Bir sosyal medya platformunun g\u00fcnl\u00fck kullan\u0131c\u0131 aktivite verilerini i\u00e7eren bir tablo oldu\u011funu varsayal\u0131m.  Her kullan\u0131c\u0131n\u0131n her g\u00fcn siteyi ziyaret edip etmedi\u011fi kaydedilmektedir. Ayl\u0131k aktif kullan\u0131c\u0131 say\u0131s\u0131n\u0131 hesaplamak i\u00e7in a\u015fa\u011f\u0131daki sorguyu kullanabiliriz:<\/p>\n<pre class=\"language-sql\"><code>SELECT\n    EXTRACT(MONTH FROM tarih) AS ay,\n    COUNT(DISTINCT kullanici_id) AS aktif_kullanici_sayisi\nFROM\n    kullanici_aktiviteleri\nGROUP BY\n    ay\nORDER BY\n    ay;<\/code><\/pre>\n<p>Bu sorgu, her ay i\u00e7in benzersiz aktif kullan\u0131c\u0131 say\u0131s\u0131n\u0131 hesaplar.  B\u00fcy\u00fck bir veritaban\u0131 i\u00e7in performans\u0131 optimize etmek i\u00e7in <code class=\"language-\">tarih<\/code> s\u00fctununa bir indeks eklemek ve gerekirse tabloyu zamana g\u00f6re par\u00e7alamak \u00f6nemlidir.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>PostgreSQL&#8217;de tarih verisinden ay\u0131 \u00e7\u0131karmak i\u00e7in <code class=\"language-\">EXTRACT<\/code> ve <code class=\"language-\">DATE_PART<\/code> fonksiyonlar\u0131 etkili ve kullan\u0131\u015fl\u0131 ara\u00e7lard\u0131r.  Bu makalede, bu fonksiyonlar\u0131n nas\u0131l kullan\u0131laca\u011f\u0131n\u0131, performans optimizasyonunu ve ger\u00e7ek d\u00fcnya senaryolar\u0131nda nas\u0131l uygulanaca\u011f\u0131n\u0131 ad\u0131m ad\u0131m g\u00f6sterdik.  Uygun indeksleme ve optimizasyon teknikleriyle, b\u00fcy\u00fck veritabanlar\u0131nda bile h\u0131zl\u0131 ve verimli sonu\u00e7lar elde edebilirsiniz. Daha detayl\u0131 bilgi ve PostgreSQL ile ilgili di\u011fer konular i\u00e7in [fatihsoysal.com](https:\/\/fatihsoysal.com) sitesini ziyaret edebilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">EXTRACT<\/code> ve <code class=\"language-\">DATE_PART<\/code> fonksiyonlar\u0131 aras\u0131nda performans fark\u0131 var m\u0131?<\/strong>  Genellikle performans fark\u0131 minimaldir, ancak b\u00fcy\u00fck veritabanlar\u0131nda ve karma\u015f\u0131k sorgularda k\u00fc\u00e7\u00fck farkl\u0131l\u0131klar g\u00f6zlemlenebilir.  <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutu ile performans\u0131 kar\u015f\u0131la\u015ft\u0131rabilirsiniz.<\/p>\n<p>2. <strong><code class=\"language-\">NULL<\/code> de\u011ferleri nas\u0131l ele al\u0131nmal\u0131?<\/strong> <code class=\"language-\">COALESCE<\/code> fonksiyonu ile <code class=\"language-\">NULL<\/code> de\u011ferlerini varsay\u0131lan bir de\u011ferle (\u00f6rne\u011fin, 0) de\u011fi\u015ftirebilirsiniz.<\/p>\n<p>3. <strong>Ay\u0131 say\u0131sal olarak de\u011fil, ad\u0131yla (Ocak, \u015eubat, vb.) nas\u0131l alabilirim?<\/strong>  Bu, <code class=\"language-\">TO_CHAR<\/code> fonksiyonu kullan\u0131larak yap\u0131labilir. \u00d6rnek: <code class=\"language-\">TO_CHAR(tarih, 'Month')<\/code>.  Dil ayarlar\u0131na ba\u011fl\u0131 olarak ay ad\u0131 farkl\u0131 dillerde gelebilir.<\/p>\n<p>4. <strong>Ay\u0131 \u00e7\u0131kard\u0131ktan sonra ba\u015fka i\u015flemler yapmak istiyorum (\u00f6rne\u011fin, ay numaras\u0131na g\u00f6re ko\u015fullu toplama).<\/strong>  <code class=\"language-\">CASE<\/code> ifadesi veya alt sorgular kullanarak ay\u0131 \u00e7\u0131kard\u0131ktan sonra ek i\u015flemler yapabilirsiniz.<\/p>\n<p>5. <strong>B\u00fcy\u00fck veritabanlar\u0131nda performans d\u00fc\u015f\u00fc\u015f\u00fc ya\u015f\u0131yorsam ne yapmal\u0131y\u0131m?<\/strong>  \u0130ndeksler ekleyin, tabloyu par\u00e7alama y\u00f6ntemleriyle optimize edin ve <code class=\"language-\">EXPLAIN ANALYZE<\/code> komutuyla sorgu performans\u0131n\u0131 analiz edin.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;den Tarihten Ay\u0131 \u00c7\u0131karma: Ad\u0131m Ad\u0131m K\u0131lavuz PostgreSQL veritaban\u0131n\u0131zda tarih verileriyle \u00e7al\u0131\u015f\u0131rken, belirli bir tarihin hangi aya&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-27832","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: Tarihten Ay\u0131 \u00c7\u0131karma<\/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-tarihten-ayi-cikarma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: Tarihten Ay\u0131 \u00c7\u0131karma\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-19T12:15:24+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-tarihten-ayi-cikarma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL: Tarihten Ay\u0131 \u00c7\u0131karma\",\"datePublished\":\"2025-08-19T12:15:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/\"},\"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-tarihten-ayi-cikarma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/\",\"name\":\"PostgreSQL: Tarihten Ay\u0131 \u00c7\u0131karma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-19T12:15:24+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: Tarihten Ay\u0131 \u00c7\u0131karma\"}]},{\"@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: Tarihten Ay\u0131 \u00c7\u0131karma","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-tarihten-ayi-cikarma\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL: Tarihten Ay\u0131 \u00c7\u0131karma","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-19T12:15:24+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-tarihten-ayi-cikarma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL: Tarihten Ay\u0131 \u00c7\u0131karma","datePublished":"2025-08-19T12:15:24+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/"},"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-tarihten-ayi-cikarma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/","name":"PostgreSQL: Tarihten Ay\u0131 \u00c7\u0131karma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-19T12:15:24+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-tarihten-ayi-cikarma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: Tarihten Ay\u0131 \u00c7\u0131karma"}]},{"@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\/27832","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=27832"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27832\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27832"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27832"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27832"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}