docker 搭建單機PostgreSQL操作詳解
一、前言
在實際項目中,PostgreSQL具有很多使用場景,為了方便應用開發(fā)時快速接入和調試,需要有PostgreSQL環(huán)境,本文演示如何基于linux環(huán)境搭建單節(jié)點postgresql完整操作過程。
二、前置準備
2.1 服務器環(huán)境
基于centos7以上版本的系統(tǒng),虛擬機或云服務一臺,配置不低于2C4G。
2.2 docker環(huán)境
提前在服務器安裝docker環(huán)境,后面需要基于docker安裝PostgreSQL。
三、docker安裝PostgreSQL過程
3.1 獲取PostgreSQL鏡像
使用下面的命令獲取鏡像
docker pull postgres
3.2 啟動容器
3.2.1 創(chuàng)建數據卷目錄
為了后續(xù)pg數據的持久化,需要提前創(chuàng)建一個數據卷映射目錄
mkdir /usr/local/soft/pg/data
3.2.2 啟動pg容器
使用下面的命令啟動postgresql的容器
docker run -d \ --name postgres \ -e POSTGRES_USER=root\ -e POSTGRES_PASSWORD=123456 \ -e ALLOW_IP_RANGE=0.0.0.0/0 \ -e POSTGRES_DB=postgres \ -v /usr/local/soft/pg/data:/var/lib/postgresql/data \ -p 54132:5432 \ postgres:latest
參數說明:
- -d ,以后臺進程啟動;
- --name ,指定容器的名字為 :root;
- POSTGRES_USER=postgres ,指定初始化的連接賬戶;
- POSTGRES_PASSWORD=123456 ,指定初始化的連接密碼;
- ALLOW_IP_RANGE=0.0.0.0/0 ,指定允許所有的客戶端可以連接;
- POSTGRES_DB=postgres ,指定默認的數據庫名稱;
- -v /usr/local/soft/pg/data:/var/lib/postgresql/data ,指定pg數據庫的數據卷;
- -p 5432:5432 ,容器與宿主機的映射端口,默認為5432 ;
容器運行成功,可以看到啟動了一個pg的容器;
3.3 客戶端測試連接數據庫
本地使用navicat連接pg數據庫,使用上述初始化的連接信息
四、創(chuàng)建數據庫與授權
和mysql在使用的時候類似,為了保證操作pg數據庫的安全性,需要進行相關的授權操作,pg的授權與mysql數據庫的授權有所不同,接下來看具體的操作演示過程。
4.1 進入PG容器
找到容器ID,使用下面的命令進入容器
docker exec -it 容器ID /bin/bash
4.2 PG常用操作命令
4.2.1 進入命令行
進入容器之后,使用下面的命令進入PG的操作命令行,類似于mysql的命令行工具
psql -U postgres -h 服務器IP -p 54132 postgres
輸入密碼,驗證成功后,就來到下面的命令行操作界面:
4.2.2 常用操作命令
1)列出當前所有數據庫
\l
2)列出當前數據庫的所有表
默認情況下,登錄進來使用的是postges這個數據庫,使用下面的命令可以查看所有表
3)切換數據庫
使用下面的命令切換到另一個數據庫
\c 數據庫名稱
4)創(chuàng)建數據庫
CREATE DATABASE 數據庫名稱;
5)創(chuàng)建賬戶
CREATE USER 用戶名 WITH PASSWORD '密碼';
6)賬戶授權
pg數據庫中對于連接的賬戶需要進行授權,有數據庫授權,表授權等,下面分別是數據庫授權,表授權的命令
一般下面這兩個命令是連起來用的,即先對數據庫的連接賬戶授權,僅僅授權數據庫還不夠,還需要對數據庫下面的所有表授權才可正常使用;
GRANT CONNECT, CREATE, TEMPORARY ON DATABASE "數據庫名稱" TO 用戶名; GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO 用戶名;
補充說明
設置默認權限,使某個用戶對未來在 public 模式下創(chuàng)建的表也擁有全部權限
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO 用戶名;
四、寫在文末
本文通過實際案例操作演示了如何基于Docker搭建pg的完整過程,并補充了pg數據庫操作的常用命令和授權命令,希望對看到的同學有用,本篇到此結束,感謝觀看。
到此這篇關于docker 搭建單機PostgreSQL操作詳解的文章就介紹到這了,更多相關docker 單機PostgreSQL內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker?創(chuàng)建centos容器集群并實現遠程登錄功能
這篇文章主要介紹了Docker?創(chuàng)建centos容器集群并實現遠程登錄,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03docker搭建php+nginx+swoole+mysql+redis環(huán)境的方法
這篇文章主要介紹了docker搭建php+nginx+swoole+mysql+redis環(huán)境的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03docker下遷移elasticsearch問題以及解決方案
文章描述了如何將Elasticsearch數據從一個服務器遷移到另一個服務器,包括數據掛載、版本一致性、啟動命令的匹配以及可能遇到的權限和節(jié)點故障問題的解決方法2024-11-11Docker部署Django+Mysql+Redis+Gunicorn+Nginx的實現
這篇文章主要介紹了Docker 部署 Django+Mysql+Redis+Gunicorn+Nginx,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11win7環(huán)境下Docker快速構建及阿里云容器加速配置詳解
這篇文章主要介紹了win7環(huán)境下Docker快速構建及阿里云容器加速配置詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-09-09