Linux(CentOS7)下源码编译 PostgreSQL13.10 安装手册

news2024/11/26 12:20:34

Linux(CentOS7)下PostgreSQL安装手册

文章目录

  • 一、准备PostgreSQL
  • 二、安装PostgreSQL
    • 2.1解压安装包
    • 2.2编译PG
    • 2.3查看PG安装目录
    • 2.4配置PG环境变量
    • 2.5查看PG版本
    • 2.6创建postgres用户
    • 2.7创建PG数据库数据存放目录
    • 2.8授权PG数据库数据存放目录
    • 2.9切换postgres用户
    • 2.10初始化PG数据库
    • 2.11启动PG数据库服务
    • 2.12查看PG数据库服务状态
    • 2.13登录PG数据库
    • 2.14查看现有数据库
    • 2.15查看PG数据库版本
    • 2.16配置PG数据库postgres用户密码
    • 2.17退出PG数据库
    • 2.18停止PG数据库服务
    • 2.19查看PG数据库服务状态
  • 三、配置PostgreSQL
    • 3.1修改关键配置文件:
    • 3.2重启PG数据库
    • 3.3本地登录PG数据库
    • 3.4远程连接PG数据库
    • 3.5停止PG数据库
    • 3.6编写PG数据库系统服务配置文件
    • 3.7加载系统配置文件
    • 3.8查看PG数据库系统服务
    • 3.9启动PG数据库系统服务
    • 3.10设置PG数据库系统服务开机自启动
    • 3.11停止PG数据库系统服务


一、准备PostgreSQL

下载地址:
https://www.postgresql.org/ftp/source/v13.10/
源码包:
https://ftp.postgresql.org/pub/source/v13.10/postgresql-13.10.tar.gz

由于官网提供下载方式在国外,国内下载速度慢
所以使用国内阿里云镜像站下载
下载地址:
https://mirrors.aliyun.com/postgresql/source/v13.10/
源码包:
https://mirrors.aliyun.com/postgresql/source/v13.10/postgresql-13.10.tar.gz


前提:有/opt/software目录
如果没有,则需要创建

mkdir /opt/software

在服务器下载:(我们使用阿里云下载)

wget https://mirrors.aliyun.com/postgresql/source/v13.10/postgresql-13.10.tar.gz -P /opt/software

[root@dw3 ~]# wget https://mirrors.aliyun.com/postgresql/source/v13.10/postgresql-13.10.tar.gz -P /opt/software
--2023-04-09 22:06:18--  https://mirrors.aliyun.com/postgresql/source/v13.10/postgresql-13.10.tar.gz
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 8.132.50.95, 8.132.50.94, 8.132.50.96, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|8.132.50.95|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:28117237 (27M) [application/octet-stream]
正在保存至: “/opt/software/postgresql-13.10.tar.gz”

100%[======================================>] 28,117,237  5.44MB/s 用时 5.0s   

2023-04-09 22:06:23 (5.41 MB/s) - 已保存 “/opt/software/postgresql-13.10.tar.gz” [28117237/28117237])

[root@dw3 ~]# 

二、安装PostgreSQL

2.1解压安装包

(1)先来创建解压之后存放的目录

[root@dw3 ~]# mkdir -p /opt/module/

(2)再来解压

[root@dw3 ~]# tar -zxf /opt/software/postgresql-13.10.tar.gz -C /opt/module/
[root@dw3 ~]#

(3)进入解压后的目录

[root@dw3 ~]# cd /opt/module/postgresql-13.10/
[root@dw3 postgresql-13.10]# ls
aclocal.m4  configure     contrib    doc             HISTORY  Makefile  src
config      configure.in  COPYRIGHT  GNUmakefile.in  INSTALL  README
[root@dw3 postgresql-13.10]# 

2.2编译PG

注意:
编译PG之前,先安装两个依赖包,否则后边会遇到报错

yum install readline-devel zlib-devel -y

下面详细编译过程(有遇到报错)

