53 openEuler搭建PostgreSQL数据库服务器-管理数据库

news/2024/7/9 19:52:19 标签: 数据库, postgresql, 开源软件, 云计算, linux

文章目录

53 openEuler搭建PostgreSQL数据库服务器-管理数据库

53.1 创建数据库

可以使用CREATE DATABASE语句或createdb来创建角色。createrdb是对CREATE DATABASE命令的封装,需要在shell界面执行,而不是在数据库界面。

CREATE DATABASE databasename;
createdb databasename

其中:databasename为数据库名。

要使用这条命令,必须拥有CREATEDB权限。

创建数据库示例

创建一个数据库testdb1。

postgres=# CREATE DATABASE testdb1;
CREATE DATABASE
postgres=# 

53.2 选择数据库

可以使用\c语句来选择数据库

\c databasename;

其中:databasename为数据库名称。

选择数据库示例

选择testdb1数据库

postgres=# \c testdb1;
您现在已经连接到数据库 "testdb1",用户 "postgres".
testdb1=# 

53.3 查看数据库

可以使用\l语句来查看数据库

\l;

查看数据库示例

查看所有数据库

postgres=# \l
                                     数据库列表
   名称    |  拥有者  | 字元编码 |  校对规则   |    Ctype    |       存取权限        
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =Tc/postgres         +
           |          |          |             |             | postgres=CTc/postgres+
           |          |          |             |             | roletest4=C/postgres
 template0 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 testdb1   | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
(4 行记录)

postgres=# 

53.4 删除数据库

可以使用DROP DATABASE语句或dropdb来删除数据库。dropdb是对DROP DATABASE命令的封装,需要在shell界面执行,而不是在数据库界面。

image-20221222104202894 注意:
删除数据库要谨慎操作,一旦删除,数据库中的所有表和数据都会删除。

DROP DATABASE databasename;
dropdb databasename

其中:databasename为数据库名称。

DROP DATABASE会删除数据库的系统目录项并且删除包含数据的文件目录。

DROP DATABASE只能由超级管理员或数据库拥有者执行。

删除数据库示例

删除testdb1数据库

postgres=# DROP DATABASE testdb1;
DROP DATABASE
postgres=# 

53.5 备份数据库

可以使用pg_dump命令备份数据库,将数据库转储到一个脚本文件或其他归档文件中。

pg_dump [option]... [databasename] > outfile

其中:

  • databasename:数据库名称。如果没有声明这个参数,那么使用环境变量 PGDATABASE 。如果那个环境变量也没声明,那么使用发起连接的用户名。
  • outfile:数据库备份的文件。
  • option:pg_dump命令参数选项,多个参数之间可以使用空格分隔。常用的pg_dump命令参数选项如下:
    • -f,–file= filename :指输出到指定的文件。如果忽略,则使用标准输出。
    • -d,–dbname= databasename :指定转储的数据库
    • -h,–host= hostname :指定主机名。
    • -p,–port= portnumber :指定端口。
    • -U,–username= username :指定连接的用户名。
    • -W,–password:强制口令提示(自动)。

备份数据库示例

备份主机为127.0.0.1,端口为5432,postgres用户下的testdb2数据库到testdb2.sql中。

[postgres@superman-21 ~]$ pg_dump -h 127.0.0.1 -p 5432 -U postgres -W testdb2 > testdb2.sql
口令: 
[postgres@superman-21 ~]$

53.6 恢复数据库

可以使用psql命令恢复数据库

psql [option]... [databasename [username]] < infile

其中:

  • databasename:数据库名称。如果没有声明这个参数,那么使用环境变量 PGDATABASE 。如果那个环境变量也没声明,那么使用发起连接的用户名。
  • username:用户名。
  • infile:pg_dump命令中的outfile参数。
  • option:psql命令参数选项,多个参数之间可以使用空格分隔。常用的psql命令参数选项如下:
    • -f,–file=filename:指输出到指定的文件。如果忽略,则使用标准输出。
    • -d,–dbname=databasename:指定转储的数据库
    • -h,–host=hostname:指定主机名。
    • -p,–port=portnumber:指定端口。
    • -U,–username=username:指定连接的用户名。
    • -W,–password:强制口令提示(自动)。

