PG14.2异构迁移_数据目录拷贝方式

news2024/9/22 21:20:15

本文源库和目标库都是采用二进制tar包进行的安装,非rpm和源码编译方式安装。

采用的办法是编译安装数据库软件 拷贝数据目录的方式

迁移要求

由于Centos即将停止维护,客户强烈要求操作系统更改成Ubuntu18.04,需将Centos的PG14迁移至Ubuntu。考虑到数据目录小才1.8G,业务可以停止,随进行了源码编译安装数据库软件、数据目录拷贝方式实现异构迁移。

OS version

DB version

ip addr

ssh端口

安装方式

源库

Centos7.6 x86_64

PG14.2

172.19.146.150

22

二进制tar包

目标库

Ubuntu18.04 x86_64

PG14.2

172.19.146.177

58595

未安装数据库软件

迁移步骤

迁移前准备(目标库)

配置离线镜像仓库

上传操作系统镜像ubuntu-18.04.5-server-amd64.iso至/opt

--查操作系统版本
root@ubuntu:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.5 LTS
Release:	18.04
Codename:	bionic

--原文件备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak_`date +%F`

--创建挂载目录
mkdir -p /media/cdrom

--挂载镜像文件
mount -t iso9660 -o loop /opt/ubuntu-18.04.5-server-amd64.iso /media/cdrom

--向source.list中添加一个新的光盘源文件
apt-cdrom -m -d /media/cdrom add

--更新软件源
apt-get update

系统参数配置

sysctl.conf配置
--备份
cp /etc/sysctl.conf /etc/sysctl.conf_bak_20240120

--添加mysql方面的内容
cat >> /etc/sysctl.conf <<EOF
#add by postgres
#/proc/sys/kernel/优化
# 10000 connect remain:
kernel.sem = 250 162500 250 650	 

#notice: shall shmmax is base on 16GB, you may adjust it for your MEM
#TODO: open blow two paramenter may make error like this: can not fork xxxx, just reboot your computer ~

#for 2GB Mem:
kernel.shmall = 419430								
kernel.shmmax = 171796918     

#for 4GB Mem:
#kernel.shmall = 838860								
#kernel.shmmax = 3435973836  

#for 8GB Mem:
#kernel.shmall = 1677721								
#kernel.shmmax = 6871947673  

#for 16GB Mem:
#kernel.shmall = 3774873								
#kernel.shmmax = 8589934592 

#for 32GB Mem:
#kernel.shmall = 7549747
#kernel.shmmax = 17179869184
#for 64GB Mem:
#kernel.shmall = 15099494
#kernel.shmmax = 34359738368
#for 128GB Mem:
#kernel.shmall = 30198988
#kernel.shmmax = 68719476736
#for 256GB Mem:
#kernel.shmall = 60397977
#kernel.shmmax = 137438953472
#for 512GB Mem:
#kernel.shmall = 120795955
#kernel.shmmax = 274877906944

kernel.shmmni = 4096		

vm.dirty_background_ratio=2 
vm.dirty_ratio = 40			

vm.overcommit_memory = 2	
vm.overcommit_ratio = 90 	

vm.swappiness = 0 				

fs.aio-max-nr = 1048576		
fs.file-max = 6815744		
fs.nr_open = 20480000       

# TCP端口使用范围
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 6000
# 记录的那些尚未收到客户端确认信息的连接请求的最大值
net.ipv4.tcp_max_syn_backlog = 65536
# 每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.somaxconn=1024
net.core.netdev_max_backlog = 32768
net.core.wmem_default = 8388608
net.core.wmem_max = 1048576
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_syn_retries = 2
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_wmem = 8192 436600 873200
net.ipv4.tcp_rmem  = 32768 436600 873200
net.ipv4.tcp_mem = 94500000 91500000 92700000
net.ipv4.tcp_max_orphans = 3276800
EOF

--生效
sysctl -p 
limits.conf配置
--备份
cp /etc/security/limits.conf /etc/security/limits.conf_bak_20240120