[root@dw3 postgresql-13.10]# ./configure --prefix=/usr/local/pg13

遇到报错:

If you have readline already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-readline to disable readline support.
[root@dw3 postgresql-13.10]# 

如何解决?
上面这个报错说明:操作系统缺少readline-devel这个包,那么我们来安装它

yum install readline-devel -y

[root@dw3 postgresql-13.10]# yum install readline-devel -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 readline-devel.x86_64.0.6.2-11.el7 将被 安装
--> 正在处理依赖关系 ncurses-devel,它被软件包 readline-devel-6.2-11.el7.x86_64 需要
--> 正在检查事务
---> 软件包 ncurses-devel.x86_64.0.5.9-14.20130511.el7_4 将被 安装
--> 解决依赖关系完成

依赖关系解决

===============================================================================
 Package             架构        版本                          源         大小
===============================================================================
正在安装:
 readline-devel      x86_64      6.2-11.el7                    base      139 k
为依赖而安装:
 ncurses-devel       x86_64      5.9-14.20130511.el7_4         base      712 k

事务概要
===============================================================================
安装  1 软件包 (+1 依赖软件包)

总下载量:851 k
安装大小:2.4 M
Downloading packages:
(1/2): readline-devel-6.2-11.el7.x86_64.rpm               | 139 kB   00:00     
(2/2): ncurses-devel-5.9-14.20130511.el7_4.x86_64.rpm     | 712 kB   00:00     
-------------------------------------------------------------------------------
总计                                              4.2 MB/s | 851 kB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
  正在安装    : ncurses-devel-5.9-14.20130511.el7_4.x86_64                 1/2 
  正在安装    : readline-devel-6.2-11.el7.x86_64                           2/2 
  验证中      : readline-devel-6.2-11.el7.x86_64                           1/2 
  验证中      : ncurses-devel-5.9-14.20130511.el7_4.x86_64                 2/2 

已安装:
  readline-devel.x86_64 0:6.2-11.el7                                           

作为依赖被安装:
  ncurses-devel.x86_64 0:5.9-14.20130511.el7_4                                 

完毕!
[root@dw3 postgresql-13.10]# 

下面我们重新编译PG

[root@dw3 postgresql-13.10]# ./configure --prefix=/usr/local/pg13

又遇到报错:

configure: error: zlib library not found
If you have zlib already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.
[root@dw3 postgresql-13.10]# 

如何解决?
上面这个报错说明:操作系统缺少zlib-devel这个包,那么我们来安装它
yum install zlib-devel -y

[root@dw3 postgresql-13.10]# yum install zlib-devel -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 zlib-devel.x86_64.0.1.2.7-21.el7_9 将被 安装
--> 解决依赖关系完成

依赖关系解决

===============================================================================
 Package           架构          版本                     源              大小
===============================================================================
正在安装:
 zlib-devel        x86_64        1.2.7-21.el7_9           updates         50 k

事务概要
===============================================================================
安装  1 软件包

总下载量:50 k
安装大小:132 k
Downloading packages:
zlib-devel-1.2.7-21.el7_9.x86_64.rpm                      |  50 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : zlib-devel-1.2.7-21.el7_9.x86_64                           1/1 
  验证中      : zlib-devel-1.2.7-21.el7_9.x86_64                           1/1 

已安装:
  zlib-devel.x86_64 0:1.2.7-21.el7_9                                           

完毕!
[root@dw3 postgresql-13.10]# 
下面我们重新编译PG
[root@dw3 postgresql-13.10]# ./configure --prefix=/usr/local/pg13

编译成功如下所示:

1

然后
make编译

[root@dw3 postgresql-13.10]# make

由于CPU是单核,所以-j参数无需使用

make install安装

[root@dw3 postgresql-13.10]# make install

编译安装完成

2

3

2.3查看PG安装目录

先进入安装目录
cd /usr/local/pg13/

[root@dw3 postgresql-13.10]# cd /usr/local/pg13/

然后查看

