{"id":6178,"date":"2026-08-24T07:00:00","date_gmt":"2026-08-24T04:00:00","guid":{"rendered":"https:\/\/www.dataplatform.gr\/?p=6178"},"modified":"2026-08-28T13:36:07","modified_gmt":"2026-08-28T10:36:07","slug":"pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2","status":"publish","type":"post","link":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/","title":{"rendered":"How to Point in Time Restore a PostgreSQL database without using 3rd party tools"},"content":{"rendered":"<p class=\"wp-block-paragraph\">In a previous article we had seen how to take full and log (WAL) backup without using 3rd party tools. In this article we will now see how we can restore the database with <strong>Point in Time Restore (PITR)<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The footsteps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">First we need to find where the postgres files are located:<\/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 -u postgres psql -c \"SHOW data_directory;\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then we stop the database:<\/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 systemctl stop postgresql-11<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For example, we will delete the existing database with the following command:<\/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 rm -rf \/var\/lib\/pgsql\/11\/data\/*<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">To restore the full backup that we had taken by compressing it into tar, we must run the following command, entering the path where the backup is located and the path we want to restore, respectively:<\/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 tar -xzf \/var\/lib\/postgresql\/backup\/full\/full_20260721_094219\/base.tar.gz -C \/var\/lib\/pgsql\/11\/data\/<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then, in order to be able to access the database at a specific point in time, we need to create the file <strong>recovery.signal<\/strong>, in this file we must define the path where the archive logs (WALs) are located and the target time, that is, the moment we want to reach:<\/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 vi \/var\/lib\/pgsql\/11\/data\/recovery.signal<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">In this we put the corresponding parameters:<\/p>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\" data-no-auto-translation=\"\"><code>restore_command = 'cp \/var\/lib\/postgresql\/archived_wal\/%f \"%p\"'\nrecovery_target_time = '2026-07-21 10:00:00'\nrecovery_target_action = 'promote'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Finally we start the service again:<\/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 systemctl start postgresql-11<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">To see the latest log to ensure that we have no errors with the postgres user, we do tail with this parameter:<\/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=\"\">su postgres\n\ntail -f $(ls -t \/var\/lib\/pgsql\/11\/data\/log\/postgresql-*.log | head -n 1)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Either with super user from the system journal:<\/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 journalctl -u postgresql-11.service -e --no-pager<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If we want to see if the restore has completed, we connect to the terminal:<\/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 -u postgres psql<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">We run the following select:<\/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=\"\">SELECT pg_is_in_recovery();<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If it appears <strong>false <\/strong>means that the restore from the WALs has been completed.<\/p>\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>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>In a previous article we saw how to take full and log (WAL) backups without using 3rd party tools. In this article we will now see how we can restore the database with Point in Time Restore (PITR). The steps First we need to find where the postgres files are located: Then we stop the database [\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":[100,29,124,30],"class_list":["post-6178","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-databases","category-postgresql","tag-backup_restore","tag-databases","tag-postgresql","tag-rdbms"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools - 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-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/\" \/>\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 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools - DataPlatform.gr\" \/>\n<meta property=\"og:description\" content=\"\u03a3\u03b5 \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b5\u03af\u03c7\u03b1\u03bc\u03b5 \u03b4\u03b5\u03b9 \u03c0\u03c9\u03c2 \u03c0\u03b1\u03af\u03c1\u03bd\u03bf\u03c5\u03bc\u03b5 full \u03ba\u03b1\u03b9 log (WAL) backup \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools. \u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03ce\u03c1\u03b1 \u03c0\u03c9\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b5\u03c0\u03b1\u03bd\u03b1\u03c6\u03ad\u03c1\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd \u03bc\u03b5 Point in Time Restore (PITR). \u03a4\u03b1 \u03b2\u03ae\u03bc\u03b1\u03c4\u03b1 \u03a0\u03c1\u03ce\u03c4\u03b1 \u03b8\u03b1 \u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03b2\u03c1\u03bf\u03cd\u03bc\u03b5 \u03c0\u03bf\u03c5 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03bd\u03c4\u03b1\u03b9 \u03c4\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03b1 \u03c4\u03b7\u03c2 postgres: \u0388\u03c0\u03b5\u03b9\u03c4\u03b1 \u03c3\u03c4\u03b1\u03bc\u03b1\u03c4\u03ac\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b2\u03ac\u03c3\u03b7 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/\" \/>\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-08-24T04:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-28T10:36:07+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-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/\"},\"author\":{\"name\":\"Stratos Matzouranis\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#\\\/schema\\\/person\\\/e87bf4fd02b65cb6aa0942f87245bbaf\"},\"headline\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools\",\"datePublished\":\"2026-08-24T04:00:00+00:00\",\"dateModified\":\"2026-08-28T10:36:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/\"},\"wordCount\":50,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/db_postgresql.png\",\"keywords\":[\"Backup \\\/ Restore\",\"Databases\",\"PostgreSQL\",\"RDBMS\"],\"articleSection\":[\"Databases\",\"PostgreSQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/\",\"url\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/\",\"name\":\"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools - DataPlatform.gr\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dataplatform.gr\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/db_postgresql.png\",\"datePublished\":\"2026-08-24T04:00:00+00:00\",\"dateModified\":\"2026-08-28T10:36:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dataplatform.gr\\\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/#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-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\\\/#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 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools\"}]},{\"@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 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools - 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-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/","og_locale":"en_US","og_type":"article","og_title":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools - DataPlatform.gr","og_description":"\u03a3\u03b5 \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b5\u03af\u03c7\u03b1\u03bc\u03b5 \u03b4\u03b5\u03b9 \u03c0\u03c9\u03c2 \u03c0\u03b1\u03af\u03c1\u03bd\u03bf\u03c5\u03bc\u03b5 full \u03ba\u03b1\u03b9 log (WAL) backup \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools. \u03a3\u03b5 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03ac\u03c1\u03b8\u03c1\u03bf \u03b8\u03b1 \u03b4\u03bf\u03cd\u03bc\u03b5 \u03c4\u03ce\u03c1\u03b1 \u03c0\u03c9\u03c2 \u03bc\u03c0\u03bf\u03c1\u03bf\u03cd\u03bc\u03b5 \u03bd\u03b1 \u03b5\u03c0\u03b1\u03bd\u03b1\u03c6\u03ad\u03c1\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd \u03bc\u03b5 Point in Time Restore (PITR). \u03a4\u03b1 \u03b2\u03ae\u03bc\u03b1\u03c4\u03b1 \u03a0\u03c1\u03ce\u03c4\u03b1 \u03b8\u03b1 \u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03b2\u03c1\u03bf\u03cd\u03bc\u03b5 \u03c0\u03bf\u03c5 \u03b2\u03c1\u03af\u03c3\u03ba\u03bf\u03bd\u03c4\u03b1\u03b9 \u03c4\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03b1 \u03c4\u03b7\u03c2 postgres: \u0388\u03c0\u03b5\u03b9\u03c4\u03b1 \u03c3\u03c4\u03b1\u03bc\u03b1\u03c4\u03ac\u03bc\u03b5 \u03c4\u03b7\u03bd \u03b2\u03ac\u03c3\u03b7 [&hellip;]","og_url":"https:\/\/www.dataplatform.gr\/en\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/","og_site_name":"DataPlatform.gr","article_publisher":"https:\/\/www.facebook.com\/dataplatform.gr\/","article_published_time":"2026-08-24T04:00:00+00:00","article_modified_time":"2026-08-28T10:36:07+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-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/#article","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/"},"author":{"name":"Stratos Matzouranis","@id":"https:\/\/www.dataplatform.gr\/#\/schema\/person\/e87bf4fd02b65cb6aa0942f87245bbaf"},"headline":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools","datePublished":"2026-08-24T04:00:00+00:00","dateModified":"2026-08-28T10:36:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/"},"wordCount":50,"commentCount":0,"publisher":{"@id":"https:\/\/www.dataplatform.gr\/#organization"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/db_postgresql.png","keywords":["Backup \/ Restore","Databases","PostgreSQL","RDBMS"],"articleSection":["Databases","PostgreSQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/","url":"https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/","name":"\u03a0\u03ce\u03c2 \u03ba\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools - DataPlatform.gr","isPartOf":{"@id":"https:\/\/www.dataplatform.gr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/#primaryimage"},"image":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dataplatform.gr\/wp-content\/uploads\/2020\/10\/db_postgresql.png","datePublished":"2026-08-24T04:00:00+00:00","dateModified":"2026-08-28T10:36:07+00:00","breadcrumb":{"@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dataplatform.gr\/pos-kanoyme-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/#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-point-in-time-restore-vasi-dedomenon-postgresql-chori-2\/#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 Point in Time Restore \u03b2\u03ac\u03c3\u03b7 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd PostgreSQL \u03c7\u03c9\u03c1\u03af\u03c2 \u03c4\u03b7\u03bd \u03c7\u03c1\u03ae\u03c3\u03b7 3rd party tools"}]},{"@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\/6178","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=6178"}],"version-history":[{"count":1,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/6178\/revisions"}],"predecessor-version":[{"id":6181,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/posts\/6178\/revisions\/6181"}],"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=6178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/categories?post=6178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dataplatform.gr\/en\/wp-json\/wp\/v2\/tags?post=6178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}