{"id":869,"date":"2024-11-15T05:50:43","date_gmt":"2024-11-15T05:50:43","guid":{"rendered":"https:\/\/realstudy.net\/?p=869"},"modified":"2024-11-29T05:50:48","modified_gmt":"2024-11-29T05:50:48","slug":"install-postgresql-docker-kubernetes","status":"publish","type":"post","link":"https:\/\/realstudy.net\/?p=869","title":{"rendered":"Install PostgreSQL &#8211; Docker, Kubernetes"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"869\" class=\"elementor elementor-869\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-712f444 e-flex e-con-boxed e-con e-parent\" data-id=\"712f444\" 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-e8a23a1 elementor-widget elementor-widget-text-editor\" data-id=\"e8a23a1\" 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>This guide explains how to install a PostgreSQL database using Docker and how to easily install it on Kubernetes using Helm. Necessary scripts for the installation will also be provided, which can be modified to suit your environment.<\/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-68e8542 elementor-widget elementor-widget-text-editor\" data-id=\"68e8542\" 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<h3>Prerequisites:<\/h3><ul style=\"margin-left: 0em;\"><li><strong>Docker<\/strong> and <strong>Docker-Compose<\/strong> installed<\/li><li>Access to a <strong>Kubernetes cluster<\/strong><\/li><li><strong>Helm<\/strong> installed<\/li><\/ul>\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-888857f elementor-widget elementor-widget-text-editor\" data-id=\"888857f\" 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<h3>Contents:<\/h3><ol style=\"margin-left: 0em;\"><li><strong>Installation with Docker Compose<\/strong>:<br \/><ul style=\"margin-left: 0em;\"><li>Install PostgreSQL locally using Docker.<\/li><\/ul><\/li><li><strong>Installation on Kubernetes<\/strong>:<br \/><ul style=\"margin-left: 0em;\"><li>Install PostgreSQL using Helm.<\/li><\/ul><\/li><\/ol>\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-9170384 e-flex e-con-boxed e-con e-parent\" data-id=\"9170384\" 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-130049b elementor-widget elementor-widget-heading\" data-id=\"130049b\" 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\">* Installing Locally Using Docker Compose<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b7fe046 elementor-widget elementor-widget-text-editor\" data-id=\"b7fe046\" 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 example, the local path for storing data files is set to &#8220;\/data\/postgres.&#8221; To ensure compatibility, the group ID and user ID used by Docker must match the ownership of this data path. Therefore, creating the data path and setting the correct ownership should be done first.<div><div>* The Bitnami PostgreSQL image uses group ID 1001 and user ID 1001.<\/div><\/div><\/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-d117410 elementor-widget elementor-widget-code-highlight\" data-id=\"d117410\" 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>user:~$ sudo mkdir -p \/data\/postgres\nuser:~$ sudo chown 1001:1001 \/data\/postgres<\/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-42545f0 elementor-widget elementor-widget-text-editor\" data-id=\"42545f0\" 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><b>docker-compose.yml<\/b><\/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-019662d elementor-widget elementor-widget-code-highlight\" data-id=\"019662d\" 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-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>services:\n# define postgresql container\n  postgresql:\n    image: docker.io\/bitnami\/postgresql:17\n    restart: unless-stopped\n    container_name: postgresql\n    ports:\n      - '5432:5432'\n    volumes:\n      - '\/data\/postgres:\/bitnami\/postgresql'\n    environment:\n      - POSTGRESQL_POSTGRES_PASSWORD=postgres\n      - POSTGRESQL_USERNAME=rsnet\n      - POSTGRESQL_PASSWORD=rsnet\n      - POSTGRESQL_DATABASE=rsnet<\/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-b188082 elementor-widget elementor-widget-text-editor\" data-id=\"b188082\" 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>Commands to Start and Stop the Container<\/strong><\/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-ac7c238 elementor-widget elementor-widget-code-highlight\" data-id=\"ac7c238\" 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># start container\nuser:~$ docker compose up postgresql -d\n\n# stop container\nuser:~$ docker container stop <container hash value>\n\n# remove container\nuser:~$ docker container rm <container hash value>\n<\/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-72577bb e-flex e-con-boxed e-con e-parent\" data-id=\"72577bb\" 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-e19b2a9 elementor-widget elementor-widget-heading\" data-id=\"e19b2a9\" 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\">* Installing Locally Using Docker Compose : vector extension<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-86670f8 elementor-widget elementor-widget-text-editor\" data-id=\"86670f8\" 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 use vector database functionality in PostgreSQL, you need to use an image that includes the pgvector extension. If you wish to utilize the DockerHub image provided by RealStudy.NET, you can specify the image path as shown below.<\/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-864c9aa elementor-widget elementor-widget-code-highlight\" data-id=\"864c9aa\" 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-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>services:\n# define postgresql container\n  postgresql:\n    image: nockchun\/postgresql_pgvector.rs:17.2.0_0.4.0\n    restart: unless-stopped\n    container_name: postgresql\n    ports:\n      - '5432:5432'\n    volumes:\n      - '\/data\/postgres:\/bitnami\/postgresql'\n    environment:\n      - POSTGRESQL_POSTGRES_PASSWORD=postgres\n      - POSTGRESQL_USERNAME=rsnet\n      - POSTGRESQL_PASSWORD=rsnet\n      - POSTGRESQL_DATABASE=rsnet<\/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-b19fe43 elementor-widget elementor-widget-text-editor\" data-id=\"b19fe43\" 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 need to enter the PostgreSQL container shell and register (load) the vector DB extension. Then, restart 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-31b3076 elementor-widget elementor-widget-code-highlight\" data-id=\"31b3076\" 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># Run the container shell\nuser:~$ docker compose exec postgresql bash\n\n# Loading vector extension\ncontainer:\/$ psql -U postgres -c 'ALTER SYSTEM SET shared_preload_libraries = \"vectors.so\"'\ncontainer:\/$ psql -U postgres -c 'ALTER SYSTEM SET search_path TO \"$user\", public, vectors'\n\n# Restart container\nuser:~$ docker compose restart postgresql<\/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-e8e07f3 elementor-widget elementor-widget-text-editor\" data-id=\"e8e07f3\" 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>* Activate the vector DB extension using a query tool like psql or DBeaver.<\/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-aa7674f elementor-widget elementor-widget-code-highlight\" data-id=\"aa7674f\" 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># Enable the extension\npsql:~$ CREATE EXTENSION vectors;\n\n# Disable the extension\npsql:\/$ DROP 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\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a18e46b e-flex e-con-boxed e-con e-parent\" data-id=\"a18e46b\" 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-6406090 elementor-widget elementor-widget-heading\" data-id=\"6406090\" 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\">* Installing on Kubernetes Using Helm<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13d41da elementor-widget elementor-widget-text-editor\" data-id=\"13d41da\" 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>Utilizing Helm in a Kubernetes environment allows for a straightforward and efficient installation and management of PostgreSQL. This method enables completion of major configurations with a single command, making it accessible even for beginners. The guide uses Bitnami&#8217;s Helm Chart and Docker image for the simplest installation method.<\/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-2d6ef5a elementor-widget elementor-widget-text-editor\" data-id=\"2d6ef5a\" 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><b>Add the Bitnami Repository:<\/b><\/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-3160d3e elementor-widget elementor-widget-code-highlight\" data-id=\"3160d3e\" 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>user:~$ helm repo add bitnami https:\/\/charts.bitnami.com\/bitnami\nuser:~$ helm repo update<\/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-6d6e223 elementor-widget elementor-widget-text-editor\" data-id=\"6d6e223\" 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><b>Check Configuration Options:<\/b><\/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-b5332ab elementor-widget elementor-widget-code-highlight\" data-id=\"b5332ab\" 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-python line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp>user:~$ helm show values bitnami\/postgresql > postgresql-values.yaml<\/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-b8820ee elementor-widget elementor-widget-text-editor\" data-id=\"b8820ee\" 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>* This command saves the values.yaml file, which contains configurable options and their exact locations. Alternatively, you can refer to the official documentation on Artifact Hub.\n* Artifact Hub: <a href=\"https:\/\/artifacthub.io\/packages\/helm\/bitnami\/postgresql\" target=\"_blank\" rel=\"noopener\">https:\/\/artifacthub.io\/packages\/helm\/bitnami\/postgresql<\/a><\/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-e3569e7 elementor-widget elementor-widget-text-editor\" data-id=\"e3569e7\" 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>Installation Command:<\/strong><\/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-06c2e2a elementor-widget elementor-widget-code-highlight\" data-id=\"06c2e2a\" 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>user:~$ helm install postgresql bitnami\/postgresql --namespace postgresql --create-namespace \\\n  --set global.postgresql.auth.postgresPassword=postgres \\\n  --set global.postgresql.auth.username=rsnet \\\n  --set global.postgresql.auth.password=rsnet \\\n  --set global.postgresql.auth.database=rsnet \\\n  --set primary.persistence.storageClass=local-path \\\n  --set primary.persistence.size=50Gi \\\n  --set primary.resources.requests.memory=512Mi \\\n  --set primary.resources.limits.memory=30000Mi \\\n  --set primary.service.type=LoadBalancer \\\n  --set primary.service.port=5432<\/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-21daec5 elementor-widget elementor-widget-text-editor\" data-id=\"21daec5\" 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 use vector DB features in PostgreSQL, specify an image that includes the pgvector extension. If you prefer to use the DockerHub image provided by RealStudy.NET, set the image.repository and image.tag as follows.<\/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-775fa49 elementor-widget elementor-widget-code-highlight\" data-id=\"775fa49\" 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>user:~$ helm install postgresql bitnami\/postgresql --namespace postgresql --create-namespace \\\n  --set image.repository=nockchun\/postgresql_pgvector.rs \\\n  --set image.tag=17.2.0_0.4.0 \\\n  --set global.postgresql.auth.postgresPassword=postgres \\\n  --set global.postgresql.auth.username=rsnet \\\n  --set global.postgresql.auth.password=rsnet \\\n  --set global.postgresql.auth.database=rsnet \\\n  --set primary.persistence.storageClass=local-path \\\n  --set primary.persistence.size=50Gi \\\n  --set primary.resources.requests.memory=512Mi \\\n  --set primary.resources.limits.memory=30000Mi \\\n  --set primary.service.type=LoadBalancer \\\n  --set primary.service.port=5432<\/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-a285623 elementor-widget elementor-widget-text-editor\" data-id=\"a285623\" 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 are using an image that includes the pgvector extension, you need to register (load) the vector DB extension after installation as explained in the section &#8220;Using Docker Compose Locally: Using the Vector Extension.&#8221; Then, activate it using a query tool such as psql or DBeaver.<\/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-eecebd6 elementor-widget elementor-widget-text-editor\" data-id=\"eecebd6\" 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>Verify Installation:<\/strong><\/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-211e646 elementor-widget elementor-widget-code-highlight\" data-id=\"211e646\" 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-python line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-python\">\n\t\t\t\t\t<xmp># Check if it is installed and running properly.\nuser:~$ kubectl get all -n postgresql<\/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>This guide explains how to install a PostgreSQL database using Docker and how to easily install it on Kubernetes using&hellip;<\/p>\n","protected":false},"author":1,"featured_media":532,"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-869","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\/postgresql_install.jpeg","_links":{"self":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts\/869","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=869"}],"version-history":[{"count":13,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts\/869\/revisions"}],"predecessor-version":[{"id":1042,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/posts\/869\/revisions\/1042"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=\/wp\/v2\/media\/532"}],"wp:attachment":[{"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/realstudy.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}