psql命令不会自动创建databasename数据库,所以在执行psql恢复数据库之前需要先创建databasename数据库

恢复数据库示例

将testdb2.sql脚本文件导入到主机为127.0.0.1,端口为5432,postgres用户下newdb数据库中。

[postgres@superman-21 ~]$ createdb newdb
[postgres@superman-21 ~]$ 
[postgres@superman-21 ~]$ psql -h 127.0.0.1 -p 5432 -U postgres -W -d newdb < testdb2.sql
口令:
SET
SET
SET
SET
SET
 set_config 
------------
 
(1 行记录)

SET
SET
SET
SET
SET
SET
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
COPY 0
COPY 0
[postgres@superman-21 ~]$ 

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

在这里插入图片描述


http://www.niftyadmin.cn/n/214645.html

相关文章

jQuery教程_编程入门自学教程_菜鸟教程-免费教程分享

教程简介 jQuery入门教程 - 从简单的步骤开始了解jQuery&#xff0c;从基本到高级概念&#xff0c;包括jQuery概述&#xff0c;基础知识&#xff0c;选择器&#xff0c;属性&#xff0c;遍历&#xff0c;CSS&#xff0c;DOM操作&#xff0c;AJAX支持&#xff0c;拖放&#xff…

Android端推送消息之极光推送

推送方式 轮询 --实现方式: 周期性主动获取网络中的数据; --缺点: 费电, 费流量; SMS --实现方式: 服务器端向手机端发送短信, 手机监听短信广播, 将拦截的短信信息进行显示; --优点: 省电, 省流量, 在没有网络的偏远地点也能接收到推送消息; --缺点: 费钱, 一毛钱一条;…

LeetCode 1041. 困于环中的机器人

原题链接&#xff1a;1041. 困于环中的机器人 在无限的平面上&#xff0c;机器人最初位于 (0, 0) 处&#xff0c;面朝北方。注意: 北方向 是y轴的正方向。南方向 是y轴的负方向。东方向 是x轴的正方向。西方向 是x轴的负方向。 机器人可以接受下列三条指令之一&#xff1a; …

测试开发岗 - 一面复盘

1. 什么是软件测试&#xff0c; 谈谈你对软件测试的了解 软件测试就是验证产品特性是否符合用户需求, 软件测试贯穿于软件的整个生命周期. >>> 那软件测试具体是什么呢 ? 就拿生活中的例子来说, 比如说我们去商场买衣服, 会有以下几个步骤 : 第一步: 我们会走进门店…

Java垃圾回收机制GC完全指南,让你彻底理解JVM运行原理

1、GC过程 1&#xff09;先判断对象是否存活(是否是垃圾) 可以通过引用计数算法和可达性分析算法来判断&#xff0c;由于引用计数算法无法解决循环引用的问题&#xff0c;所以目前使用的都是可达性分析算法 2&#xff09;再遍历并回收对象(回收垃圾) 可以通过垃圾收集器&…

python获取固定的路径,不会因为执行文件变化而改动

python获取固定的路径&#xff0c;不会因为执行文件变化而改动 问题描述&#xff1a; 项目中遇到使用配置文件情况&#xff0c;配置文件被不同文件引用时&#xff0c;相对路径不同&#xff0c;进行方法调试的时候需要手动更改相对路径&#xff0c;比较麻烦&#xff0c;需要用到…

<script> 标签上的 defer 和 async 属性是什么?

defer 和 async 属性是什么&#xff1f;当我们遇见script的时候asyncdefer注意当我们遇见script的时候 <script src"/path/to/script.js"></script>它会执行以下步骤 1.暂停 HTML 文档解析器 2.创建新请求以下载脚本 3.在脚本完全下载后立即执行脚本 4.…

2023蓝桥杯嵌入式14届程序题

这里占空比需要用斜率求 YkxbY kxbYkxb ky−y0x−x0k \frac{y-y0}{x-x0}kx−x0y−y0​ by0−kx0b y0-kx0by0−kx0 代入公式&#xff1a; k0.85−0.13−10.375k \frac{0.85-0.1}{3-1}0.375k3−10.85−0.1​0.375 0.85−0.3753−0.2750.85-0.375\times3 -0.2750.85−0.3753−…