PostgreSQL日常维护

news2025/5/24 23:46:06

目录

一:基本使用

1.登录数据库

2.数据库操作

2.1列出库

2.2创建库

2.3删除库

2.4切换库

2.5查看库大小

3.数据表操作

3.1 列出表

3.2创建表

3.3复制表

3.4删除表

4.模式操作命令

4.1创建模式

4.2默认模式

4.3删除模式

4.4查看所有模式

4.5 在指定模式中创建表(Create Table in Schema)

4.6切换当前模式

4.7查看当前所在schema

4.8查看搜索路径(Search Path)

4.9PostgreSQL 的模式隔离性

核心特性:

5.数据操作

5.1添加数据

5.2查询数据

5.3修改数据

5.4删除数据

6.备份与恢复

6.1SQL转储

6.2从转储中恢复

6.3使用pg_dumpall

7.远程连接

7.1修改PostgreSQL监听地址

7.2配置访问权限

目标

操作步骤

7.3重启服务

7.4验证远程连接

8.配置密码

8.1备份配置文件

8.2修改配置文件

8.3重启服务

8.4修改密码

8.5恢复pg_hba.conf配置文件。


一:基本使用

1.登录数据库

      Pgsql 登录时,必须使用 postgres 用户,登录后的命令提示符为 “postgres=#”postgres 表示你当前所在的库

[root@bogon ~]# su - postgres
[postgres@bogon ~]$ /usr/local/pgsql/bin/psql
psql (16.3)
Type "help" for help.

postgres=#

2.数据库操作

2.1列出库

常用的三种方法如下

方法一

postgres=# \l

      在 PostgreSQL 的交互式终端 psql 中,“\” 开头的命令称为元命令(类似MySQL 的 SHOW 语句),用于快速管理数据库

常用元命令有:
\l 列出所有数据库。
\c [数据库名] 或 \connect [数据库名]
\dn 列出所有模式(Schema)。
\db 列出所有表空间。
? 显示 pgsql 命令的说明 (元命令查询帮助)
\q 退出 psql
\dt 列出当前数据库的所有表
\d [TABLE] 查看表结构
\du 列出所有用户

方法二

postgres=# \l+

\l+ 的输出比 \l 多了 Size, Tablespace 和 Description 列
+:扩展输出,显示更多字段或详细信息

方法三

使用 SQL 命令

postgres=# SELECT datname FROM pg_database;

      pg_database 是系统表,它存储了 PostgreSQL 实例中所有数据库的元信息(如数据库名称、所有者、编码等)。属于系统目录(System Catalog);类似 MySQL的 information_schema,但 PostgreSQL 的系统目录更底层且直接存储在pg_catalog 模式中。

      pg_database 是系统目录表,所以无论当前连接到哪个数据库,该表始终可见系统表默认属于 pg_catalog 模式,而 pg_catalog 始终位于搜索路径(search_path)的首位。因此,查询时无需显式指定模式(如 pg_catalog.pg_database)。

2.2创建库

postgres=# create database mydb;
CREATE DATABASE

2.3删除库

postgres=# dorp database mydb;
DORP DATABASE

2.4切换库

postgres=# \cmydb
You are now connected to database "mydb" as user "postgres".
mydb=#

2.5查看库大小

函数以字节为单位返回数据库的大小

-- 以字节为单位返回'mydb'数据库的大小
postgres=# SELECT pg_database_size('mydb');
 pg_database_size 
------------------
           7594499
(1 行记录)

-- 将'mydb'数据库大小字节数转为易读值
postgres=# SELECT pg_size_pretty(pg_database_size('mydb'));
  pg_size_pretty   
-------------------
 7417 kB
