postgres 命令行建数据库表_PostgreSQL学习笔记(1)之模板数据库
正所谓好记性不如烂笔头
打开PostgreSQL的官网
映入眼帘的是这么一句话
PostgreSQL: The World's Most Advanced Open Source Relational Database
PostgreSQL标榜自己是世界上最先进的开源数据库。
敢这么吹牛逼
肯定还是有两把刷子的
是骡子是马
遛一下遛一下
安装PostgreSQL
使用最方便的docker进行PostgreSQL安装
1、拉取postgresql镜像
docker pull postgresql
2、启动容器
docker run --name pg -e POSTGRES_PASSWORD=123456 -p5432:5432 -d postgres
3、进入容器
docker exec -it pg /bin/bash
基本操作
登录数据库、查看数据库版本、列出所有的数据库
psql -U postgresselect version();\l
可以看到数据库版本为13.0,是pg的最新版本
数据库初始化之后, 就有了 template0, template1 库,开始时这两个库的内容是一样的
为啥需要模板数据库
模板数据库就是创建新database时,PostgreSQL会基于模板数据库制作一份副本,其中会包含所有的数据库设置和数据文件
为啥需要2个模板数据库
1、如果希望定制自己的模板数据库,那么可以基于template1进行修改
PostgreSQL默认的模板数据库为 template1
试一下:
连接template1数据库并创建一张表,创建成功,说明template1是可以修改的
postgres=# \c template1You are now connected to database "template1" as user "postgres".template1=# create table t1(a int);CREATE TABLE
此时创建1个数据库,查看新建的数据库中是否有表t1
template1=# create database db1;CREATE DATABASEtemplate1=# \c db1;You are now connected to database "db1" as user "postgres".db1=# \dtList of relationsSchema | Name | Type | Owner--------+------+-------+----------public | t1 | table | postgres(1 row)
可以证明新建的数据库是基于template1
2、template0是原始的干净模板,不允许进行修改,如果其它模板数据库被搞坏了,基于这个数据库做一个副本就可以了
我们试着连接一下template0数据库,可以发现是连接不上的,因此也无法对其进行修改
db1=# \c template0FATAL: database "template0" is not currently accepting connectionsPrevious connection kept
3、对基于template1或你自建的模板数据库创建的数据库来说,你不能修改其字符集编码和排序规则,template0可以。
create database db2 TEMPLATE template0 ENCODING ‘SQL_ASCII’;create database db3 TEMPLATE template1 ENCODING ‘SQL_ASCII’;
4、template0 库和 template1 都不可删除
postgres=# drop database template0;ERROR: cannot drop a template databasepostgres=# drop database template1;ERROR: cannot drop a template database
非学,无以致疑,非问,无以广识~
postgres 命令行建数据库表_PostgreSQL学习笔记(1)之模板数据库相关推荐
- .NET Core开发实战(第9课:命令行配置提供程序)--学习笔记
09 | 命令行配置提供程序:最简单快捷的配置注入方法 这一节讲解如何使用命令行参数来作为配置数据源 命令行配置(提供程序的)支持三种格式的命令 1.无前缀的 key=value 模式 2.双中横线模 ...
- 命令行进入指定目录_VIM学习笔记 操作目录(Manipulate Directory)
在目录间移动 使用以下命令,可以显示当前所在的目录: :pwd 使用以下命令,在Linux下可以进入HOME目录,而在Windows下则显示当前所在目录: :cd 使用以下命令,可以进入指定的目录: ...
- postgres 命令行建数据库表_Postgresql 查看建表语句 命令
Mysql查看建表语句以及修改引擎 更多内容推荐微信公众号,欢迎关注: 1 查看系统支持的存储引擎 show engines; 2 查看表使用的存储引擎 两种方法: a.show table stat ...
- pythonoracle数据库操作_Python学习笔记4(操作oracle数据库)
# -*- coding: utf-8 -*- import cx_Oracle import sys import urllib import os #连接数据库 def connectDB(dbn ...
- oracle数据库基础知识总结,oracle数据库基础知识学习笔记
oracle数据库基础知识学习笔记 一.oracle数据库类型: Char: 字符型(最大长度2000,定长.不足时以空格补充) Varchar2:字符型 最大长度 4000,变长,实际长度由存储的 ...
- Pgcli—自动完成和语法高亮的Postgres命令行工具
Pgcli是一款可自动完成和语法高亮的Postgres命令行工具,由开发者 Amjith 创建而来.该项目托管在 GitHub 上. 主要特性如下: Pgcli基于prompt_toolkit编写而来 ...
- OpenStack 命令行速查表
Contents OpenStack 命令行速查表 认证 (keystone) 镜像(glance) 计算 (nova) 实例的暂停.挂起.停止.救援.调整规格.重建.重启 网络 (neutron) ...
- 使用命令行修改注册表中的值
使用命令行修改注册表中的值 使用 reg 命令 reg /? 查看命名 2 . reg add reg add 增加或修改,没有的就增加,已有的就修改(名称及类型) reg add 语法: reg a ...
- oracle学习笔记 参数文件及数据库的启动和关闭
oracle学习笔记 参数文件及数据库的启动和关闭 我们这节课把oracle的参数文件以及oracle的启动关闭讲一下 一)参数文件作用 先看oracle的参数文件 它由来已久了 我们知道oracle ...
最新文章
- EvalAI使用——类似kaggle的开源平台,不过没有kernel fork功能,比较蛋疼
- 测试如何开始像用户那样思考(译)
- Java从入门到精通——数据库篇之JAVA中的对Oracle数据库操作
- Log4j详细介绍(七)----日志格式化器Layout
- 朗读评价语言集锦_英语老师批改作业时的精彩评语集锦,超实用!
- isight参数优化理论与实例详解_案例1(ISIGHT集成ADAMS CAR方法实现)
- mysql实用工教程_MYSQL实用教程
- (37)FPGA原语设计(BUFR)
- 存量电力系统_RCR新文:中国电力基础设施发展的物质存量和流量
- 磊科nw336+linux驱动程序,磊科NW336无线网卡驱动程序
- svn服务器调整显示图标修改,svn图标不显示可以通过调整Tortoise图标名称的字母顺序来解决...
- 6.Celeste Headlee: 10 ways to have a better conversation | TED Talk
- Reactor反应器模式
- 数学建模暑期集训24:机器学习与Classification Learner工具箱实操
- Linux性能测试工具之Disk(四)
- 搜索计算机文件夹的记录怎么删除,怎样删除电脑最近打开的文件或文件夹?
- 【Java并发编程(一)】并发设计原理
- socket系列之什么是socket
- leetcode 545. Boundary of Binary Tree
- linux读取spd信息,linux怎样读取memory spd
热门文章
- Linux-网络RAID技术DRBD
- centos 升级内核方法
- vue router-link子级返回父级页面
- 面向对面 静态参数 与 组合
- 团队-象棋游戏-成员简介及分工
- apache Apache winnt_accept: Asynchronous AcceptEx failed 错误的解决
- 实现Flex的TextArea文本中关键字的高亮显示
- [Remoting FAQ]Loading a Remoting Host On IIS得到BadImageFormatException
- 58天 -算法 openJudge百炼 2787-凑24 - 递归
- SPSS基本操作与使用步骤【详细整理】