{"id":6120,"date":"2026-10-26T07:00:00","date_gmt":"2026-10-26T04:00:00","guid":{"rendered":"https:\/\/www.dataplatform.gr\/?p=6120"},"modified":"2026-10-23T21:51:55","modified_gmt":"2026-10-23T18:51:55","slug":"pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve","status":"publish","type":"post","link":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/","title":{"rendered":"How do we use pgvector in PostgreSQL for AI and Vector Search?"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Modern artificial intelligence applications and Large Language Models are based on data called vectors or embeddings. PostgreSQL, thanks to its flexibility, can be transformed into a full vector database with the help of <strong>pgvector<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this article we will see in simple words what it is, how it is installed in PostgreSQL in a RHEL environment, how it works in practice, and which indexes are best for us to use.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is pgvector?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>pgvector<\/strong> is an extension for PostgreSQL that allows us to store vectors and perform semantic searches. Instead of just searching for keywords, we can find texts, images, or products that are similar to each other, making it ideal for artificial intelligence systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing pgvector on PostgreSQL 14<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To add it to our server, we build it directly from source code with a few easy commands.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First, we install the necessary tools<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">sudo yum install -y git make gcc postgresql14-devel<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then, we download the code, define where the <code>pg_config<\/code> of version 14 and we do the installation:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">cd \/tmp\ngit clone https:\/\/github.com\/pgvector\/pgvector.git\ncd pgvector\nmake PG_CONFIG=\/usr\/pgsql-14\/bin\/pg_config\nsudo make PG_CONFIG=\/usr\/pgsql-14\/bin\/pg_config install<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, we connect to the database and activate the extension:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">CREATE EXTENSION vector;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Example<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After enabling the extention, we can create a table containing vector fields and try a search.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We create a table with 3 dimensions and insert some records:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">CREATE TABLE items (\n    id SERIAL PRIMARY KEY,\n    name TEXT,\n    embedding VECTOR(3)\n);\n\nINSERT INTO items (name, embedding) VALUES \n('Item A', '[1, 2, 3]'),\n('Item B', '[1, 1, 1]'),\n('Item C', '[4, 5, 6]');<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">To find which object most resembles a particular vector based on Cosine distance, we run the following query:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"sql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">SELECT name, embedding &lt;=> '[1, 1, 2]' AS distance\nFROM items\nORDER BY embedding &lt;=> '[1, 1, 2]'\nLIMIT 2;<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"659\" height=\"324\" src=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2026\/08\/pgve-01.png\" alt=\"\" class=\"wp-image-6121\" srcset=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2026\/08\/pgve-01.png 659w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2026\/08\/pgve-01-300x147.png 300w, https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2026\/08\/pgve-01-18x9.png 18w\" sizes=\"auto, (max-width: 659px) 100vw, 659px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Which Index to choose: HNSW or IVFFlat?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When our data becomes too large (thousands or millions), simple searching becomes slow. Then we create special indexes to go faster. Then we have two options:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">IVFFlat Index<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The algorithm <strong>IVF Flat<\/strong> It divides the vectors into clusters so that the server only searches in nearby clusters. It is quite fast, but it requires that there is already enough data in the table when we create it, otherwise the database will warn us that it has low accuracy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To create an IVFFlat index, we run:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">CREATE INDEX items_ivfflat_idx ON items USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);\n<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">HNSW Index<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">The algorithm <strong>HNSW<\/strong> It creates a network-like structure and offers extremely high speed and top search accuracy. The only downside is that it consumes more RAM, so the choice depends on the resources available on our server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To create an HNSW index, we run:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\" data-no-translation=\"\" data-no-auto-translation=\"\">CREATE INDEX items_hnsw_idx ON items USING hnsw (embedding vector_cosine_ops);<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sources:<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.postgresql.org\/docs\/current\/\">PostgreSQL 18.4 Documentation<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Modern artificial intelligence applications and Large Language Models are based on data called vectors (or embeddings). PostgreSQL, thanks to its flexibility, can be transformed into a full vector database with the help of pgvector. In this article we will see in simple words what it is, how it is installed in PostgreSQL in [\u2026]<\/p>","protected":false},"author":1,"featured_media":2376,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,123],"tags":[29,48,124,30],"class_list":["post-6120","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-databases","category-postgresql","tag-databases","tag-performance_tuning","tag-postgresql","tag-rdbms"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search - DataPlatform.gr<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search - DataPlatform.gr\" \/>\n<meta property=\"og:description\" content=\"\u039f\u03b9 \u03c3\u03cd\u03b3\u03c7\u03c1\u03bf\u03bd\u03b5\u03c2 \u03b5\u03c6\u03b1\u03c1\u03bc\u03bf\u03b3\u03ad\u03c2 \u03c4\u03b5\u03c7\u03bd\u03b7\u03c4\u03ae\u03c2 \u03bd\u03bf\u03b7\u03bc\u03bf\u03c3\u03cd\u03bd\u03b7\u03c2 \u03ba\u03b1\u03b9 \u03c4\u03b1 Large Language Models \u03b2\u03b1\u03c3\u03af\u03b6\u03bf\u03bd\u03c4\u03b1\u03b9 \u03c3\u03b5 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03c0\u03bf\u03c5 \u03bf\u03bd\u03bf\u03bc\u03ac\u03b6\u03bf\u03bd\u03c4\u03b1\u03b9 \u03b4\u03b9\u03b1\u03bd\u03cd\u03c3\u03bc\u03b1\u03c4\u03b1 (vectors \u03ae embeddings). \u0397 PostgreSQL, \u03c7\u03ac\u03c1\u03b7 \u03c3\u03c4\u03b7\u03bd \u03b5\u03c5\u03b5\u03bb\u03b9\u03be\u03af\u03b1 \u03c4\u03b7\u03c2, \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03bc\u03b5\u03c4\u03b1\u03c4\u03c1\u03b1\u03c0\u03b5\u03af \u03c3\u03b5 \u03bc\u03b9\u03b1 \u03c0\u03bb\u03ae\u03c1\u03b7 \u03b4\u03b9\u03b1\u03bd\u03c5\u03c3\u03bc\u03b1\u03c4\u03b9\u03ba\u03ae \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd \u03bc\u03b5 \u03c4\u03b7 \u03b2\u03bf\u03ae\u03b8\u03b5\u03b9\u03b1 \u03c4\u03bf\u03c5 pgvector. \u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc\u03bd \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03bc\u03b5 \u03b1\u03c0\u03bb\u03ac \u03bb\u03cc\u03b3\u03b9\u03b1 \u03c4\u03b9 \u03b5\u03af\u03bd\u03b1\u03b9, \u03c0\u03ce\u03c2 \u03b5\u03b3\u03ba\u03b1\u03b8\u03af\u03c3\u03c4\u03b1\u03c4\u03b1\u03b9 \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03c3\u03b5 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/\" \/>\n<meta property=\"og:site_name\" content=\"DataPlatform.gr\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dataplatform.gr\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-26T04:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/db_postgresql.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Stratos Matzouranis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Stratos Matzouranis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/\"},\"author\":{\"name\":\"Stratos Matzouranis\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\"},\"headline\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search\",\"datePublished\":\"2026-10-26T04:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/\"},\"wordCount\":50,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/db_postgresql.png\",\"keywords\":[\"Databases\",\"Performance Tuning\",\"PostgreSQL\",\"RDBMS\"],\"articleSection\":[\"Databases\",\"PostgreSQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/\",\"name\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search - DataPlatform.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/db_postgresql.png\",\"datePublished\":\"2026-10-26T04:00:00+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/db_postgresql.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/db_postgresql.png\",\"width\":1280,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Databases\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PostgreSQL\",\"item\":\"https:\\\/\\\/www.dataplatform.gr\\\/category\\\/databases\\\/postgresql\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"name\":\"dataplatform.gr - Sky is not the limit!\",\"description\":\"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dataplatform.gr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\",\"name\":\"dataplatform.gr\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"contentUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/dp_logo_wbacki.png\",\"width\":322,\"height\":139,\"caption\":\"dataplatform.gr\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dataplatform.gr\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dataplatform-gr\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\",\"name\":\"Stratos Matzouranis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g\",\"caption\":\"Stratos Matzouranis\"},\"sameAs\":[\"https:\\\/\\\/www.dataplatform.gr\"],\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/en\\\/author\\\/stratos-matzouranis\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search - DataPlatform.gr","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:\/\/www.dataplatform.gr\/en\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/","og_locale":"en_US","og_type":"article","og_title":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search - DataPlatform.gr","og_description":"\u039f\u03b9 \u03c3\u03cd\u03b3\u03c7\u03c1\u03bf\u03bd\u03b5\u03c2 \u03b5\u03c6\u03b1\u03c1\u03bc\u03bf\u03b3\u03ad\u03c2 \u03c4\u03b5\u03c7\u03bd\u03b7\u03c4\u03ae\u03c2 \u03bd\u03bf\u03b7\u03bc\u03bf\u03c3\u03cd\u03bd\u03b7\u03c2 \u03ba\u03b1\u03b9 \u03c4\u03b1 Large Language Models \u03b2\u03b1\u03c3\u03af\u03b6\u03bf\u03bd\u03c4\u03b1\u03b9 \u03c3\u03b5 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03c0\u03bf\u03c5 \u03bf\u03bd\u03bf\u03bc\u03ac\u03b6\u03bf\u03bd\u03c4\u03b1\u03b9 \u03b4\u03b9\u03b1\u03bd\u03cd\u03c3\u03bc\u03b1\u03c4\u03b1 (vectors \u03ae embeddings). \u0397 PostgreSQL, \u03c7\u03ac\u03c1\u03b7 \u03c3\u03c4\u03b7\u03bd \u03b5\u03c5\u03b5\u03bb\u03b9\u03be\u03af\u03b1 \u03c4\u03b7\u03c2, \u03bc\u03c0\u03bf\u03c1\u03b5\u03af \u03bd\u03b1 \u03bc\u03b5\u03c4\u03b1\u03c4\u03c1\u03b1\u03c0\u03b5\u03af \u03c3\u03b5 \u03bc\u03b9\u03b1 \u03c0\u03bb\u03ae\u03c1\u03b7 \u03b4\u03b9\u03b1\u03bd\u03c5\u03c3\u03bc\u03b1\u03c4\u03b9\u03ba\u03ae \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd \u03bc\u03b5 \u03c4\u03b7 \u03b2\u03bf\u03ae\u03b8\u03b5\u03b9\u03b1 \u03c4\u03bf\u03c5 pgvector. \u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc\u03bd \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03bc\u03b5 \u03b1\u03c0\u03bb\u03ac \u03bb\u03cc\u03b3\u03b9\u03b1 \u03c4\u03b9 \u03b5\u03af\u03bd\u03b1\u03b9, \u03c0\u03ce\u03c2 \u03b5\u03b3\u03ba\u03b1\u03b8\u03af\u03c3\u03c4\u03b1\u03c4\u03b1\u03b9 \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03c3\u03b5 [&hellip;]","og_url":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/","og_site_name":"DataPlatform.gr","article_publisher":"https:\/\/www.facebook.com\/dataplatform.gr\/","article_published_time":"2026-10-26T04:00:00+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/db_postgresql.png","type":"image\/png"}],"author":"Stratos Matzouranis","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Stratos Matzouranis","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/#article","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/"},"author":{"name":"Stratos Matzouranis","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf"},"headline":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search","datePublished":"2026-10-26T04:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/"},"wordCount":50,"commentCount":0,"publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/db_postgresql.png","keywords":["Databases","Performance Tuning","PostgreSQL","RDBMS"],"articleSection":["Databases","PostgreSQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/","url":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/","name":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search - DataPlatform.gr","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/#primaryimage"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/db_postgresql.png","datePublished":"2026-10-26T04:00:00+00:00","breadcrumb":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/#primaryimage","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/db_postgresql.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/db_postgresql.png","width":1280,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-chrisi-pgvector-stin-postgresql-ai-ve\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0391\u03c1\u03c7\u03b9\u03ba\u03ae","item":"https:\/\/www.dataplatform.gr\/"},{"@type":"ListItem","position":2,"name":"Databases","item":"https:\/\/www.dataplatform.gr\/category\/databases\/"},{"@type":"ListItem","position":3,"name":"PostgreSQL","item":"https:\/\/www.dataplatform.gr\/category\/databases\/postgresql\/"},{"@type":"ListItem","position":4,"name":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 pgvector \u03c3\u03c4\u03b7\u03bd PostgreSQL \u03b3\u03b9\u03b1 AI \u03ba\u03b1\u03b9 Vector Search"}]},{"@type":"WebSite","@id":"https:\/\/www.dataplatform.gr\/#website","url":"https:\/\/www.dataplatform.gr\/","name":"dataplatform.gr - Sky is not the limit!","description":"\u0398\u03b5\u03c9\u03c1\u03af\u03b1, \u03bf\u03b4\u03b7\u03b3\u03bf\u03af \u03ba\u03b1\u03b9 \u03c3\u03ba\u03ad\u03c8\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03ba\u03ac\u03bd\u03b5\u03c4\u03b5 \u03c4\u03b7 \u03b4\u03bf\u03c5\u03bb\u03b5\u03b9\u03ac \u03c3\u03b1\u03c2 \u03c0\u03b9\u03bf \u03c0\u03b1\u03c1\u03b1\u03b3\u03c9\u03b3\u03b9\u03ba\u03ac \u03ba\u03b1\u03b9 \u03c0\u03b9\u03bf \u03b5\u03cd\u03ba\u03bf\u03bb\u03b1 \u03c0\u03ac\u03bd\u03c9 \u03c3\u03c4\u03b9\u03c2 \u03b2\u03ac\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd, \u03c3\u03c4\u03b7\u03bd SQL, \u03c3\u03c4\u03bf Business Intelligence \u03ba\u03b1\u03b9 \u03c3\u03c4\u03b1 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03b1 \u03b3\u03b5\u03bd\u03b9\u03ba\u03cc\u03c4\u03b5\u03c1\u03b1.","publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dataplatform.gr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dataplatform.gr\/#organization","name":"dataplatform.gr","url":"https:\/\/www.dataplatform.gr\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/","url":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","contentUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/06\/dp_logo_wbacki.png","width":322,"height":139,"caption":"dataplatform.gr"},"image":{"@id":"https:\/\/www.dataplatform.gr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dataplatform.gr\/","https:\/\/www.linkedin.com\/company\/dataplatform-gr\/"]},{"@type":"Person","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf","name":"Stratos Matzouranis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ab973bc4bd1673c43d45de5633a624d9ad13c06902dfdd5a6e3fd9885903865e?s=96&d=mm&r=g","caption":"Stratos Matzouranis"},"sameAs":["https:\/\/www.dataplatform.gr"],"url":"https:\/\/www.dataplatform.gr\/en\/author\/stratos-matzouranis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/6120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/comments?post=6120"}],"version-history":[{"count":1,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/6120\/revisions"}],"predecessor-version":[{"id":6241,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/6120\/revisions\/6241"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media\/2376"}],"wp:attachment":[{"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/media?parent=6120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/categories?post=6120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/tags?post=6120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}