{"id":27583,"date":"2025-08-16T03:15:21","date_gmt":"2025-08-16T00:15:21","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/"},"modified":"2025-08-16T03:15:21","modified_gmt":"2025-08-16T00:15:21","slug":"postgresql-kolon-yoksa-nasil-eklenir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/","title":{"rendered":"PostgreSQL: Kolon Yoksa Nas\u0131l Eklenir"},"content":{"rendered":"<p># PostgreSQL&#8217;de Kolon Ekleme: Varl\u0131\u011f\u0131n\u0131 Kontrol Ederek<\/p>\n<p>PostgreSQL veritaban\u0131n\u0131zda yeni bir kolon eklemeniz gerekiyor ama \u00f6ncelikle kolonun zaten var olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek istiyorsunuz.  Yanl\u0131\u015fl\u0131kla ayn\u0131 isimde bir kolon eklemek, veritaban\u0131n\u0131zda beklenmedik hatalara ve veri kay\u0131plar\u0131na yol a\u00e7abilir. \u0130\u015fte bu makalede, PostgreSQL&#8217;de kolon eklerken varl\u0131k kontrol\u00fcn\u00fc nas\u0131l yapaca\u011f\u0131n\u0131z\u0131, performans optimizasyonunu nas\u0131l sa\u011flayaca\u011f\u0131n\u0131z\u0131 ve olas\u0131 sorunlar\u0131 nas\u0131l \u00e7\u00f6zece\u011finizi ad\u0131m ad\u0131m \u00f6\u011freneceksiniz.  Bu rehber, yeni ba\u015flayanlardan ileri seviye kullan\u0131c\u0131lara kadar herkes i\u00e7in faydal\u0131 bilgiler sunmaktad\u0131r.<\/p>\n<p><strong>\u00d6\u011frenme Yol Haritas\u0131<\/strong><\/p>\n<p><strong>Yeni Ba\u015flayan:<\/strong>  <code class=\"language-\">IF NOT EXISTS<\/code> kullan\u0131m\u0131 ve basit bir \u00f6rnek.<\/p>\n<p><strong>Orta Seviye:<\/strong> Ger\u00e7ek hayat senaryosu, performans optimizasyon ipu\u00e7lar\u0131 ve <code class=\"language-\">DO $$<\/code> blo\u011fu kullan\u0131m\u0131.<\/p>\n<p><strong>\u0130leri Seviye:<\/strong> Performans analizi, edge case&#8217;ler ve hata y\u00f6netimi.<\/p>\n<p><strong>PostgreSQL&#8217;de Temel Kolon Ekleme \u0130\u015flemi<\/strong><\/p>\n<p>PostgreSQL&#8217;de bir tabloya kolon eklemek i\u00e7in <code class=\"language-\">ALTER TABLE<\/code> komutunu kullan\u0131r\u0131z.  Temel s\u00f6zdizimi \u015f\u00f6yledir:<\/p>\n<pre class=\"language-sql\"><code>ALTER TABLE tablo_ad\u0131\nADD COLUMN kolon_ad\u0131 veri_tipi [k\u0131s\u0131tlamalar];<\/code><\/pre>\n<p>\u00d6rne\u011fin, <code class=\"language-\">musteriler<\/code> adl\u0131 bir tabloya <code class=\"language-\">telefon_no<\/code> ad\u0131nda bir kolon eklemek i\u00e7in:<\/p>\n<pre class=\"language-sql\"><code>ALTER TABLE musteriler\nADD COLUMN telefon_no VARCHAR(20);<\/code><\/pre>\n<p>Bu komut, <code class=\"language-\">musteriler<\/code> tablosuna <code class=\"language-\">telefon_no<\/code> ad\u0131nda, en fazla 20 karakter uzunlu\u011funda bir metin alan\u0131 ekler.  E\u011fer <code class=\"language-\">telefon_no<\/code> kolon zaten varsa, hata verecektir. \u0130\u015fte burada <code class=\"language-\">IF NOT EXISTS<\/code> devreye giriyor.<\/p>\n<p><strong>PostgreSQL&#8217;de Kolon Ekleme: IF NOT EXISTS Kullan\u0131m\u0131<\/strong><\/p>\n<p>Kolonun zaten var olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek ve hata almamak i\u00e7in <code class=\"language-\">IF NOT EXISTS<\/code> kullanmal\u0131y\u0131z.  Ne yaz\u0131k ki, standart SQL&#8217;de do\u011frudan <code class=\"language-\">IF NOT EXISTS<\/code> ile kolon ekleme deste\u011fi yoktur.  Ancak, bunu birka\u00e7 farkl\u0131 y\u00f6ntemle sa\u011flayabiliriz.<\/p>\n<p><strong># Y\u00f6ntem 1:  Dinamik SQL ve <code class=\"language-\">pg_attribute<\/code> Sistem Tablosu<\/strong><\/p>\n<p>Bu y\u00f6ntem, <code class=\"language-\">pg_attribute<\/code> sistem tablosunu kullanarak kolonun varl\u0131\u011f\u0131n\u0131 kontrol eder ve buna g\u00f6re dinamik bir SQL sorgusu olu\u015fturur.<\/p>\n<pre class=\"language-sql\"><code>DO $$\nDECLARE\n  kolon_var BOOLEAN;\nBEGIN\n  SELECT EXISTS(\n    SELECT 1\n    FROM information_schema.columns\n    WHERE table_name = 'musteriler'\n    AND column_name = 'telefon_no'\n  ) INTO kolon_var;\n\n  IF NOT kolon_var THEN\n    EXECUTE format('ALTER TABLE musteriler ADD COLUMN telefon_no VARCHAR(20)');\n  END IF;\nEND $$;<\/code><\/pre>\n<p>Bu kod blo\u011fu \u00f6ncelikle <code class=\"language-\">telefon_no<\/code> kolonunun varl\u0131\u011f\u0131n\u0131 kontrol eder.  E\u011fer kolon yoksa, <code class=\"language-\">ALTER TABLE<\/code> komutu \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r.  <code class=\"language-\">DO $$<\/code> blo\u011fu, PL\/pgSQL fonksiyonu olmadan bir kod blo\u011fu \u00e7al\u0131\u015ft\u0131rmam\u0131z\u0131 sa\u011flar.  Bu, daha temiz ve okunabilir bir kod olu\u015fturmam\u0131za yard\u0131mc\u0131 olur.  Bu yakla\u015f\u0131m, daha karma\u015f\u0131k senaryolarda ve birden fazla kolon eklemede daha esnektir.<\/p>\n<p><strong># Y\u00f6ntem 2:  Hata Yakalama (TRY&#8230;CATCH)<\/strong><\/p>\n<p>Bu y\u00f6ntem, <code class=\"language-\">ALTER TABLE<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmay\u0131 dener ve hata olu\u015fursa (kolon zaten varsa), hatay\u0131 yakalar ve devam eder.<\/p>\n<pre class=\"language-sql\"><code>BEGIN;\n  ALTER TABLE musteriler ADD COLUMN telefon_no VARCHAR(20);\nEXCEPTION WHEN duplicate_column THEN\n  RAISE NOTICE 'Kolon zaten mevcut.';\nEND;\nCOMMIT;<\/code><\/pre>\n<p>Bu yakla\u015f\u0131m daha basit g\u00f6r\u00fcnse de, hata y\u00f6netimi a\u00e7\u0131s\u0131ndan daha az g\u00fcvenilir olabilir.  Hata mesaj\u0131n\u0131 yakalamak ve uygun \u015fekilde i\u015flemek \u00f6nemlidir.  Daha karma\u015f\u0131k senaryolarda, bu y\u00f6ntemin kullan\u0131m\u0131 daha az tercih edilir.<\/p>\n<p><strong>Ger\u00e7ek Hayat Senaryosu: E-Ticaret Uygulamas\u0131<\/strong><\/p>\n<p>Bir e-ticaret uygulamas\u0131nda, kullan\u0131c\u0131lar\u0131n sipari\u015flerine not ekleyebilmeleri i\u00e7in <code class=\"language-\">siparisler<\/code> tablosuna <code class=\"language-\">notlar<\/code> adl\u0131 bir kolon eklemek istedi\u011fimizi d\u00fc\u015f\u00fcnelim.  Bu kolon, uzun metinler i\u00e7erebilece\u011fi i\u00e7in <code class=\"language-\">TEXT<\/code> veri tipi kullanaca\u011f\u0131z.<\/p>\n<pre class=\"language-sql\"><code>DO $$\nDECLARE\n  kolon_var BOOLEAN;\nBEGIN\n  SELECT EXISTS(\n    SELECT 1\n    FROM information_schema.columns\n    WHERE table_name = 'siparisler'\n    AND column_name = 'notlar'\n  ) INTO kolon_var;\n\n  IF NOT kolon_var THEN\n    EXECUTE format('ALTER TABLE siparisler ADD COLUMN notlar TEXT');\n  END IF;\nEND $$;<\/code><\/pre>\n<p>Bu kod, <code class=\"language-\">siparisler<\/code> tablosuna <code class=\"language-\">notlar<\/code> kolonunu sadece mevcut de\u011filse ekler.  Bu sayede, uygulamam\u0131z\u0131n stabilitesini koruruz.<\/p>\n<p><strong>Performans Optimizasyonu \u0130pu\u00e7lar\u0131<\/strong><\/p>\n<p>* <strong>\u0130ndeksleme:<\/strong>  Yeni ekledi\u011finiz kolonun s\u0131k\u00e7a sorgu filtrelerinde kullan\u0131lacaksa, uygun indeksleri olu\u015fturun.  Bu, sorgu performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde art\u0131racakt\u0131r.<br \/>\n* <strong>Veri Tipi Se\u00e7imi:<\/strong> Uygun veri tipini se\u00e7mek, hem depolama alan\u0131ndan hem de sorgu performans\u0131ndan tasarruf etmenizi sa\u011flar.<br \/>\n* <strong>Toplu \u0130\u015flemler:<\/strong> Birden fazla kolon eklemeniz gerekiyorsa, tek bir i\u015flem i\u00e7inde yapmaya \u00e7al\u0131\u015f\u0131n.  Bu, veritaban\u0131 \u00fczerindeki y\u00fck\u00fc azaltacakt\u0131r.<br \/>\n* <strong>Bloklama:<\/strong> <code class=\"language-\">DO $$<\/code> blo\u011fu kullanarak, kodun okunabilirli\u011fini ve y\u00f6netilebilirli\u011fini art\u0131rabilirsiniz.<\/p>\n<p><strong>\u0130leri D\u00fczey Konular: Edge Case&#8217;ler ve Hata Y\u00f6netimi<\/strong><\/p>\n<p>* <strong>K\u0131s\u0131tlamalar:<\/strong>  Yeni kolonunuza <code class=\"language-\">NOT NULL<\/code>, <code class=\"language-\">UNIQUE<\/code>, <code class=\"language-\">DEFAULT<\/code> gibi k\u0131s\u0131tlamalar eklemek isteyebilirsiniz.  Bunlar\u0131 <code class=\"language-\">ALTER TABLE<\/code> komutunda belirtmeyi unutmay\u0131n.<br \/>\n* <strong>Paralel \u0130\u015flemler:<\/strong> \u00c7ok say\u0131da tabloya ayn\u0131 anda kolon eklerken, paralel i\u015flemler kullanarak s\u00fcreci h\u0131zland\u0131rabilirsiniz. Ancak, bu i\u015flemi dikkatli bir \u015fekilde planlaman\u0131z ve olas\u0131 kilitlenme sorunlar\u0131n\u0131 \u00f6nlemeniz gerekir.<br \/>\n* <strong>Geri Alma:<\/strong>  <code class=\"language-\">ALTER TABLE<\/code> komutu veritaban\u0131nda de\u011fi\u015fiklikler yapar. Bu de\u011fi\u015fiklikleri geri almak i\u00e7in <code class=\"language-\">ROLLBACK<\/code> komutunu kullanabilirsiniz.  \u00d6nemli de\u011fi\u015fiklikler yapmadan \u00f6nce mutlaka yedekleme al\u0131n.<br \/>\n* <strong>Hata Loglama:<\/strong>  Olas\u0131 hatalar\u0131 yakalamak ve g\u00fcnl\u00fck dosyalar\u0131na kaydetmek, sorun giderme s\u00fcrecinizi kolayla\u015ft\u0131racakt\u0131r.<\/p>\n<p><strong>Sonu\u00e7<\/strong><\/p>\n<p>PostgreSQL&#8217;de kolon eklerken <code class=\"language-\">IF NOT EXISTS<\/code> mant\u0131\u011f\u0131n\u0131 uygulaman\u0131n birka\u00e7 yolu vard\u0131r.  Her y\u00f6ntemin avantajlar\u0131 ve dezavantajlar\u0131 vard\u0131r.  Uygulaman\u0131z\u0131n ihtiya\u00e7lar\u0131na ve karma\u015f\u0131kl\u0131\u011f\u0131na ba\u011fl\u0131 olarak en uygun y\u00f6ntemi se\u00e7meniz \u00f6nemlidir.  Performans optimizasyonu ve hata y\u00f6netimi, g\u00fcvenilir ve verimli bir veritaban\u0131 uygulamas\u0131 i\u00e7in kritik \u00f6neme sahiptir.  Bu makalede \u00f6\u011frendi\u011finiz teknikleri kullanarak, PostgreSQL veritaban\u0131n\u0131z\u0131 g\u00fcvenli ve etkili bir \u015fekilde y\u00f6netebilirsiniz.<\/p>\n<p><strong>S\u0131k\u00e7a Sorulan Sorular:<\/strong><\/p>\n<p>1. <strong><code class=\"language-\">IF NOT EXISTS<\/code> do\u011frudan <code class=\"language-\">ALTER TABLE<\/code> komutunda kullan\u0131labilir mi?<\/strong> Hay\u0131r, standart SQL&#8217;de bu \u00f6zellik do\u011frudan desteklenmez.  Yukar\u0131da a\u00e7\u0131klanan y\u00f6ntemlerden birini kullanmal\u0131s\u0131n\u0131z.<\/p>\n<p>2. <strong>Birden fazla kolon ayn\u0131 anda eklenebilir mi?<\/strong> Evet, <code class=\"language-\">ALTER TABLE<\/code> komutunda birden fazla <code class=\"language-\">ADD COLUMN<\/code> ifadesi kullanabilirsiniz.<\/p>\n<p>3. <strong>Yeni kolon i\u00e7in varsay\u0131lan bir de\u011fer nas\u0131l atan\u0131r?<\/strong> <code class=\"language-\">DEFAULT<\/code> k\u0131s\u0131tlamas\u0131 kullan\u0131labilir. \u00d6rne\u011fin: <code class=\"language-\">ADD COLUMN telefon_no VARCHAR(20) DEFAULT ''<\/code>.<\/p>\n<p>4. <strong>Kolon ekledikten sonra indeks nas\u0131l olu\u015fturulur?<\/strong> <code class=\"language-\">CREATE INDEX<\/code> komutu kullan\u0131larak indeks olu\u015fturulabilir. \u00d6rne\u011fin: <code class=\"language-\">CREATE INDEX idx_telefon_no ON musteriler (telefon_no)<\/code>.<\/p>\n<p>5. <strong>Hata olu\u015fursa ne yapmal\u0131y\u0131m?<\/strong> Hata mesaj\u0131n\u0131 inceleyin ve sorunun kayna\u011f\u0131n\u0131 belirleyin.  Gerekirse, veritaban\u0131n\u0131z\u0131 yedekleyin ve sorunu gidermek i\u00e7in uygun ad\u0131mlar\u0131 at\u0131n. Daha fazla bilgi i\u00e7in [Fatih Soysal&#8217;\u0131n bloguna](https:\/\/fatihsoysal.com) g\u00f6z atabilirsiniz.<\/p>\n<p>Yazar: Fatih Soysal<\/p>\n","protected":false},"excerpt":{"rendered":"# PostgreSQL&#8217;de Kolon Ekleme: Varl\u0131\u011f\u0131n\u0131 Kontrol Ederek PostgreSQL veritaban\u0131n\u0131zda yeni bir kolon eklemeniz gerekiyor ama \u00f6ncelikle kolonun zaten&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-27583","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: Kolon Yoksa Nas\u0131l Eklenir<\/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-kolon-yoksa-nasil-eklenir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL: Kolon Yoksa Nas\u0131l Eklenir\" \/>\n<meta property=\"og:description\" content=\"Hi\u00e7bir etiketi bulunamad\u0131.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-08-16T00: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=\"5 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"PostgreSQL: Kolon Yoksa Nas\u0131l Eklenir\",\"datePublished\":\"2025-08-16T00:15:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/\"},\"wordCount\":868,\"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-kolon-yoksa-nasil-eklenir\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/\",\"name\":\"PostgreSQL: Kolon Yoksa Nas\u0131l Eklenir\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-08-16T00:15:21+00:00\",\"description\":\"Hi\u00e7bir etiketi bulunamad\u0131.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL: Kolon Yoksa Nas\u0131l Eklenir\"}]},{\"@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: Kolon Yoksa Nas\u0131l Eklenir","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-kolon-yoksa-nasil-eklenir\/","og_locale":"tr_TR","og_type":"article","og_title":"PostgreSQL: Kolon Yoksa Nas\u0131l Eklenir","og_description":"Hi\u00e7bir etiketi bulunamad\u0131.","og_url":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-08-16T00:15:21+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"5 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"PostgreSQL: Kolon Yoksa Nas\u0131l Eklenir","datePublished":"2025-08-16T00:15:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/"},"wordCount":868,"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-kolon-yoksa-nasil-eklenir\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/","url":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/","name":"PostgreSQL: Kolon Yoksa Nas\u0131l Eklenir","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-08-16T00:15:21+00:00","description":"Hi\u00e7bir etiketi bulunamad\u0131.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/postgresql-kolon-yoksa-nasil-eklenir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL: Kolon Yoksa Nas\u0131l Eklenir"}]},{"@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\/27583","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=27583"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/27583\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=27583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=27583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=27583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}