{"id":883,"date":"2024-11-15T16:31:04","date_gmt":"2024-11-15T16:31:04","guid":{"rendered":"https:\/\/realstudy.net\/?p=883"},"modified":"2024-12-05T00:43:12","modified_gmt":"2024-12-05T00:43:12","slug":"creating-back-up-postgresql-databases","status":"publish","type":"post","link":"https:\/\/realstudy.net\/?p=883","title":{"rendered":"Creating &amp; Back Up PostgreSQL Databases"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"883\" class=\"elementor elementor-883\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e5b556f e-flex e-con-boxed e-con e-parent\" data-id=\"e5b556f\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3720ac4 elementor-widget elementor-widget-text-editor\" data-id=\"3720ac4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>PostgreSQL is a high-performance, scalable, and widely-used open-source relational database system. In this article, we provide a detailed guide covering everything from creating to backing up PostgreSQL databases. We will explore how to use DBeaver for database creation, management, and query execution, as well as introduce efficient backup procedures using pg_dump. Additionally, we present practical approaches for backing up databases in containerized environments such as Docker and Kubernetes. By following this guide, you will gain a comprehensive understanding of how to effectively manage and safeguard PostgreSQL databases across various environments.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f893b93 e-flex e-con-boxed e-con e-parent\" data-id=\"f893b93\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c30dd2 elementor-widget elementor-widget-heading\" data-id=\"4c30dd2\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">* Connecting with DBeaver<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f181a88 elementor-widget elementor-widget-text-editor\" data-id=\"f181a88\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* First, navigate to the menu and select <strong>&#8220;Database &gt; New Database Connection&#8221;<\/strong>, then choose <strong>PostgreSQL<\/strong> from the list of database types.<br \/><strong>\u00a0 \u00a0&gt; Host<\/strong>: The domain or IP address of the database server<br \/><strong>\u00a0 \u00a0&gt; Port<\/strong>: Connection port (default: 5432)<br \/><strong>\u00a0 \u00a0&gt; Database<\/strong>: Name of the database (default: postgres)<br \/><strong>\u00a0 &gt; Username \/ Password<\/strong>: Login credentials (password set for the postgres account during installation)<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1ccc39 elementor-widget elementor-widget-image\" data-id=\"e1ccc39\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1021\" height=\"668\" src=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con1.jpg\" class=\"attachment-full size-full wp-image-615\" alt=\"\" srcset=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con1.jpg 1021w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con1-300x196.jpg 300w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con1-768x502.jpg 768w\" sizes=\"(max-width: 1021px) 100vw, 1021px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6559249 elementor-widget elementor-widget-text-editor\" data-id=\"6559249\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* <strong>Test Connection<\/strong>: Verify that the entered information allows a successful connection.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1290476 elementor-widget elementor-widget-image\" data-id=\"1290476\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1021\" height=\"668\" src=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con2.jpg\" class=\"attachment-full size-full wp-image-616\" alt=\"\" srcset=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con2.jpg 1021w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con2-300x196.jpg 300w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con2-768x502.jpg 768w\" sizes=\"(max-width: 1021px) 100vw, 1021px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a14add6 elementor-widget elementor-widget-text-editor\" data-id=\"a14add6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* In the menu, select <strong>SQL Editor &gt; New SQL Script<\/strong> to open a script window for executing SQL queries.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f250b5 elementor-widget elementor-widget-image\" data-id=\"7f250b5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1021\" height=\"668\" src=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con3.jpg\" class=\"attachment-full size-full wp-image-621\" alt=\"\" srcset=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con3.jpg 1021w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con3-300x196.jpg 300w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con3-768x502.jpg 768w\" sizes=\"(max-width: 1021px) 100vw, 1021px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-031c397 elementor-widget elementor-widget-text-editor\" data-id=\"031c397\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* Write your query in the SQL editor and press <strong>&#8220;Control + Enter&#8221;<\/strong> to execute it.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-876f8ba elementor-widget elementor-widget-image\" data-id=\"876f8ba\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1021\" height=\"668\" src=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con4.jpg\" class=\"attachment-full size-full wp-image-622\" alt=\"\" srcset=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con4.jpg 1021w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con4-300x196.jpg 300w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con4-768x502.jpg 768w\" sizes=\"(max-width: 1021px) 100vw, 1021px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-05c1fd1 e-flex e-con-boxed e-con e-parent\" data-id=\"05c1fd1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-99d6237 elementor-widget elementor-widget-heading\" data-id=\"99d6237\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">* Creating a Database &amp; Database Administrator User<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f097bc elementor-widget elementor-widget-text-editor\" data-id=\"7f097bc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* The example below demonstrates how to create a test database and assign a superadmin user, test_admin, to manage the newly created database.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-de3a147 elementor-widget elementor-widget-code-highlight\" data-id=\"de3a147\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp>-- Create database\nCREATE DATABASE test;\n\n-- Create user\nCREATE USER test_admin WITH PASSWORD 'secure_password';\n\n-- Make a user the manager of a table\nALTER DATABASE test OWNER TO test_admin;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4f682fd elementor-widget elementor-widget-text-editor\" data-id=\"4f682fd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* If you want to grant the user superuser privileges to manage the entire PostgreSQL system, you can use the query below. However, it is not recommended to elevate a user to superuser solely for the convenience of development or management.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7221ee8 elementor-widget elementor-widget-code-highlight\" data-id=\"7221ee8\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-sql line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-sql\">\n\t\t\t\t\t<xmp># Create\nCREATE EXTENSION vector;\n\n# Drop\nDROP EXTENSION IF EXISTS vectors;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-127bd6d elementor-widget elementor-widget-text-editor\" data-id=\"127bd6d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* You can verify the connection by logging in again using the credentials of the newly created database and user.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a7c90d elementor-widget elementor-widget-image\" data-id=\"3a7c90d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"964\" height=\"635\" src=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con5.jpg\" class=\"attachment-full size-full wp-image-637\" alt=\"\" srcset=\"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con5.jpg 964w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con5-300x198.jpg 300w, https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/dbeaver_con5-768x506.jpg 768w\" sizes=\"(max-width: 964px) 100vw, 964px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a7e05e5 e-flex e-con-boxed e-con e-parent\" data-id=\"a7e05e5\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-619d9cb elementor-widget elementor-widget-heading\" data-id=\"619d9cb\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">* DB Backup<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-634c794 elementor-widget elementor-widget-text-editor\" data-id=\"634c794\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* You can use pg_dump for backups. If PostgreSQL is installed locally, you can run the following command directly in the local shell.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bece4c7 elementor-widget elementor-widget-code-highlight\" data-id=\"bece4c7\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp># pg_dump -U {user name} {db name} > {backup file name}\npostgres-user:~$ pg_dump -U test_admin test > backup.sql<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-22b2f3a e-flex e-con-boxed e-con e-parent\" data-id=\"22b2f3a\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4c69f0d elementor-widget elementor-widget-heading\" data-id=\"4c69f0d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">* Backing Up a Database Running in a Container<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eaf7f20 elementor-widget elementor-widget-text-editor\" data-id=\"eaf7f20\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* If PostgreSQL is running inside a container, you first need to access the container&#8217;s shell. When performing a backup, a backup file is generated. However, container images typically grant limited permissions to the user for security reasons, which may prevent file creation. To resolve this, it is common to navigate to the \/tmp directory, as it allows regular users to create files.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-be0cdfc elementor-widget elementor-widget-code-highlight\" data-id=\"be0cdfc\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp># Check the container id\nuser:~$ docker ps\nCONTAINER ID   IMAGE         COMMAND              CREATED         STATUS\nc3f279d17e0a   postgresq     \"\/bin\/bash\"        5 minutes ago   Up 5 minute\n\n# Enter the Container : docker exec -it <container_name_or_id> \/bin\/bash\nuser:~$ docker exec -it c3f279d17e0a \/bin\/bash\n\n# Change directory\nc3f279d17e0a:~$ cd \/tmp\n\n# DB backup : pg_dump -U {user name} {db name} > {backup file name}\nc3f279d17e0a:\/tmp$ pg_dump -U test_admin test > backup.sql\n\n# Exit from the Docker container to the local host\nc3f279d17e0a:\/tmp$ exit\nuser:~$ <\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2f06d2 elementor-widget elementor-widget-text-editor\" data-id=\"c2f06d2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* To retrieve the generated backup file (backup.sql) to your local host, use a Docker command to copy it from the container.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-21cb46b elementor-widget elementor-widget-code-highlight\" data-id=\"21cb46b\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp># Copy the backup.sql file from the container to the local directory\nuser:~$ docker cp c3f279d17e0a:\/tmp\/backup.sql .<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5baa19c e-flex e-con-boxed e-con e-parent\" data-id=\"5baa19c\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-68d9aa1 elementor-widget elementor-widget-heading\" data-id=\"68d9aa1\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">* Database Restore<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec6283b elementor-widget elementor-widget-text-editor\" data-id=\"ec6283b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div>* Restoration can be done using psql. If PostgreSQL is installed locally, you can run the following command directly in the local shell.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-08535f1 elementor-widget elementor-widget-code-highlight\" data-id=\"08535f1\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp># psql -U {user name} {db name} < {backup file name}\npostgres-user:~$ psql -U test_admin test < backup.sql<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e0342a3 e-flex e-con-boxed e-con e-parent\" data-id=\"e0342a3\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e4f5076 elementor-widget elementor-widget-heading\" data-id=\"e4f5076\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">* Restoring a Database Running in a Container<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b13a2de elementor-widget elementor-widget-code-highlight\" data-id=\"b13a2de\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp># Check the container id\nuser:~$ docker ps\nCONTAINER ID   IMAGE         COMMAND               CREATED         STATUS\nc3f279d17e0a   postgresq     \"\/bin\/bash\"        5 minutes ago   Up 5 minute\n\n# Copy the backup.sql file from the local directory to the container\nuser:~$ docker cp backup.sql c3f279d17e0a:\/tmp\n\n# Enter the Container : docker exec -it <container_name_or_id> \/bin\/bash\nuser:~$ docker exec -it c3f279d17e0a \/bin\/bash\n\n# Change directory\nc3f279d17e0a:~$ cd \/tmp\n\n# DB restore : psql -U {user name} {db name} < {backup file name}\nc3f279d17e0a:\/tmp$ psql -U test_admin test < backup.sql\n\n# Exit from the Docker container to the local host\nc3f279d17e0a:\/tmp$ exit\nuser:~$ <\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>PostgreSQL is a high-performance, scalable, and widely-used open-source relational database system. In this article, we provide a detailed guide covering&hellip;<\/p>\n","protected":false},"author":1,"featured_media":603,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[21],"tags":[],"class_list":["post-883","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-computer_en"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/realstudy.net\/wp-content\/uploads\/2024\/11\/postgres_db_backup.jpg","_links":{"self":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts\/883","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=883"}],"version-history":[{"count":7,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts\/883\/revisions"}],"predecessor-version":[{"id":1049,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts\/883\/revisions\/1049"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/media\/603"}],"wp:attachment":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}