--添加以下内容
cat >> /etc/security/limits.conf << "EOF"
#add by postgres
postgres    soft    nproc    16384
postgres    hard    nproc    16384
postgres    soft    nofile    65536
postgres    hard    nofile    65536
postgres    soft    stack    1024000
postgres    hard    stack    1024000
EOF
防火墙配置

默认防火墙是关闭状态

sudo ufw disable #禁用

如果启用防火墙需进行如下配置:

如果数据库端口和ssh端口不是5432和22,需视情况更改

sudo ufw enable #开启防火墙
sudo ufw allow 5432/tcp #仅tcp
sudo ufw allow 22/tcp #仅tcp
selinux配置

Ubuntu 默认未安装SELinux,省略设置。

root@HKSZF-ZW-172-19-146-175:/etc/selinux# getenforce
Command 'getenforce' not found, but can be installed with:
apt install selinux-utils

安装依赖包

依赖包下载:Launchpad 选择ubuntu

安装build-essential
--查看该软件包的依赖关系
y@ubuntu:~$ apt-cache depends build-essential
 |Depends: libc6-dev
  Depends: <libc-dev>
    libc6-dev
  Depends: gcc
  Depends: g++
  Depends: make
    make-guile
  Depends: dpkg-dev

--查看系统中libc相关已安装的软件包,
root@HKSZF-ZW-172-19-146-178:~# dpkg -l | grep libc
ii  klibc-utils                            2.0.4-9ubuntu2                                  amd64        small utilities built with klibc for early boot
ii  libc-bin                               2.27-3ubuntu1.2                                 amd64        GNU C Library: Binaries                            amd64        GNU C Library: Development binaries
发现无libc-dev
从1个可以访问外网的电脑上查找libc-dev,下载并上传至目标服务器,必须和2.27-3ubuntu1.2 版本相同不然报错
root@ubuntu:/etc/netplan# find / -name libc-dev*.deb
/media/cdrom/pool/main/g/glibc/libc-dev-bin_2.27-3ubuntu1.2_amd64.deb  将该文件下载并上传至目标服务器,必须和2.27-3ubuntu1.2 版本相同不然报错

--安装libc-dev
dpkg -i /media/cdrom/pool/main/g/glibc/libc-dev-bin_2.27-3ubuntu1.2_amd64.deb

--查看系统中libc6相关已安装的软件包,
root@HKSZF-ZW-172-19-146-178:~# dpkg -l | grep libc6
ii  libc6:amd64                            2.27-3ubuntu1.2                                 amd64        GNU C Library: Shared libraries
发现无libc6-dev
从1个可以访问外网的电脑上查找libc6-dev,下载并上传至目标服务器,必须和2.27-3ubuntu1.2 版本相同不然报错

root@ubuntu:~# dpkg -l | grep libc6
ii  libc6:amd64                            2.27-3ubuntu1.2                                 amd64        GNU C Library: Shared libraries
ii  libc6-dev:amd64                        2.27-3ubuntu1.2                                 amd64        GNU C Library: Development Libraries and Header Files

root@ubuntu:~# find / -name libc6-dev*.deb
/media/cdrom/pool/main/g/glibc/libc6-dev_2.27-3ubuntu1.2_amd64.deb  将该文件下载并上传至目标服务器,必须和2.27-3ubuntu1.2 版本相同不然报错

--安装libc6-dev
dpkg -i /opt//libc6-dev_2.27-3ubuntu1.2_amd64.deb

--安装build-essential
sudo apt-get install build-essential
安装readline
--查找
root@HKSZF-ZW-172-19-146-177:/topsoft/pgdb/pgsql# apt-cache search libreadline
libreadline5 - GNU readline and history libraries, run-time libraries
libreadline7 - GNU readline and history libraries, run-time libraries

--安装依赖包
dpkg -i /opt/libtinfo-dev_6.1-1ubuntu1.18.04.1_amd64
dpkg -i /opt/libtinfo5_6.1-1ubuntu1.18.04.1_amd64.deb

--安装readline
dpkg -i /opt/libreadline-dev_7.0-3_amd64.deb
安装zlib zlib-devel

