linux postgresql 创建数据库,第 23 课 PostgreSQL 创建自己的数据库、模式、用户
1. 修改PostgreSQL数据库默认用户postgres的密码
[root@izwz90tx4egvh4qj3p95vsz ~]# sudo -u postgres psql
psql (10.4)
Type "help" for help.
postgres=# ALTER USER postgres WITH PASSWORD 'duyeweb';
ALTER ROLE
注意:
密码postgres要用引号引起来
命令最后有分号
2. 修改linux系统postgres用户的密码
步骤一:删除用户postgres的密码
[root@izwz90tx4egvh4qj3p95vsz ~]# sudo passwd -d postgres
Removing password for user postgres.
passwd: Success
步骤二:设置用户postgres的密码
[root@izwz90tx4egvh4qj3p95vsz ~]# sudo -u postgres passwd
Changing password for user postgres.
New password:
BAD PASSWORD: The password fails the dictionary check - it does not contain enough DIFFERENT characters
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
3. 使用超级用户postgres创建新数据库和用户
创建数据库duyeweb
[root@izwz90tx4egvh4qj3p95vsz ~]# sudo -u postgres psql
could not change directory to "/root": Permission denied
psql (10.4)
Type "help" for help.
postgres=# create database duyeweb;
CREATE DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
duyeweb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres+
| | | | | duye=C/postgres
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
创建新用户duye
设置密码'123456'
赋予登录和创建数据库对象的权限
[root@izwz90tx4egvh4qj3p95vsz ~]# sudo -u postgres psql
could not change directory to "/root": Permission denied
psql (10.4)
Type "help" for help.
postgres=# create user duye;
CREATE ROLE
postgres=# alter user duye password '123456';
ALTER ROLE
postgres=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
duye | | {}
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
postgres=# alter user duye createrole createdb replication login;
ALTER ROLE
postgres=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
duye | Create role, Create DB, Replication | {}
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
修改客户端认证方式:vim /var/lib/pgsql/10/data/pg_hba.conf
更多说明:https://www.jianshu.com/p/b2dbc3a0402d
修改用户的认证方式为md5:
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 ident
host replication all ::1/128 ident
重新加载配置:
systemctl reload postgresql-10
使用新用户duye登录新的数据库duyeweb
[root@izwz90tx4egvh4qj3p95vsz ~]# psql duyeweb -Uduye -W
Password for user duye:
psql (10.4)
Type "help" for help.
duyeweb=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
duyeweb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres+
| | | | | duye=C/postgres
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
duyeweb=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
duye | Superuser, Create role, Create DB, Replication | {}
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
duyeweb=#
4. 创建模式
schema是逻辑别构,将数据库进行逻辑划分。同一数据库下可以有多个schema,不同数据库下的schema互不相关。
查看模式
duyeweb=# select current_schema;
current_schema
----------------
public
(1 row)
duyeweb=# show search_path
search_path
-----------------
"$user", public
(1 row)
duyeweb=# \dn
List of schemas
Name | Owner
--------+----------
public | postgres
(1 row)
duyeweb=# select * from pg_catalog.pg_namespace order by 1;
nspname | nspowner | nspacl
--------------------+----------+-------------------------------------
information_schema | 10 | {postgres=UC/postgres,=U/postgres}
pg_catalog | 10 | {postgres=UC/postgres,=U/postgres}
pg_temp_1 | 10 |
pg_toast | 10 |
pg_toast_temp_1 | 10 |
public | 10 | {postgres=UC/postgres,=UC/postgres}
(6 rows)
创建一个模式
duyeweb=# \h create schema
Command: CREATE SCHEMA
Description: define a new schema
Syntax:
CREATE SCHEMA schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ]
CREATE SCHEMA AUTHORIZATION role_specification [ schema_element [ ... ] ]
CREATE SCHEMA IF NOT EXISTS schema_name [ AUTHORIZATION role_specification ]
CREATE SCHEMA IF NOT EXISTS AUTHORIZATION role_specification
where role_specification can be:
user_name
| CURRENT_USER
| SESSION_USER
duyeweb=# CREATE SCHEMA IF NOT EXISTS duyeweb;
CREATE SCHEMA
duyeweb=# \dn
List of schemas
Name | Owner
---------+----------
duyeweb | duye
public | postgres
(2 rows)
发现更多宝藏
我在喜马拉雅上分享声音
《数据库系统概论(第4版)》,点开链接可以听听,有点意思。
其他相关文章分享列表:
如果有用,可以收藏这篇文件,随时在更新....
更多交流加群: PostgreSQL内核开发群 876673220
亲,记得点赞、留言、打赏额!!!
image.png
linux postgresql 创建数据库,第 23 课 PostgreSQL 创建自己的数据库、模式、用户相关推荐
- 在windows上安装Postgresql,安装空间数据库postgis引擎,创建可以存储空间点线面的数据库,解决could not open extension control file问题
在windows上安装Postgresql,安装空间数据库postgis引擎,创建可以存储空间点线面的数据库,解决could not open extension control file问题 前面问 ...
- pg_restore - 从一个由 pg_dump 创建的备份文件中恢复 PostgreSQL 数据库。
SYNOPSIS pg_restore [ option...] [ filename] DESCRIPTION 描述 pg_restore 是一种用于恢复由 pg_dump(1) 创建的任何非纯文本 ...
- 【PostgreSQL的模板库存在连接导致创建数据库失败】
众所周知,PostgreSQL里包含两个标准系统数据库,template0和template1. 创建数据库时,CREATE DATABASE通过拷贝一个已有数据库进行工作.默认情况下,它拷贝名为te ...
- linux备份pg数据库命令,如何备份PostgreSQL数据库 常见的几个备份命令使用
一般我们建站使用较多的还是固定开源CMS程序,且基本上也使用的是PHP+MYSQL程序,所以数据库上较多的还是使用的MYSQL数据库.但是前几天老左有遇到一个网友他使用的是PostgreSQL数据库, ...
- java执行查询postgresql得到中文乱码_Greenplum: 基于PostgreSQL的分布式数据库内核揭秘(上篇)...
关于作者 姚延栋,山东大学本科,中科院软件所研究生.PostgreSQL中文社区委员,致力于Greenplum/PostgreSQL开源数据库产品.社区和生态的发展. 一.数据库内核揭秘 Greenp ...
- 数据库选型十八摸 之 PostgreSQL - 致 架构师、开发者
标签 PostgreSQL , 数据库特性 , 数据库应用场景分析 , 数据库选型 背景 数据库对于一家企业来说,相比其他基础组件占据比较核心的位置. 有很多企业由于最初数据库选型问题,导致一错再错, ...
- 阿里云数据库产品HybridDB简介——OLAP数据库,支持行列混合存储,基于数据库Greenplum的开源版本,并且吸收PostgreSQL精髓...
为什么会有HybridDB的诞生?它经历了怎样的研发历程?它的应用场景和情况是怎样的?带着这些问题,InfoQ对阿里云的数据库专家兼Postgres中国社区/中国用户会主席萧少聪先生进行了采访,以下文 ...
- PostgreSQL 快速给指定表每个字段创建索引 - 2
标签 PostgreSQL , 索引 , 所有字段 , 并行创建单个索引 , max_parallel_maintenance_workers , 异步调用 , dblink , 并行创建多个索引 , ...
- postgresql 自定义表变量_Oracle GoldenGate新支持开源关系型数据库PostgreSQL
PostgreSQL是一款免费的对象-关系型数据库(ORDBMS),PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询.外键.触发器.视图.事务完整性.多版本并发控制等. ...
- 前Oracle首席工程师怒喷:MySQL 是“超烂的数据库”,建议考虑 PostgreSQL
整理 | 燕珊.核子可乐 在这位工程师看来,PostgreSQL 才是开源 RDBMS 的更好选择. 数据库工程师在离职的时候会干些什么?拿张贺卡.收起纪念礼品,没准还有一瓶践行酒--但今天故事的主角 ...
最新文章
- 计算机浙大网java网站,网络课程—非计算机专业JAVA程序设计语言
- poj2029(二维树状数组)
- LeetCode Battleships in a Board
- 微服务架构Spring Cloud和Dubbo 还有EDAS
- oracle 表空间维护
- 快速求平方根,这个好牛逼
- 大话设计模式—模板方法模式
- 高级数据结构与算法 | LRU缓存机制(Least Recently Used)
- 8-12 canvas专题-阶段练习一(上)
- 2-3:套接字(Socket)编程之UDP通信,sockaddr,sockaddr_in,recvfrom,sendto
- mysql教程qt linux_一步步学Qt,第四天-Linux 下mysql数据库链接
- 日赚1.2亿元,人均月薪5.5万元,蚂蚁集团招股书首亮相......
- python 装饰器
- mysql的驱动connect放在哪里_十年测试解析:ddt结合excel,csv,mysql实现自动化测试数据驱动...
- php中的数据库操作和字符串操作session与cookie操作,PHP的cookie与session原理及用法详解...
- 数据源:SHP数据下载平台
- CUDA组件 -- nvidia driver驱动与toolkit
- 并发编程之:Atomic
- PAT考前准备篇:目标满分
- W25Q128 Flash