[root@dw3 pg13]# ls
bin  include  lib  share
[root@dw3 pg13]# 

2.4配置PG环境变量

vim /etc/profile.d/pg.sh

复制下列内容到文件

export PG_HOME=/usr/local/pg13
export PATH=$PG_HOME/bin:$PATH
export LD_LIBRARY_PATH=$PG_HOME/lib

注意:

LD_LIBRARY_PATH 为PG数据库源码编译出来之后的动态库存放的位置

[root@dw3 pg13]# vim /etc/profile.d/pg.sh
[root@dw3 pg13]# 
[root@dw3 pg13]# cat /etc/profile.d/pg.sh
export PG_HOME=/usr/local/pg13
export PATH=$PG_HOME/bin:$PATH
export LD_LIBRARY_PATH=$PG_HOME/lib
[root@dw3 pg13]# 
[root@dw3 pg13]# source /etc/profile.d/pg.sh
[root@dw3 pg13]# 

2.5查看PG版本

psql -V

[root@dw3 pg13]# psql -V
psql (PostgreSQL) 13.10
[root@dw3 pg13]# 

2.6创建postgres用户

useradd postgres

[root@dw3 pg13]# useradd postgres
[root@dw3 pg13]#

2.7创建PG数据库数据存放目录

mkdir -p /usr/local/pg13/data

[root@dw3 pg13]# mkdir -p /usr/local/pg13/data
[root@dw3 pg13]# ls
bin  data  include  lib  share
[root@dw3 pg13]#

2.8授权PG数据库数据存放目录

chown -R postgres. /usr/local/pg13

[root@dw3 pg13]# chown -R postgres. /usr/local/pg13
[root@dw3 pg13]# 

2.9切换postgres用户

su postgres

[root@dw3 pg13]# su postgres
[postgres@dw3 pg13]$
[postgres@dw3 pg13]$ ls -l
总用量 20
drwxr-xr-x 2 postgres postgres 4096 4月  10 00:03 bin
drwxr-xr-x 2 postgres postgres 4096 4月  10 00:16 data
drwxr-xr-x 4 postgres postgres 4096 4月  10 00:03 include
drwxr-xr-x 4 postgres postgres 4096 4月  10 00:03 lib
drwxr-xr-x 3 postgres postgres 4096 4月  10 00:03 share
[postgres@dw3 pg13]$ 

2.10初始化PG数据库

./bin/initdb -D /usr/local/pg13/data

[postgres@dw3 pg13]$ ./bin/initdb -D /usr/local/pg13/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "zh_CN.UTF-8".
The default database encoding has accordingly been set to "UTF8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
The default text search configuration will be set to "simple".

Data page checksums are disabled.

fixing permissions on existing directory /usr/local/pg13/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... Asia/Shanghai
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

initdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    ./bin/pg_ctl -D /usr/local/pg13/data -l logfile start

[postgres@dw3 pg13]$ 

2.11启动PG数据库服务

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile start
waiting for server to start.... done
server started
[postgres@dw3 pg13]$

2.12查看PG数据库服务状态

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile status
pg_ctl: server is running (PID: 15401)
/usr/local/pg13/bin/postgres "-D" "/usr/local/pg13/data"
[postgres@dw3 pg13]$ 

2.13登录PG数据库

psql

[postgres@dw3 pg13]$ psql
psql (13.10)
Type "help" for help.

postgres=# 

2.14查看现有数据库

\l

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 | 
 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
(3 rows)

postgres=#

2.15查看PG数据库版本

postgres=# select version();
                                                 version                                                  
----------------------------------------------------------------------------------------------------------
 PostgreSQL 13.10 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
(1 row)

postgres=# 

2.16配置PG数据库postgres用户密码

默认没有密码,设置密码为:Pg_10.24!

\password

postgres=# \password
Enter new password for user "postgres": 
Enter it again: 
postgres=# 

2.17退出PG数据库

\q

postgres=# \q
[postgres@dw3 pg13]$ 