在ubuntu软件源里zlib和zlib-devel叫做zlib1g zlib1g.dev

$ sudo apt-get install zlib1g

$ sudo apt-get install zlib1g.dev

如果存储库里没 下载并上传zlib1g-dev_1.2.11.dfsg-0ubuntu2_amd64.deb

--查找系统中已有相关zlib
root@ubuntu:/topsoft/pgdb/pgsql# dpkg -l | grep zlib
ii  zlib1g:amd64                           1:1.2.11.dfsg-0ubuntu2                          amd64        compression library - runtime
root@ubuntu:/topsoft/pgdb/pgsql# 

--安装
dpkg -i /opt/zlib1g-dev_1.2.11.dfsg-0ubuntu2_amd64.deb 

请记住 g 前面的字母是数字 1,而不是小写的字母 L。很多人在输入命令时都会犯这个错误。

另一个包,zlib 1g-dev 是开发包。只有在你需要时才安装它,否则你应该使用 zlib 1g 包。

sudo apt install zlib1g-dev

你也可以 Zlib 网站 下载源代码并安装它。但是,除非你有充分的理由,否则我不推荐使用源代码方式来安装 zlib。例如,如果你需要最新或特定版本的 zlib,但该版本在发行版的仓库中不可用。

有趣的是,像安装 zlib 这样看似很小的东西可能会变得很麻烦,有两个原因:一个是不同的包名;另一个是包含“隐藏”数字 1,它与小写 L 混淆了。

安装openssl-devel

由于Launchpad中无1.1.1-1ubuntu2.1~18.04.6 版本的libssl-dev,所以下载了libssl和libssl-dev

--查看系统中已有的openssl包
root@ubuntu:/topsoft/pgdb# dpkg -l | grep openssl
ii  libxmlsec1-openssl:amd64               1.2.25-1build1                                  amd64        Openssl engine for the XML security library
ii  openssl                                1.1.1-1ubuntu2.1~18.04.6                        amd64        Secure Sockets Layer toolkit - cryptographic utility
ii  python3-openssl                        17.5.0-1ubuntu1                                 all          Python 3 wrapper around the OpenSSL library

--下载1.1.1-1ubuntu2.1~18.04.6 该版本的openssl-devel
dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.23_amd64.deb
dpkg -i libssl-dev_1.1.1-1ubuntu2.1~18.04.23_amd64.deb

--安装后查看
root@ubuntu:/opt# dpkg -l | grep libssl
ii  libssl-dev:amd64                       1.1.1-1ubuntu2.1~18.04.23                       amd64        Secure Sockets Layer toolkit - development files
ii  libssl1.0.0:amd64                      1.0.2n-1ubuntu5.3                               amd64        Secure Sockets Layer toolkit - shared libraries
ii  libssl1.1:amd64                        1.1.1-1ubuntu2.1~18.04.23                       amd64        Secure Sockets Layer toolkit - shared libraries
编译安装uuid(目标库可选)

上传uuid至/opt下

--源码编译安装uuid
tar -xvf /opt/uuid-1-6-2-tar.gz
cd /opt/uuid-1.6.2/
./configure
make
make install

创建用户

--创建新用户
sudo useradd -r -m -s /bin/bash postgres

--更改密码
sudo passwd postgres

创建目录(可选)

su - root
mkdir -p /topsoft/pgdb

编译安装pg数据库软件(目标库)

--解压
tar -xvf postgresql-14.9.tar.gz -C /topsoft/pgdb
--重命名
mv /topsoft/pgdb/postgresql-14.9 /topsoft/pgdb/pgsql
--编译安装pg数据库软件
cd /topsoft/pgdb/pgsql
./configure --prefix=/topsoft/pgdb/pgsql --with-pgport=5432  --with-uuid=ossp

停止数据库(源库)

--查看源库进程,确定安装目录和数据目录
[root@HKSZF-ZW-172-19-146-150 ~]# ps -ef | grep "postgres -D"
postgres   1063      1  0  2023 ?        00:01:17 /topsoft/pgdb/pgsql/bin/postgres -D /topsoft/pgdb/data

