docker安装的postgresql的基本使用

摘要:
1.查看本地postgresql映像[root@localhosthome]#Dockerimages|greppostgrestpostgrest0d2531ee3abd4daysago397MB2。初始化图像[root@localhosthome]#dockerrun--namepostgres2-ePOSTGRES_PASSWORD=密码-p5432:5432-vpgda

1、查看本地postgresql镜像

[root@localhost home]# docker images |grep postgres
postgres                    latest              0d2531ee3abd        4 days ago          397MB

2、初始化镜像

[root@localhost home]# docker run --name postgres2 -e POSTGRES_PASSWORD=password -p 5432:5432 -v pgdata:/var/lib/postgresql/data -d postgres
72c5af7ed83cf389d8a950411dd25124d0feae1b017213818d1b19d2609c7a49

-p端口映射

-v将数据存到宿主服务器

-e POSTGRES_PASSWORD 密码(默认用户名postgres)

-e TZ=PRC时区,中国

-d后台运行

--name容器名称

时区问题

如果在启动容器时不设置时区,默认为UTC,使用now()设置默认值的时候将有时间差。

3、进入镜像

[root@localhost home]# docker exec -it postgres2 /bin/bash
root@72c5af7ed83c:/# ls
bin  boot  dev  docker-entrypoint-initdb.d  docker-entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

镜像的data目录在 /var/lib/postgresql/data

root@72c5af7ed83c:/# cd /var/lib/postgresql/data
root@72c5af7ed83c:/var/lib/postgresql/data# ls
base          pg_dynshmem    pg_logical    pg_replslot   pg_stat      pg_tblspc    pg_wal                postgresql.conf
global        pg_hba.conf    pg_multixact  pg_serial     pg_stat_tmp  pg_twophase  pg_xact               postmaster.opts
pg_commit_ts  pg_ident.conf  pg_notify     pg_snapshots  pg_subtrans  PG_VERSION   postgresql.auto.conf  postmaster.pid

4、进入postgresql的工具目录 /usr/lib/postgresql/12/bin

root@72c5af7ed83c:/# cd /usr/lib/postgresql/12/bin
root@72c5af7ed83c:/usr/lib/postgresql/12/bin# ls
clusterdb   dropdb    oid2name           pgbench       pg_controldata  pg_dumpall     pg_recvlogical  pg_rewind      pg_test_timing  postgres    reindexdb
createdb    dropuser  pg_archivecleanup  pg_checksums  pg_ctl          pg_isready     pg_resetwal     pg_standby     pg_upgrade      postmaster  vacuumdb
createuser  initdb    pg_basebackup      pg_config     pg_dump         pg_receivewal  pg_restore      pg_test_fsync  pg_waldump      psql        vacuumlo

5、连接数据库

root@72c5af7ed83c:/usr/lib/postgresql/12/bin# psql -Upostgres
psql (12.2 (Debian 12.2-1.pgdg100+1))
Type "help" for help.

postgres=#

6、创建数据库db1,在db1中插入对象,备份db1的数据,还原到db2

--创建数据库
postgres=# CREATE DATABASE DB1; CREATE DATABASE postgres=# CREATE DATABASE DB2; CREATE DATABASE
--查看数据库
postgres=# l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+------------+------------+----------------------- db1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | db2 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 | template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres + | | | | | postgres=CTc/postgres (5 rows)
--切换数据库 postgres
=# c db1 You are now connected to database "db1" as user "postgres". db1=# create table t1(a int); CREATE TABLE db1=# insert into t1 values (123); INSERT 0 1 db1=# select * from t1; a ----- 123 (1 row)

备份

./pg_dump -Upostgres -ddb1 -F c -f dump.sql

还原

./pg_restore -Upostgres -ddb2 -Fc  dump.dmp

查看还原结果

root@72c5af7ed83c:/usr/lib/postgresql/12/bin# psql -Upostgres -d db2
psql (12.2 (Debian 12.2-1.pgdg100+1))
Type "help" for help.

db2=# select * from t1;
  a
-----
 123
(1 row)

---end

免责声明:文章转载自《docker安装的postgresql的基本使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java EE 课程目标Django Channels 入门指南下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

postgresql 下的三表连查

SELECT corp_id,appid, login_name ,app_name,CAST(CAST(SUM(pay_fee) AS FLOAT)/100 AS DEC(10,2)) pay_fee ,report_date FROM (pay_order INNER JOIN pay_app ON pay_order.appid = pay_app....

PostgreSQL+pgpool-II复制方案

title: PostgreSQL+pgpool-II复制方案tags: PostgreSQL,pgpool-IIauthor: Chinge Yangdate: 2017-02-15 PostgreSQL+pgpool-II复制方案 @(学习)[PostgreSQL, pgpool-II, 高可用] 目录 title: PostgreSQL+pgpoo...

PbootCMS网站无缝转PBMOD

下载文件(群文件也可下载):       只适用于PbootCMS-V3.1.2转为PBMOD-V1.0.9.beta2,数据库必须是MySql   使用说明: 1、先备份原网站的程序和数据库,这是最基本的。 2、将PBOMD程序源码全部覆盖原网站。注意:保留原网站的模板文件夹! 3、修改数据库配置文件,configdatabase.php,填写原来的数...

excel文件使用navicat工具导入mysql的方法

1、在excel文件的sheet上,第1行下面插入一行,对应DB里面的字段名称,方便后面导入时做字段匹配: 2、使用Navicat ,打开工具,选择表所在的数据库,然后点击数据库名字,右键Tables,出来下拉菜单选择import wizard(中文版:导入向导).弹出一个选择界面,选择excel file文件 3、点击next(下一步),选择对应...

HeidiSQL安装和使用教程

HeidiSQL 是一个功能非常强大的 MySQL 客户端软件,我们通过它来操作MySQL数据库,比直接通过命令行工具操作要简单的多。我们使用HidiSQL来连接MySQL数据库,MySQL数据库的安装可以参考下文。  百度搜索HeidiSQL的官网,点击Downloads—>HeidiSQL 9.4 Installer,官网已经有中文汉化版本...

mysql中的information_schema数据库表说明

1. 概述 information_schema 数据库跟 performance_schema 一样,都是 MySQL 自带的信息数据库。其中 performance_schema 用于性能分析,而 information_schema 用于存储数据库元数据(关于数据的数据),例如数据库名、表名、列的数据类型、访问权限等。 information_sch...