2.18停止PG数据库服务

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile stop
waiting for server to shut down.... done
server stopped
[postgres@dw3 pg13]$ 

2.19查看PG数据库服务状态

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile status
pg_ctl: no server running
[postgres@dw3 pg13]$ 

三、配置PostgreSQL

3.1修改关键配置文件:

(1)配置用户权限、远程权限

vim /usr/local/pg13/data/pg_hba.conf

配置下列内容

host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0              md5

(2)修改访问地址、最大连接数

vim /usr/local/pg13/data/postgresql.conf

配置下列内容

listen_addresses = '*'          # what IP address(es) to listen on;
port = 5432                             # (change requires restart)
max_connections = 1000                  # (change requires restart)
logging_collector = on          # Enable capturing of stderr and csvlog
log_directory = '/usr/local/pg13/log'                   # directory where log files are written,
[postgres@dw3 pg13]$ ll /usr/local/pg13/data/pg_hba.conf 
-rw------- 1 postgres postgres 4760 4月  10 00:25 /usr/local/pg13/data/pg_hba.conf
[postgres@dw3 pg13]$ 
[postgres@dw3 pg13]$ ll /usr/local/pg13/data/postgresql.conf 
-rw------- 1 postgres postgres 28093 4月  10 00:25 /usr/local/pg13/data/postgresql.conf
[postgres@dw3 pg13]$ 

3.2重启PG数据库

[postgres@dw3 pg13]$ pg_ctl -D /usr/local/pg13/data restart
waiting for server to shut down.... done
server stopped
waiting for server to start....2023-04-10 01:08:22.214 CST [15646] LOG:  redirecting log output to logging collector process
2023-04-10 01:08:22.214 CST [15646] HINT:  Future log output will appear in directory "/usr/local/pg13/log".
 done
server started
[postgres@dw3 pg13]$ 
[postgres@dw3 pg13]$ ll
总用量 28
drwxr-xr-x  2 postgres postgres 4096 4月  10 00:03 bin
drwx------ 19 postgres postgres 4096 4月  10 01:08 data
drwxr-xr-x  4 postgres postgres 4096 4月  10 00:03 include
drwxr-xr-x  4 postgres postgres 4096 4月  10 00:03 lib
drwx------  2 postgres postgres 4096 4月  10 01:08 log
-rw-------  1 postgres postgres 3911 4月  10 01:08 logfile
drwxr-xr-x  3 postgres postgres 4096 4月  10 00:03 share
[postgres@dw3 pg13]$ ll log
总用量 4
-rw------- 1 postgres postgres 605 4月  10 01:08 postgresql-2023-04-10_010822.log
[postgres@dw3 pg13]$ 

3.3本地登录PG数据库

注意:这次登录需要输入密码了

[postgres@dw3 pg13]$ psql -U postgres -d postgres -h 127.0.0.1 -p 5432
Password for user postgres: 
psql (13.10)
Type "help" for help.

postgres=# 

3.4远程连接PG数据库

服务器公网IP:47.92.93.96
PG默认端口号:5432
PG远程用户:postgres
PG远程用户密码:Pg_10.24!

使用远程工具,连接测试,以DataGrip工具为例:

4

2

3.5停止PG数据库

[postgres@dw3 pg13]$ ./bin/pg_ctl -D /usr/local/pg13/data -l logfile stop
waiting for server to shut down.... done
server stopped
[postgres@dw3 pg13]$ 

3.6编写PG数据库系统服务配置文件

注意:root用户下编写

vim /lib/systemd/system/postgres.service

[root@dw3 pg13]# cat /lib/systemd/system/postgres.service
[Unit]
Description=postgresql-13.10
After=network.target
After=syslog.target

[Install]
WantedBy=multi-user.target

[Service]
Type=forking
User=postgres
Group=postgres
ExecStart=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data start
ExecStop=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data stop
PrivateTmp=true
[root@dw3 pg13]#  

3.7加载系统配置文件

[root@dw3 pg13]# systemctl daemon-reload