PG安装目录:/topsoft/pgdb/pgsql
PG数据文件目录:/topsoft/pgdb/data

--停止源数据库 
pg_ctl stop -D /topsoft/pgdb/data

ps -ef | grep postgres 确保无进程

文件传输(源库到目标库)

文件传输包含以下文件:

  • 数据目录
  • 系统服务文件

我这儿是采用tar包二进制安装到了一个目录/topsoft下的/pgdb,如果目录是分开的请注意分开传输

--含安装目录+数据目录+配置文件传输
cd /topsoft
scp -P 58595 -r pgdb root@172.19.146.177:/topsoft/

--系统服务文件传输
scp -P 58595 /usr/lib/systemd/system/postgres.service root@172.19.146.177:/lib/systemd/system/

权限配置(新库)

chown -R postgres:postgres /topsoft/pgdb/
chmod -R 755 /topsoft/pgdb/
chmod -R 750 /topsoft/pgdb/data

系统服务文件配置

--配置系统服务链接
ln -s /lib/systemd/system/postgres.service  /etc/systemd/system/postgres.service
chmod +x /lib/systemd/system/postgres.service

如果源库目录和新库目录一致,无需更改系统服务文件里的安装位置和配置文件位置,不然需要更改系统服务文件里的安装位置和配置文件位置和端口

[root@localhost ~]# cat /lib/systemd/system/postgres.service 
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
Environment=PGPORT=5896
Environment=PGDATA=/topsoft/pgdb/data
OOMScoreAdjust=-1000
ExecStart=/topsoft/pgdb/pgsql/bin/pg_ctl start -D $PGDATA
ExecStop=/topsoft/pgdb/pgsql/bin/pg_ctl stop -D $PGDATA -s -m fast
ExecReload=/topsoft/pgdb/pgsql/bin/pg_ctl reload -D $PGDATA -s
TimeoutSec=300
[Install]
WantedBy=multi-user.target

启动数据库(目标库)

--启动数据库(目标库)
systemctl start postgres
systemctl status postgres

--配置数据库开机自启
systemctl enable postgres

配置环境变量

su - postgres
--备份源环境变量
cp .bashrc .bashrc_bak_20240120

--更改环境变量文件
vi .bashrc
末尾增加
export PATH=$PATH:/topsoft/pgdb/pgsql/bin
export PGHOME=/topsoft/pgdb/pgsql
export PGDATA=/topsoft/pgdb/data
export PGPORT=5432
export PGPASSWORD=top@123
export MANPATH=$PGHOME/share/man:$MANPATH
export LD_LIBRARY_PATH=$PGHOME/lib:/lib/
SCRIPTS_DIR=/topsoft/pgdb/scripts
export LANG="en_US.UTF-8"
export DATE=`date +"%Y%m%d%H%M"`

登录数据库

配置环境变量后新开一窗口登录数据库。

postgres@HKSZF-ZW-172-19-146-178:~$ psql
psql (14.9)
Type "help" for help.

postgres=#

迁移成功。

问题处理

编译报错error: C compiler cannot create executables

--问题描述
./configure --prefix=/topsoft/pgdb/pgsql --with-pgport=5432 --with-openssl  --with-readline   --with-uuid=ossp
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking which template to use... linux
checking whether NLS is wanted... no
checking for default port number... 5432
checking for block size... 8kB
checking for segment size... 1GB
checking for WAL block size... 8kB
checking for gcc... gcc
checking whether the C compiler works... no
configure: error: in `/topsoft/pgdb/pgsql':
configure: error: C compiler cannot create executables
See `config.log' for more details
root@HKSZF-ZW-172-19-146-177:/topsoft/pgdb/pgsql#

--解决办法
参照安装依赖包步骤安装build-essential

编译报错error: readline library not found

--问题描述
./configure --prefix=/topsoft/pgdb/pgsql --with-pgport=5432 --with-openssl  --with-readline   --with-uuid=ossp
checking for library containing readline... no
configure: error: readline library not found
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.

