Postgresql入门

docker安装

PG版本

13.2

安装

#1. 宿主机:创建mount目录
mkdir -p /custom/mount/mypg1

cd /custom/mount/mypg1
#2. 获取默认配置,并存放在宿主机目录
docker run -i --rm postgres:13.2  cat /usr/share/postgresql/postgresql.conf.sample > my-postgres.conf

#3. 创建容器
docker run -d \
		--name mypg1 \  # 容器名称 mypg1
		-p 5432:5432  \ # 端口映射
		-e PGDATA=/var/lib/postgresql/data/pgdata \ # 设置 padata目录
		-v /custom/mount/mypg1/data:/var/lib/postgresql/data \ # pgdata目录 挂载至宿主机目录
		-v /custom/mount/mypg1/my-postgres.conf:/etc/postgresql/postgresql.conf \ # 配置文件 映射至 宿主机文件
		-e POSTGRES_PASSWORD=admin  \ # 设置postgres 密码
		postgres:13.2 \ # 指定镜像版本: 13.2
		-c 'config_file=/etc/postgresql/postgresql.conf' # 指定配置文件
        

容器创建结果

验证

#方法1 
#进入容器
[root@localhost mount]# docker exec -it mypg1 /bin/bash 
#使用psql终端命令连接
# -U 指定用户, -d 指定数据库
root@f4b1c4d15d5b:/# psql -U postgres -d postgres

# 方法2
[root@localhost mount]# docker exec -it mypg1 psql -U postgres -d postgres


# 检验
postgres=# select current_database();
 current_database 
------------------
 postgres
(1 row)

简单命令

# 1. 创建数据库 db01
postgres=# create database db01;

# 2. 查看数据库清单
postgres=# \l
                                 List of databases
   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges   
-----------+----------+----------+------------+------------+-----------------------
 db01      | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
 postgres  | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
....
(4 rows)

# 3. 选择数据库
postgres=# \c db01;
You are now connected to database "db01" as user "postgres".
db01=# 

# 4. 创建表
db01=# CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);


# 5. 查看表创建状态
db01=# \d
          List of relations
 Schema |  Name   | Type  |  Owner   
--------+---------+-------+----------
 public | company | table | postgres
(1 row)

# 6. 查看表详情
db01=# \d company
                  Table "public.company"
 Column  |     Type      | Collation | Nullable | Default 
---------+---------------+-----------+----------+---------
 id      | integer       |           | not null | 
 name    | text          |           | not null | 
 age     | integer       |           | not null | 
 address | character(50) |           |          | 
 salary  | real          |           |          | 
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)


# 7. 创建schema
## PostgreSQL 模式(SCHEMA)可以看着是一个表的集合。
## 一个模式可以包含视图、索引、数据类型、函数和操作符等。
db01=# create schema myschema1;
CREATE SCHEMA


# 8. help 
db01-# \?
Informational
  (options: S = show system objects, + = additional detail) 
  \d[S+]                 list tables, views, and sequences
  \d[S+]  NAME           describe table, view, sequence, or index
  \di[S+] [PATTERN]      list indexes
  \dn[S+] [PATTERN]      list schemas
  \l[+]   [PATTERN]      list databases
  
Connection
  \c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}
                         connect to new database (currently "db01")

# 9. 退出psql
db01-# \q

权限

创建用户

# 1. 创建一个用户
db01=# CREATE USER scott WITH PASSWORD 'tiger';
CREATE ROLE

# 2.修改密码
postgres=# ALTER USER scott WITH PASSWORD '123456';
ALTER ROLE

GRANT 语法

GRANT privilege [, ...] # 值可以为:SELECT,INSERT,UPDATE,DELETE, RULE,ALL。
ON object [, ...] 		# 可能的对象有: table, view,sequence。
TO { PUBLIC | GROUP group | username } # PUBLIC:表示所有用户, GROUP group − 为用户组授予权限, username:要授予权限的用户名

表权限

# 1. 选择数据库
postgres-# \c db01;

# 2. 将 COMPANY表 的权限 授予 scott
db01=# GRANT ALL ON COMPANY TO scott;
GRANT
# 3. 取消授权
runoobdb=# REVOKE ALL ON COMPANY FROM scott;
REVOKE

数据库权限

postgres=# CREATE DATABASE testdb OWNER scott;
CREATE DATABASE

postgres=# GRANT ALL PRIVILEGES ON DATABASE testdb TO scott;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PostgreSQL 是一种开源关系型数据库管理系统(RDBMS),具有高度的可靠性、可扩展性和数据完整性。它支持大量的数据类型,包括整数、浮点数、字符串、日期和时间等。 以下是 PostgreSQL入门步骤: 1. 安装 PostgreSQL:你可以在官网上下载 PostgreSQL,并按照安装向导进行安装。在安装过程中需要设置一个数据库管理员的用户名和密码。 2. 连接到 PostgreSQL:安装成功后,你可以通过命令行或 GUI 工具连接到 PostgreSQL 数据库。常用的命令行工具有 psql 和 pgAdmin,GUI 工具有 Navicat 和 DBeaver 等。 3. 创建数据库:在连接到 PostgreSQL 后,你需要创建一个数据库。可以使用 CREATE DATABASE 命令来创建数据库,例如: ``` CREATE DATABASE mydb; ``` 4. 创建表:在创建了数据库之后,你需要为其创建表格。表格是用来存储数据的结构。可以使用 CREATE TABLE 命令来创建表格,例如: ``` CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(50), email VARCHAR(50) ); ``` 这个示例代码创建了一个名为 users 的表格,包含 id、name 和 email 三个字段。其中 id 是主键,使用了 SERIAL 类型,表示自动递增的整数。 5. 插入数据:在创建表格后,你需要向其中插入数据。可以使用 INSERT INTO 命令来插入数据,例如: ``` INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com'); ``` 这个示例代码向 users 表格中插入了一条记录,包含 name 和 email 两个字段的值。 6. 查询数据:在插入了数据后,你可以使用 SELECT 命令来查询数据,例如: ``` SELECT * FROM users; ``` 这个示例代码查询了 users 表格中的所有记录,并返回了 id、name 和 email 三个字段的值。 这些是 PostgreSQL 的基本入门步骤,你可以继续深入学习 PostgreSQL 的高级功能,如索引、触发器、视图等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值