(1 行记录)

    3.数据表操作

    3.1 列出表

    列出表的常用方法:

    mydb=# \dt;

    列出表(显示 search_path 中模式里的表,默认 public)

    mydb=# \d

    列出表,视图和序列

    mydb=# \d+
    mydb=#\dt my_schema.*

    列出指定模式下的表(例如 my_schema)

    mydb=#\dt .

    查看当前数据库的所有表(包括系统表)

    mydb=#SELECT * FROM pg_tables WHERE schemaname = 'public';

    使用 SQL 方式列出当前数据库中 public 模式下的所有表及其详细信息

          pg_tables 是视图;属于 pg_catalog 模式,但它是基于 pg_class 和pg_namespace 的逻辑视图,并非物理表。无需切换数据库,直接查询pg_catalog.pg_tables 即可获取当前数据库的表信息

    3.2创建表

    create table test();

    3.3复制表

    create table 新表名 as table 表名;

    3.4删除表

    drop table 表名;

    4.模式操作命令

    4.1创建模式

    CREATE SCHEMA [schema_name] [ AUTHORIZATION user_name ];
    • 参数说明
      • schema_name:要创建的模式名称(可选,默认使用当前用户名作为模式名)。
      • AUTHORIZATION user_name:指定模式的所有者(可选,默认归当前用户所有)。
    -- 创建名为 "sales" 的模式,所有者为 "admin"
    CREATE SCHEMA sales AUTHORIZATION admin;
    
    -- 直接使用当前用户名创建模式(无需指定名称)
    CREATE SCHEMA;

    4.2默认模式

    PostgreSQL 的默认模式为 public,但可通过以下方式修改用户的默认模式:
    语法

    ALTER ROLE [user_name] SET search_path TO [schema_name];
    

    示例

    -- 将用户 "user1" 的默认模式设置为 "sales"
    ALTER ROLE user1 SET search_path TO sales;

    4.3删除模式

    DROP SCHEMA [schema_name] [CASCADE | RESTRICT];
    
    • 参数说明
      • CASCADE:级联删除模式下的所有数据库对象(如表、视图等)。
      • RESTRICT:默认选项,若模式非空则拒绝删除(需先清空内容)。

    示例

    -- 删除空模式 "temp"
    DROP SCHEMA temp;
    
    -- 强制删除包含对象的模式 "old_data" 及其所有内容
    DROP SCHEMA old_data CASCADE;
    

    4.4查看所有模式

    方法 1:使用 SQL 查询系统表

    SELECT schema_name FROM information_schema.schemata;
    

    方法 2:使用 PostgreSQL 元命令(psql 客户端)

    \dn  -- 列出所有模式及其所有者
    

    4.5 在指定模式中创建表(Create Table in Schema)

    语法

    CREATE TABLE [schema_name].[table_name] (
        column1 data_type,
        column2 data_type,
        ...
    );
    

    示例

    -- 在 "sales" 模式中创建 "orders" 表
    CREATE TABLE sales.orders (
        order_id INT PRIMARY KEY,
        order_date DATE,
        amount NUMERIC
    );

    4.6切换当前模式

    通过修改 search_path 参数切换默认模式,后续操作将优先在该模式下执行。
    语法

    SET search_path TO [schema_name [, schema_name,...]];
    

    示例

    -- 将当前搜索路径设置为 "sales"(后续创建表默认在此模式)
    SET search_path TO sales;
    
    -- 添加多个模式(按顺序搜索)
    SET search_path TO sales, public;  -- 先查找 "sales",再查找 "public"

    4.7查看当前所在schema

    方法 1:查询 search_path 参数

    SHOW search_path;
    

    输出示例

     search_path 
    -------------
     sales, public
    

    方法 2:使用函数 current_schema()

    SELECT current_schema();
    

    输出示例

     current_schema 
    ----------------
     sales

    4.8查看搜索路径(Search Path)

    SHOW search_path;  -- 或直接查询系统变量

    4.9PostgreSQL 的模式隔离性

    核心特性
    1. 命名空间隔离

      • 不同模式下可存在同名表,通过 schema_name.table_name 区分。
      • 示例:sales.orders 和 public.orders 是两个独立的表。
    2. 权限控制

      • 模式权限与数据库对象权限分离,可通过 GRANT/REVOKE 控制用户对模式的访问。

      sql

      GRANT USAGE ON SCHEMA sales TO app_user;  -- 允许用户访问 "sales" 模式
      GRANT CREATE ON SCHEMA sales TO app_user; -- 允许用户在模式中创建对象
      
    3. 数据隔离层级

      • 模式是数据库内的逻辑隔离单位(非物理隔离),适用于多租户场景(如按租户划分模式)。
      • 与数据库级隔离相比,模式更轻量,但安全性依赖权限配置。
    4. 迁移与备份

      • 可通过 pg_dump 单独导出某个模式的数据:

        bash

        pg_dump -h host -U user -d dbname -n schema_name > schema_backup.sql

    5.数据操作

    5.1添加数据

    在postgres库,新建表test

    postgres=# create table test (id int,name char (10),age int);
    CREATE TABLE
    postgres=# insert into test values (1,'zhangsan',18);
    INSERT 0 1

    5.2查询数据

    postgres=# select * from test;

    5.3修改数据

    postgres=# update test set age=20 where id=1;
    UPDATE 1
    postgres=# select * from test;

    5.4删除数据

    postgres=# delete from test where id=1;
    DELETE 1
    postgres=# select * from test;

    6.备份与恢复

    1. PostgreSQL 数据库应当被定期地备份。虽然过程相当简单,但清晰地理解其底层技术和假设是非常重要的。
      有三种不同的基本方法来备份 PostgreSQL 数据:
    • SQL 转储
    • 文件系统级备份
    • 连续归档

    每一种都有其优缺点,我们主要以 SQL 转储为主。

    6.1SQL转储

    SQL 转储方法的思想是创建一个由 SQL 命令组成的文件,当把这个文件回馈给服务器时,服务器将利用其中的 SQL 命令重建与转储时状态一样的数据库。PostgreSQL 为此提供了工具 pg_dump。这个工具的基本用法是:

    pg_dump dbname > dumpfile

          正如你所见,pg_dump 把结果输出到标准输出。我们后面将看到这样做有什么用处。尽管上述命令会创建一个文本文件,pg_dump 可以用其他格式创建文件以支持并行和细粒度的对象恢复控制。
          pg_dump 是一个普通的 PostgreSQL 客户端应用(尽管是个相当聪明的东西)。这就意味着你可以在任何可以访问该数据库的远端主机上进行备份工作。但是请记住 pg_dump 不会以任何特殊权限运行。具体说来,就是它必须要有你想备份的表的读权限,因此为了备份整个数据库你几乎总是必须以一个数据库超级用户来运行它(如果你没有足够的特权来备份整个数据库,你仍然可以使用诸如 -n schema 或 -t table 选项来备份该数据库中你能够访问的部分)。
          要声明 pg_dump 连接哪个数据库服务器,使用命令行选项 -h host 和 -p port。默认主机是本地主机或你的 PGHHOST 环境变量指定的主机。类似地,默认端口是环境变量 PGPORT 或(如果 PGPORT 不存在)内建的默认值。(服务器通常有相同的默认值,所以还算方便。)
          和任何其他 PostgreSQL 客户端应用一样,pg_dump 默认使用与当前操作系统用户名同名的数据库用户名进行连接。要使用其他名字,要么声明 -U 选项,要么设置环境变量 PGUSER。请注意 pg_dump 的连接也要通过客户认证机制。
          pg_dump 对于其他备份方法的一个重要优势是,pg_dump 的输出可以很容易地在新版本的 PostgreSQL 中载入,而文件级备份和连续归档都是极度的服务器版本限定的。pg_dump 也是唯一可以将一个数据库传送到一个不同机器架构上的方法,例如从一个 32 位服务器到一个 64 位服务器。
          由 pg_dump 创建的备份在内部是一致的,也就是说,转储表现了 pg_dump 开始运行时刻的数据库快照,且在 pg_dump 运行过程中发生的更新将不会被转储。pg_dump 工作的时候并不阻塞其他的对数据库的操作。(但是会阻塞那些需要排他锁的操作,比如大部分形式的 ALTER TABLE。)

    6.2从转储中恢复

    pg_dump 生成的文本文件可以由 psql 程序读取。从转储中恢复的常用命令是:

    psql dbname < dumpfile

    其中 dumpfile 就是 pg_dump 命令的输出文件。这条命令不会创建数据库 dbname,你必须在执行 psql 前自己从 template0 创建(例如,用命令 createdb -T template0 dbname)。psql 支持类似 pg_dump 的选项用以指定要连接的数据库服务器和要使用的用户名。参阅 psql 的手册获取更多信息。非文本文件转储可以使用 pg_restore 工具来恢复。
    在开始恢复之前,转储库中对象的拥有者以及在其上被授予了权限的用户必须已经存在。如果它们不存在,那么恢复过程将无法将对象创建成具有原来的所属关系以及权限(有时候这就是你所需要的,但通常不是)。
    默认情况下,psql 脚本在遇到一个 SQL 错误后会继续执行。你也许希望在遇到一个 SQL 错误后让 psql 退出,那么可以设置 ON_ERROR_STOP 变量来运行 psql,这将使 psql 在遇到 SQL 错误后退出并返回状态 3:

    psql --set ON_ERROR_STOP=on dbname < infile

    不管怎样,你将只能得到一个部分恢复的数据库。作为另一种选择,你可以指定让整个恢复作为一个单独的事务运行,这样恢复要么完全完成要么完全回滚。这种模式可以通过向 psql 传递 -1 或 --single-transaction 命令行选项来指定。在使用这种模式时,注意即使是很小的一个错误也会导致运行了数小时的恢复被回滚。但是,这仍然比在一个部分恢复后手工清理复杂的数据库要好。
    pg_dump 和 psql 读写管道的能力使得直接从一个服务器转储一个数据库到另一个服务器成为可能,例如:

    pg_dump -h host1 dbname | psql -h host2 dbname

    注意:
    pg_dump 产生的转储是相对于 template0。这意味着在 template1 中加入的任何语言、过程等都会被 pg_dump 转储。结果是,如果在恢复时使用的是一个自定义的 template1,你必须从 template0 创建一个空的数据库,正如上面的例子所示。
    一旦完成恢复,在每个数据库上运行 ANALYZE 是明智的举动,这样优化器就有有用的统计数据了。

    6.3使用pg_dumpall

    pg_dump 每次只转储一个数据库,而且它不会转储关于角色或表空间(因为它们是集簇范围的)的信息。为了支持方便地转储一个数据库集簇的全部内容,提供了 pg_dumpall 程序。pg_dumpall 备份一个给定集簇中的每一个数据库,并且也保留了集簇范围的数据,如角色和表空间定义。该命令的基本用法是:

    pg_dumpall > dumpfile

    转储的结果可以使用 psql 恢复:

    psql -f dumpfile postgres

    (实际上,你可以指定恢复到任何已有数据库名,但是如果你正在将转储载入到一个空集簇中则通常要用(postgres)。在恢复一个 pg_dumpall 转储时常常需要具有数据库超级用户访问权限,因为它需要恢复角色和表空间信息。如果你在使用表空间,请确保转储中的表空间路径适合于新的安装。
    pg_dumpall 工作时会发出命令重新创建角色、表空间和空数据库,接着为每一个数据库 pg_dump。这意味着每个数据库自身是一致的,但是不同数据库的快照并不同步。
    集簇范围的数据可以使用 pg_dumpall 的 --globals-only 选项来单独转储。如果在单个数据库上运行 pg_dump 命令,上述做法对于完全备份整个集簇是必需的。

    7.远程连接

    7.1修改PostgreSQL监听地址

    默认 PostgreSQL 监听的地址是 127.0.0.1,别的机器无法远程连接上,所以需要调整,修改 postgresql.conf 文件。

    通过 dnf 安装的 pgsql 配置文件在

    /var/lib/pgsql/data/postgresql.conf 

    通过源码编译安装的 pgsql 配置文件在

    /usr/local/pgsql/data/postgresql.conf 

    7.2配置访问权限

    目标

    通过 pg_hba.conf 文件设置允许远程连接的 IP 地址段及认证方式。

    操作步骤
    1. 定位配置文件

      • DNF/YUM 安装:路径为 /var/lib/pgsql/data/pg_hba.conf
      • 源码编译安装:路径为 /usr/local/pgsql/data/pg_hba.conf
    2. 编辑配置文件
      在文件末尾添加允许远程连接的规则,格式如下:

      # TYPE  DATABASE        USER            ADDRESS                 METHOD
      host    all             all             192.168.1.0/24        md5  # 允许 192.168.1.0/24 网段通过密码认证连接
      host    all             all             0.0.0.0/0             md5  # 允许所有 IP 地址通过密码认证连接(不推荐生产环境)
      
      • 参数说明
        • TYPE:连接类型,host 表示 TCP/IP 连接。
        • DATABASE:允许访问的数据库名,all 表示所有数据库。
        • USER:允许访问的用户名,all 表示所有用户。
        • ADDRESS:允许连接的 IP 地址段(/24 表示子网掩码,0.0.0.0/0 表示所有地址)。
        • METHOD:认证方式,md5 表示密码认证,trust 表示无需密码(不安全,仅测试用)。
    3. 保存并退出文件

    7.3重启服务

    systemctl restart postgresql 

    7.4验证远程连接

    psql -h 192.168.10.102

    8.配置密码

    8.1备份配置文件

    对 pg_hba.conf 文件,进行备份

    [root@localhost ~]# cp /var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/postgresql.confbak

    8.2修改配置文件

    修改配置文件以信任本地连接不需要密码。将配置文件中的 scram - sha - 256 或者 md5 修改为 trust

    [root@localhost ~]# vim /var/lib/pgsql/data/postgresql.conf

    8.3重启服务

    [root@localhost ~]# systemctl restart postgresql

    8.4修改密码

    登录数据库修改密码,密码自定义

    postgres=# ALTER USER postgres WITH PASSWORD 'new_password';
    ALTER ROLE

    8.5恢复pg_hba.conf配置文件。

    将 postgresql.confbak 文件的内容覆盖 pg_hba.conf,重启 PostgreSQL 数据库服务器,重新登陆时,如果提示输入密码,则输入刚才修改的密码即可

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2384956.html

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

    相关文章

    Attu下载 Mac版与Win版

    通过Git地址下载 Mac 版选择对于的架构进行安装 其中遇到了安装不成功&#xff0c;文件损坏等问题 一般是两种情况导致 1.安装版本不对 2.系统权限限制 https://www.cnblogs.com/similar/p/11280162.html打开terminal执行以下命令 sudo spctl --master-disable安装包Git下载地…

    V2X协议|如何做到“车联万物”?【无线通信小百科】

    1、什么是V2X V2X&#xff08;Vehicle-to-Everything&#xff09;即“车联万物”&#xff0c;是一项使车辆能够与周围环境实现实时通信的前沿技术。它允许车辆与其他交通参与者和基础设施进行信息交互。通过V2X&#xff0c;车辆不仅具备“远程感知”能力&#xff0c;还能在更大…

    [测试_3] 生命周期 | Bug级别 | 测试流程 | 思考

    目录 一、软件测试的生命周期&#xff08;重点&#xff09; 1、软件测试 & 软件开发生命周期 &#xff08;1&#xff09;需求分析 &#xff08;2&#xff09;测试计划 &#xff08;3&#xff09;测试设计与开发 &#xff08;4&#xff09;测试执行 &#xff08;5&am…

    RabbitMQ ⑤-顺序性保障 || 消息积压 || 幂等性

    幂等性保障 幂等性&#xff08;Idempotency&#xff09; 是计算机科学和网络通信中的一个重要概念&#xff0c;指的是某个操作无论被执行多少次&#xff0c;所产生的效果与执行一次的效果相同。 应用程序的幂等性&#xff1a; 在应用程序中&#xff0c;幂等性就是指对一个系统…

    java基础知识回顾1(可用于Java基础速通)考前,面试前均可用!

    目录 一、初识java 二、基础语法 1.字面量 2.变量 3.关键字 4.标识符 声明&#xff1a;本文章根据黑马程序员b站教学视频做的笔记&#xff0c;可对应课程听&#xff0c;课程链接如下: 02、Java入门&#xff1a;初识Java_哔哩哔哩_bilibili 一、初识java Java是美国 sun 公…

    云原生CICD-Tekton入门到精通

    文章目录 一、Tekton介绍二、Tekton组件介绍三、执行流程四、安装Tekton管道五、安装Tekton Dashboard六、安装Tekton Cli七、运行单Task八、运行流水线九、在流水线中使用secret十、taskSpec、taskRef、pipelineRef、pipelineSpec使用pipelineRef与taskRef结合使用(推荐)pipel…

    opencv 图像的平移和旋转

    warpAffine函数讲解,图片可自行下载&#xff0c;也可用自己的图片 原图im 平移im_shifted 旋转im_rotated # 图像仿射变换 # 步骤&#xff1a; 读取图像 -> 创建仿射变换矩阵 -> 仿射变换计算 # 平移变换矩阵&#xff1a;一种写法&#xff0c;直接写死 # 旋转变…

    IDEA2025版本使用Big Data Tools连接Linux上Hadoop的HDFS

    目录 Windows的准备 1. 将与Linux上版本相同的hadoop压缩包解压到本地 ​编辑2.设置$HADOOP HOME环境变量指向:E:\hadoop-3.3.4 3.下载hadoop.dll和winutils.exe文件 4.将hadoop.dll和winutils.exe放入$HADOOP HOME/bin中 IDEA中操作 1.下载Big Data Tools插件 2.添加并连…

    hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明

    摘要 hysAnalyser 是一款特色的 MPEG-TS 数据分析工具&#xff0c;融合了常规TS文件的剪辑&#xff0c;转存功能&#xff0c;可用于平常的视频开发和测试。 本文详细阐述了对MPEG-TS 流的节目ID&#xff0c;名称&#xff0c;PID&#xff0c;时间戳&#xff0c;流类型&#xff…

    Google机器学习实践指南(学习速率篇)

    &#x1f525;Google机器学习核心概念精讲&#xff08;学习速率&#xff09; Google机器学习实战(7)-5分钟掌握学习速率。 学习速率&#xff1a;模型训练的关键超参数 学习速率是指在训练模型时用于梯度下降的一个标量。在每次迭代期间&#xff0c;梯度下降法都会将学习速率…

    使用KubeKey快速部署k8s v1.31.8集群

    实战环境涉及软件版本信息&#xff1a; 使用kubekey部署k8s 1. 操作系统基础配置 设置主机名、DNS解析、时钟同步、防火墙关闭、ssh免密登录等等系统基本设置 dnf install -y curl socat conntrack ebtables ipset ipvsadm 2. 安装部署 K8s 2.1 下载 KubeKey ###地址 https…

    leetcode hot100:十四、解题思路大全:真·大全!

    因为某大厂的算法没有撕出来&#xff0c;怒而整理该贴。部分题目有python版本的AC代码。本贴耗时4天呜呜呜 1.哈希 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下…

    kali的简化安装

    首先点击kali的官网 https://www.kali.org/get-kali/#kali-platforms 点击虚拟机版本 下载VMware版本的压缩包 解压后 点击 后缀名为 .vmx的文件 原始账号密码为 kali kali 这样安装 就不需要我们再去配置镜像 等等复杂操作了

    Vortex GPGPU的github流程跑通与功能模块波形探索(三)

    文章目录 前言一、./build/ci下的文件结构二、基于驱动进行仿真过程牵扯的文件2.1 blackbox.sh文件2.2 demo文件2.3 额外牵扯到的ramulator2.3.1 ramulator简单介绍2.3.2 ramulator使用方法2.3.3 ramulator的输出2.3.4 ramulator的复现2.3.4.1 调试与验证&#xff08;第 4.1 节…

    实用蓝牙耳机哪款好?先做好使用场景分析!

    市面上的蓝牙耳机款式繁多&#xff0c;618到来之际&#xff0c;消费者如何选择适合自己的蓝牙耳机&#xff1f;实用蓝牙耳机哪款好&#xff1f;关键在于做好使用场景分析&#xff01;今天&#xff0c;就带大家结合不同的使用场景&#xff0c;分享三款倍思音频的精品蓝牙耳机。 …

    防火墙NAT地址组NAT策略安全策略

    本文仅供学习交流&#xff0c;所涉及的知识技术产权归属华为技术有限公司所有&#xff01;&#xff01;&#xff01; 本文仅供学习交流&#xff0c;所涉及的知识技术产权归属华为技术有限公司所有&#xff01;&#xff01;&#xff01; 本文仅供学习交流&#xff0c;所涉及的…

    Windows 使用 WSL 安装 Ubuntu

    一&#xff0c;前言 Windows 上轻松跑 Linux 又不想用笨重的VMware 和VirtualBox &#xff0c;怎么办&#xff1f; 开源项目 Windows Subsystem for Linux (WSL)。它解决了许多开发者在 Windows 和 Linux 间切换的痛点&#xff0c;实现在 Windows 上无缝跑 Linux 工具和命令。…

    第九天的尝试

    目录 一、每日一言 二、练习题 三、效果展示 四、下次题目 五、总结 一、每日一言 创造美好的代价是努力&#xff0c;失望以及毅力&#xff0c;首先是痛苦&#xff0c;然后才是欢乐。 时间是快的&#xff0c;看怎么利用&#xff0c;安排好一切事情&#xff0c;才能从容面对…

    流程自动化引擎:重塑企业数字神经回路

    在数字经济高速发展的今天&#xff0c;企业运营的核心逻辑正在经历一场静默的革命。流程自动化引擎作为这场变革的中枢神经系统&#xff0c;通过智能化的技术手段重构企业的业务逻辑与决策链路&#xff0c;将原本离散的“数字神经元”编织成高效协同的神经网络。这种技术不仅打…

    nginx web服务日志分析

    特点&#xff1a; 实时分析&#xff1a;支持实时分析 Nginx 日志&#xff0c;无需预先存储大量日志数据&#xff0c;能即时反馈网站的访问情况。轻量级高效&#xff1a;资源占用少&#xff0c;运行速度快&#xff0c;适合处理高流量网站的日志分析。多种输出格式&#xff1a;除…