--解决办法
checking for library containing readline... no
configure: error: readline library not found
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@HKSZF-ZW-172-19-146-177:/topsoft/pgdb/pgsql# apt-cache search libreadline
libreadline5 - GNU readline and history libraries, run-time libraries
libreadline7 - GNU readline and history libraries, run-time libraries



root@HKSZF-ZW-172-19-146-177:/topsoft/pgdb/pgsql# sudo apt install libreadline-dev 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libreadline-dev

参照上面安装依赖包步骤中安装readline

编译报错error: library 'crypto'

--问题描述
./configure --prefix=/topsoft/pgdb/pgsql --with-pgport=5432 --with-openssl  --with-readline   --with-uuid=osspchecking for CRYPTO_new_ex_data in -lcrypto... no
configure: error: library 'crypto' is required for OpenSSL

--解决办法
参照安装依赖包中安装openssl-dev

编译报错 error: library 'ossp-uuid' or 'uuid' is required

--问题描述
root@HKSZF-ZW-172-19-146-177:/topsoft/pgdb/pgsql# ./configure --prefix=/topsoft/pgdb/pgsql --with-pgport=5432  --with-uuid=ossp

checking for library containing readline... -lreadline
checking for inflate in -lz... yes
checking for uuid_export in -lossp-uuid... no
checking for uuid_export in -luuid... no
configure: error: library 'ossp-uuid' or 'uuid' is required for OSSP UUID

--解决办法
参照上面安装依赖包步骤里的安装uuid

编译报错Command 'gmake' not found

由于ubuntu上取消了gmake(GUNmake)的而全部使用make代替。所以此问题的解决方式是有两种:

1、makefile中 gmake用make代替;

2、创建一个make的gmake连接:sudo ln -s /usr/bin/make /usr/bin/gmake.

--问题描述
root@HKSZF-ZW-172-19-146-177:/topsoft/pgdb/pgsql# ./configure --prefix=/topsoft/pgdb/pgsql --with-pgport=5432  --with-uuid=ossp
root@ubuntu:/topsoft/pgdb/pgsql# gmake

Command 'gmake' not found, but there are 14 similar ones.


--解决办法
make替换gmake

psql登录数据库提示"/tmp/.s.PGSQL.5896" failed

问题描述

root@HKSZF-ZW-172-19-146-177:~# su - postgres
postgres@HKSZF-ZW-172-19-146-177:~$ psql
psql: /lib/x86_64-linux-gnu/libcrypto.so.10: no version information available (required by /topsoft/pgdb/pgsql/lib/libpq.so.5)
psql: /lib/x86_64-linux-gnu/libssl.so.10: no version information available (required by /topsoft/pgdb/pgsql/lib/libpq.so.5)
psql: error: connection to server on socket "/tmp/.s.PGSQL.5896" failed: No such file or directory
        Is the server running locally and accepting connections on that socket?

解决办法

检查pgsql应用和端口是否正确,如pgsql运行和5432端口运行OK,则检查环境变量是否设置错误

--配置环境变量
su - postgres
--备份源环境变量
cp .bashrc .bashrc_bak_20240120

--更改环境变量文件
vi .bashrc
末尾增加
export PATH=$PATH:/topsoft/pgdb/pgsql/bin
export PGHOME=/topsoft/pgdb/pgsql
export PGDATA=/topsoft/pgdb/data
export PGPORT=5432
export PGPASSWORD=top@123
export MANPATH=$PGHOME/share/man:$MANPATH
export LD_LIBRARY_PATH=$PGHOME/lib:/lib/
SCRIPTS_DIR=/pgdb/scripts
export LANG="en_US.UTF-8"
export DATE=`date +"%Y%m%d%H%M"`

参考链接:

启库报错链接:https://www.cnblogs.com/hufulinblog/p/10124001.html

配置环境变量链接:Ubuntu18.0.4设置、查看环境变量_ubuntu 18.04 export-CSDN博客