3.8查看PG数据库系统服务

[root@dw3 pg13]# systemctl status postgres.service 
● postgres.service - postgresql-13.10
   Loaded: loaded (/usr/lib/systemd/system/postgres.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@dw3 pg13]# 

3.9启动PG数据库系统服务

[root@dw3 ~]# systemctl start postgres.service
[root@dw3 ~]# systemctl status postgres.service 
● postgres.service - postgresql-13.10
   Loaded: loaded (/usr/lib/systemd/system/postgres.service; disabled; vendor preset: disabled)
   Active: active (running) since 一 2023-04-10 01:38:05 CST; 2s ago
  Process: 16123 ExecStart=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data start (code=exited, status=0/SUCCESS)
 Main PID: 16125 (postgres)
    Tasks: 8
   Memory: 41.0M
   CGroup: /system.slice/postgres.service
           ├─16125 /usr/local/pg13/bin/postgres -D /usr/local/pg13/data
           ├─16126 postgres: logger 
           ├─16128 postgres: checkpointer 
           ├─16129 postgres: background writer 
           ├─16130 postgres: walwriter 
           ├─16131 postgres: autovacuum launcher 
           ├─16132 postgres: stats collector 
           └─16133 postgres: logical replication launcher 

4月 10 01:38:05 dw3 systemd[1]: Starting postgresql-13.10...
4月 10 01:38:05 dw3 pg_ctl[16123]: waiting for server to start....2023-04-10 01:38:05.439 CST [1612...ocess
4月 10 01:38:05 dw3 pg_ctl[16123]: 2023-04-10 01:38:05.439 CST [16125] HINT:  Future log output wil...log".
4月 10 01:38:05 dw3 systemd[1]: Started postgresql-13.10.
Hint: Some lines were ellipsized, use -l to show in full.
[root@dw3 ~]# 

3.10设置PG数据库系统服务开机自启动

[root@dw3 ~]# systemctl enable postgres.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/postgres.service to /usr/lib/systemd/system/postgres.service.
[root@dw3 ~]# 
[root@dw3 ~]# systemctl status postgres.service 
● postgres.service - postgresql-13.10
   Loaded: loaded (/usr/lib/systemd/system/postgres.service; enabled; vendor preset: disabled)
   Active: active (running) since 一 2023-04-10 01:38:05 CST; 2min 56s ago
 Main PID: 16125 (postgres)
   CGroup: /system.slice/postgres.service
           ├─16125 /usr/local/pg13/bin/postgres -D /usr/local/pg13/data
           ├─16126 postgres: logger 
           ├─16128 postgres: checkpointer 
           ├─16129 postgres: background writer 
           ├─16130 postgres: walwriter 
           ├─16131 postgres: autovacuum launcher 
           ├─16132 postgres: stats collector 
           └─16133 postgres: logical replication launcher 

4月 10 01:38:05 dw3 systemd[1]: Starting postgresql-13.10...
4月 10 01:38:05 dw3 pg_ctl[16123]: waiting for server to start....2023-04-10 01:38:05.439 CST [16125] LOG:  redirecting log o... process
4月 10 01:38:05 dw3 pg_ctl[16123]: 2023-04-10 01:38:05.439 CST [16125] HINT:  Future log output will appear in directory "/us...13/log".
4月 10 01:38:05 dw3 systemd[1]: Started postgresql-13.10.
Hint: Some lines were ellipsized, use -l to show in full.
[root@dw3 ~]# 

3.11停止PG数据库系统服务

[root@dw3 ~]# systemctl stop postgres.service 
[root@dw3 ~]# systemctl status postgres.service 
● postgres.service - postgresql-13.10
   Loaded: loaded (/usr/lib/systemd/system/postgres.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since 一 2023-04-10 01:48:55 CST; 1s ago
  Process: 16303 ExecStop=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data stop (code=exited, status=0/SUCCESS)
  Process: 16285 ExecStart=/usr/local/pg13/bin/pg_ctl -D /usr/local/pg13/data start (code=exited, status=0/SUCCESS)
 Main PID: 16287 (code=exited, status=0/SUCCESS)

4月 10 01:48:44 dw3 systemd[1]: Starting postgresql-13.10...
4月 10 01:48:44 dw3 pg_ctl[16285]: waiting for server to start....2023-04-10 01:48:44.728 CST [16287] LOG:  redirecting log o... process
4月 10 01:48:44 dw3 pg_ctl[16285]: 2023-04-10 01:48:44.728 CST [16287] HINT:  Future log output will appear in directory "/us...13/log".
4月 10 01:48:44 dw3 systemd[1]: Started postgresql-13.10.
4月 10 01:48:55 dw3 systemd[1]: Stopping postgresql-13.10...
4月 10 01:48:55 dw3 systemd[1]: Stopped postgresql-13.10.
Hint: Some lines were ellipsized, use -l to show in full.
[root@dw3 ~]# 

PG数据库安装到此结束!


我们下期见,拜拜!

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

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

相关文章

一起学SF框架系列5.9-spring-Beans-bean实例创建

bean实例化底层采用Java反射机制,但Spring根据框架需要提供了更多的增强功能。 类关系图 InstantiationStrategy:接口-定义了创建RootBeanDefinition对应bean实例方法 SimpleInstantiationStrategy:简单bean的实例化处理。实现了Instantiati…

WEB:题目名称-文件包含

背景知识 题目 题目了文件包含,所以想到了php伪协议 构造payload尝试读取flag.php /?filenamephp://filter/readconvert.base64-encode/resourceflag.php 页面提示“do not hack”猜测可能是黑名单检测敏感字符串。猜测字符串哪些被禁用,这里输入单个…

【算法与数据结构】144、94、145LeetCode二叉树的前中后遍历(递归法、迭代法)

文章目录 一、题目二、递归算法三、迭代算法3.1 迭代算法13.2 迭代算法2 ——统一风格写法 四、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、递归算法 思路分析:这道题比较简单,不多说…

LCD—STM32液晶显示(2.使用FSMC模拟8080时序)

目录 使用STM32的FSMC模拟8080接口时序 FSMC简介 FSMC NOR/PSRAM中的模式B时序图 用FSMC模拟8080时序 重点:HADDR内部地址与FSMC地址信号线的转换(实现地址对齐) 使用STM32的FSMC模拟8080接口时序 ILI9341的8080通讯接口时序可以由STM32使…

PHP要怎么学--【强撸项目000】

强撸项目 总目录在000集 文章目录 本系列校训学习资源的选择环境的问题本人推荐 PHP视频的知识点分析总结题外话 本系列校训 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞&a…

sqli-labs 堆叠注入 解析

打开网页首先判断闭合类型 说明为双引号闭合 我们可以使用单引号将其报错 先尝试判断回显位 可以看见输出回显位为2,3 尝试暴库爆表 这时候进行尝试堆叠注入,创造一张新表 ?id-1 union select 1,database(),group_concat(table_name) from informatio…

给你一个网站,你如何测试?

首先,查找需求说明、网站设计 等相关文档,分析测试需求。 制定测试计划,确定测试范围和测试策略,一般包括以下几个部分: 功能性测试;界面测试;性能测试;数据库测试;安全…

AD如何查看PCB完成度?快来看这篇文

在Altium Designer(AD)中,很多工程师通过使用Design Rule Check(DRC,常用于检查PCB设计是否符合设计规范和要求)功能来检查PCB设计的完成度,但很多小白不太熟悉怎么去使用DRC,下面来…

深入浅出C语言—【函数】下

目录 5. 函数的嵌套调用和链式访问5.1嵌套调用5.2 链式访问 6. 函数的声明和定义6.1 函数声明6.2 函数定义 7. 函数递归👑7.1 什么是递归?7.2 递归的两个必要条件7.2.1 练习17.2.2 练习2 7.3 递归与迭代7.3.1 练习37.3.2 练习4 5. 函数的嵌套调用和链式访…

解决Missing cookie ‘JssionId‘ for method parameter of type String问题

错误描述如下所示: 上述错误是我在使用CookieValue注解,获取cookieID时出现的,错误原因是由于**CookieValue注解注解中的value值和浏览器中的cookie的jssionID不一致所导致的** 如下所示为浏览器中的CookieID的参数名 而我在注解中写的如下图…

浪涌保护器行业应用防雷选型方案

当今社会中,电气设备的使用范围越来越广泛,也越来越普及,而与之相关的浪涌保护器就显得尤为重要。在这个领域,有一种高品质的浪涌保护器 —— 地凯防雷SPD浪涌保护器,它可以为各种设备提供强大的保护,并在各…

YOLOv5——pytorch环境搭建

环境搭建是一个最最基础而又基本的事情,是一切工作开始前的基本要求。 由于YOLOv7和YOLOv5不兼容,这次用到了YOLOv5,我不得不再使用anaconda创建一个虚拟环境。 Tip:很多人不了解Anaconda存在的意义,就是为了弥补pyt…

四、DML-1.数据操作-添加

一、DML介绍 Data Manipulation Language 数据操作语言 用来对数据库中表的数据记录进行增删改操作。 二、添加数据 1、给指定字段添加数据 insert into employee(id, workno, name, gender, age, idcard,entrydate) values (1, 001,Itcast, 男, 18, 123456789012345678, 2…

kaggle新赛:学生摘要评估大赛赛题解析(NLP)

赛题名称:CommonLit - Evaluate Student Summaries 赛题链接: https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/ 赛题背景 摘要写作是所有年龄段学习者的一项重要技能。总结可以增强阅读理解能力,特别是在第二…

SOLIDWORKS工程图模板如何设置?

SOLIDWORKS工程图模板是非常重要的,它可以帮助工程师快速创建符合公司规范的工程图纸。本文将介绍SOLIDWORKS工程图模板的基本知识,包括如何创建和使用模板。 一、创建SOLIDWORKS工程图模板 首先,我们需要打开SOLIDWORKS软件,并选…

MySQL高阶语句之二

目录 ​编辑 一、子查询 1.1语法 1.2select 1.3insert 1.3update 1.4delete 1.5 exists 1.6别名as 二、MySQL视图 2.1功能 2.2区别 2.3联系 2.4 创建视图(单表) 2.5 创建视图(多表) 2.6修改原表数据 2.7修改视图数据 三、NULL值 一、子查询 子查询也被称作内查询…

虚拟机ubuntu1804打开联合标定工具箱的步骤(toolkit)

1、运行roscore roscore 2、进入到calibration文件夹打开终端 source devel/setup.bash3、运行rosrun打开即可 rosrun calibration_camera_lidar calibration_toolkit

iview的表格添加筛选功能需要注意的问题

给table的某列添加筛选功能 在table中通过给columns数据的项,设置 filters,可进行筛选,filters 接收一个数组。 然后再指定一个筛选函数 filterMethod 才可以进行筛选,filterMethod 传入两个参数value和 row。 如果指定 filter…

基于异步FIFO的串口回环测试

文章目录 前言一、异步FIFO简介二、串口简介2.1 数据接收模块(RX)2.1 数据发送模块(TX) 三、IP核说明与配置2.1 PLL IP核2.2 FIFO IP核 四、数据关联 前言 当涉及到串口通信的硬件设计和软件开发时,进行有效的测试是至关重要的。串口回环测试是一种常见的测试方法&a…

GSV6201替代方案|CS5466设计资料|CS5466原理图|typec转HDMI_8k方案芯片

GSV6201是一款高性能、低功耗、高性能的,USB Type-C备用模式显示端口1.4至HDMI 2.1转换器。通过集成增强型微控制器,GSV6201创造了一个经济高效的解决方案提供了上市时间优势。显示端口接收机支持高达32.4Gbps(HBR3,4通道&#xf…