配置系统服务链接:https://www.cnblogs.com/zoujiaojiao/p/13885884.html#:~:text=Ubuntu-18%20%E5%BC%80%E6%9C%BA%E8%87%AA%E5%8A%A8%E5%90%AF%E5%8A%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E7%A8%8B%E5%BA%8F%201%201.%E5%AE%9E%E7%8E%B0%E5%8E%9F%E7%90%86%20systemd%20%E9%BB%98%E8%AE%A4%E4%BC%9A%E8%AF%BB%E5%8F%96%20%2Fetc%2Fsystemd%2Fsystem%20%E4%B8%8B%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E8%AF%A5%E7%9B%AE%E5%BD%95%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6%E4%BC%9A%E9%93%BE%E6%8E%A5,%E5%8A%A0%E4%B8%8A%E6%9D%83%E9%99%90%EF%BC%8C%E5%90%AF%E7%94%A8%E6%9C%8D%E5%8A%A1%20...%205%205.%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1%E5%B9%B6%E6%A3%80%E6%9F%A5%E7%8A%B6%E6%80%81%20...%206%206.%E8%87%AA%E5%AE%9A%E4%B9%89%E8%84%9A%E6%9C%AC%EF%BC%8C%E5%B9%B6%E7%BB%99%E8%B6%B3%E5%A4%9F%E6%9D%83%E9%99%90%EF%BC%9A%20%E6%9B%B4%E5%A4%9A%E9%A1%B9%E7%9B%AE

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

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

相关文章

opencv#29 图像噪声的产生

在上一节的图像卷积我们了解到图像卷积可以用于去除图像中的噪声&#xff0c;那么对于现实生活中每一张采集到的图像都会包含噪声&#xff0c;也就是我们通过相机无法得到不包含噪声的图像&#xff0c;如果我想衡量噪声去除能力的强弱&#xff0c;就必须在一张不含噪声的图像中…

架构篇11:架构设计流程-设计备选方案

文章目录 架构设计第 2 步&#xff1a;设计备选方案设计备选方案实战小结 上一期我讲了架构设计流程第 1 步识别复杂度&#xff0c;确定了系统面临的主要复杂度问题后&#xff0c;方案设计就有了明确的目标&#xff0c;我们就可以开始真正进行架构方案设计了。今天我来讲讲架构…

【Go面试向】Go程序的执行顺序

【Go】Go程序的执行顺序 大家好 我是寸铁&#x1f44a; 总结了一篇Go程序的执行顺序的文章✨ 喜欢的小伙伴可以点点关注 &#x1f49d; Go程序内容 go程序通常包含: 包、常量、变量、init()、main()等元素 下面从这几个方面分别去梳理&#xff01; 包的执行顺序 程序中的包 …

【数据结构】链表(单链表与双链表实现+原理+源码)

博主介绍&#xff1a;✌全网粉丝喜爱、前后端领域优质创作者、本质互联网精神、坚持优质作品共享、掘金/腾讯云/阿里云等平台优质作者、擅长前后端项目开发和毕业项目实战✌有需要可以联系作者我哦&#xff01; &#x1f345;附上相关C语言版源码讲解&#x1f345; &#x1f44…

【GoLang入门教程】Go语言工程结构详述

程序员裁员潮&#xff1a;技术变革下的职业危机 文章目录 程序员裁员潮&#xff1a;技术变革下的职业危机前言总结:专栏集锦强烈推荐写在最后 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网…

瑞金市城北社区开展新时代文明实践文艺汇演

为发扬中华民族优秀传统文化&#xff0c;促进社区居民邻里交流&#xff0c;丰富居民业余文化生活&#xff0c;1月18日&#xff0c;瑞金市城市社区城北社区新时代文明实践站在金盛小区开展新时代文明实践文艺汇演活动。 社区文艺爱好者们自编自演的节目丰富多彩&#xff0c;现场…

基于open3d的半径滤波

概念原理 半径滤波器比较简单粗暴。以某点为中心画一个圆计算落在该圆中点的数量&#xff0c;当数量大于给定值时&#xff0c;则保留该点&#xff0c;数量小于给定值则剔除该点。此算法运行速度快&#xff0c;依序迭代留下的点一定是最密集的&#xff0c;但是圆的半径和圆内点…

5.命令源码文件及命令行参数

目录 概述命令源码文件接收参数查看参数的使用说明结束 概述 命令源码文件接收参数 命令源码文件是程序的运行入口&#xff0c;是每个可独立运行的程序必须拥有的 无论是 Linux 还是 Windows&#xff0c;如果用过命令行&#xff08;command line&#xff09;的话&#xff0c;肯…

泥石流监测识别摄像机

泥石流监测识别摄像机是一种基于图像识别技术的监测设备&#xff0c;主要用于实时监测和识别泥石流的发生和演变过程&#xff0c;以预警和减灾为目的。这种摄像机通常采用高清晰度摄像头和图像处理系统&#xff0c;能够实时拍摄泥石流事件&#xff0c;并对图像进行处理和分析&a…

植物神经功能紊乱是什么?

植物神经也叫自律神经&#xff0c;它是一种自发的&#xff0c;非主观意识控制的&#xff0c;低级的神经活动。包括呼吸的、心律的、汗腺的、胃肠道的调节等等&#xff0c;都叫植物神经功能调节。 植物神经它的一旦出现了障碍可以有两种倾向&#xff0c;一种倾向就是出汗、兴奋…

Navicat使用HTTP通道连接远程服务器的SQLite文件

拷贝ntunnel_sqlite.php文件到Linux机器中 ntunnel_sqlite.php文件位置&#xff1a; 在Navicat安装位置中可以找到ntunnel_sqlite.php文件&#xff0c;其他两个类似文件是支持MySQL和pgsql的

【计算机网络】应用层——HTTP 协议(一)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、什么是 HTTP 协…

MySQL-查询SQL语句

阅读目录 1.基础查询2.高级多表查询 回到顶部 1.基础查询 范围查询 在范围in select 字段 from 表名 where 字段 in (值,值); select id from stu where id in (2,3); 不在范围not in select 字段 from 表名 where 字段 in (值,值); select id from stu where id not in…

初识人工智能,一文读懂机器学习之逻辑回归知识文集(1)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

LLM:PI - 位置插值

标题:EXTENDING CONTEXT WINDOW OF LARGE LANGUAGE MODELS VIA POSITION INTERPOLATION 论文:https://arxiv.org/pdf/2306.15595.pdf 发表:2023 ​ Transformer的长度外推技术分为两类: 1:修改推理:比如PI、NTK-RoPE、YaRN、ReRoPE等。 优点:可直接修改推理模型,无…

Linux设备树中的 gpio 信息

一. 简介 前面几篇文章讲解了 pinctrl 子系统&#xff0c; pinctrl 子系统重点是设置 PIN( 有的 SOC 叫做 PAD) 的复用 和电气属性。 注意&#xff1a;如果 pinctrl 子系统将一个 PIN 复用为 GPIO 的话&#xff0c;那么接下来就要用到 gpio 子系统了。如果 PIN用作其他…

【Web前端开发基础】CSS的定位和装饰

CSS的定位和装饰 目录 CSS的定位和装饰一、学习目标二、文章内容2.1 定位2.1.1 定位的基本介绍2.1.2 定位的基本使用2.1.3 静态定位2.1.4 相对定位2.1.5 绝对定位2.1.6 子绝父相2.1.7 固定定位2.1.8元素的层级关系 2.2 装饰2.2.1 垂直对齐方式2.2.2 光标类型2.2.3 边框圆角2.2.…

Midjourney在线绘画及提示词精选库

网址:https://chat.xutongbao.top/ 一碗面粉&#xff1a; Self-Rising Flour in a 50s colourful bowl. professional photograph --ar 720:1170 --v 6 烟花古建筑&#xff1a; At night, with the snow-covered scenery of the Beijing Forbidden City as the backdrop, brill…

【Linux C | 进程】进程终止、等待 | exit、_exit、wait、waitpid

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…

【网站项目】基于SSM的263货物进销管理系统

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…