PG14安装_rpm方式

一、前期准备

发现生产环境有用rpm安装,故整理安装rpm安装步骤,目的是准备walminer恢复数据用的环境

二、安装包下载

https://download.postgresql.org/pub/repos/yum/ 含多个版本
https://download.postgresql.org/pub/repos/yum/14/redhat/rhel-7-x86_64/ 仅14版本

postgresql14-server-14.8-1PGDG.rhel7.x86_64.rpm
postgresql14-libs-14.8-1PGDG.rhel7.x86_64.rpm
postgresql14-14.8-1PGDG.rhel7.x86_64.rpm
postgresql14-contrib-14.8-1PGDG.rhel7.x86_64.rpm

三、环境准备

环境准备需要使用root用户进行操作。本文档以CentOS7.9发行版操作系统为例,命令如下。如若是其他的linux发行版,准备工作这一块内容操作步骤是差不多的,linux命令需要调整。

3.1、配置本地yum源

--上传操作系统镜像到/opt目录
[root@localhost ~]# ls -l /opt | grep Cen*
-rw-r--r--.  1 root root 4712300544 Aug  8 05:27 CentOS-7-x86_64-DVD-2009.iso
--挂载镜像
[root@localhost ~]# mount /opt/CentOS-7-x86_64-DVD-2009.iso /mnt/
[root@localhost ~]# df -h | grep mnt
/dev/loop0      4.4G  4.4G     0 100% /mnt
--设置开机挂载
cat << EOF >> /etc/fstab
/dev/loop0    /mnt        iso9660 loop            0 0
EOF
--配置本地yum源文件
mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
cat >> /etc/yum.repos.d/os.repo <<"EOF"
[OS1]
name=OS
baseurl=file:///mnt
enabled=1
gpgcheck=0
EOF

3.2、安装依赖包

首先需要安装一些必要的依赖,PostgreSQL安装的过程需要使用到这些linux包。

yum install libxslt libicu python36-libs python2-libs libperl.so

3.3、关闭防火墙

禁用和启用二选一

--禁用防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service 
--启用防火墙
firewall-cmd --zone=public --add-port=15400/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --reload
--禁用防火墙区域偏移
sed -i 's/^AllowZoneDrifting=yes/AllowZoneDrifting=no/' /etc/firewalld/firewalld.conf 

3.4、关闭selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0 

3.5、修改操作系统打开最大文件句柄数

cat >> /etc/security/limits.conf << "EOF"
#add by postgres
postgres    soft    nproc    65536
postgres    hard    nproc    65536
postgres    soft    nofile   65536
postgres    hard    nofile   65536
postgres    soft    stack    1024000
postgres    hard    stack    1024000
EOF

该配置在关闭linux访问终端session重新登录之后生效,ulimit -n的值会变成65535 。进行这一步操作的目的是防止linux操作系统内打开文件句柄数量的限制,避免不必要的故障。

3.6、修改磁盘调度

echo deadline > /sys/block/sda/queue/scheduler

3.7、修改磁盘预读

/sbin/blockdev --setra 8192 /dev/sda

3.8、查看磁盘预读

/sbin/blockdev --getra /dev/sda

3.9、设置系统内核参数

cp /etc/sysctl.conf /etc/sysctl.confbak
cat >> /etc/sysctl.conf <<EOF
#add by postgres
#关闭sysrq功能
kernel.sysrq = 0
#关闭路由转发
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
#处理无源路由的包
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# 确保无人能修改路由表
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
#关闭ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
#内核放弃建立连接之前发送SYN 包的数量
net.ipv4.tcp_syn_retries = 2
#内核放弃建立连接之前发送SYNACK 包的数量
net.ipv4.tcp_synack_retries = 2
#当keepalive 起用的时候,TCP 发送keepalive 消息的频度。缺省是2 小时
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl =15
net.ipv4.tcp_retries1 = 3
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_max_tw_buckets = 6000
#启用timewait 快速回收
net.ipv4.tcp_tw_recycle = 1
#开启重用。允许将TIME-WAIT sockets 重新用于新的TCP 连接
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 10
# 开启SYN洪水攻击保护
net.ipv4.tcp_syncookies = 1
#限制仅仅是为了防止简单的DoS 攻击
net.ipv4.tcp_max_orphans = 3276800
#未收到客户端确认信息的连接请求的最大值
net.ipv4.tcp_max_syn_backlog = 16384
#限制仅仅是为了防止简单的DoS 攻击
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
fs.file-max = 1024000
#允许系统打开的端口范围
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.route.gc_timeout = 100
#系统中每一个端口最大的监听队列的长度,这是个全局的参数,默认值为128
net.core.somaxconn=1024
#每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
net.core.netdev_max_backlog = 262144
EOF

3.10、关闭进程间通信

#CentOS openEuler操作系统默认为关闭,可以跳过该步骤
sed -i 's/#RemoveIPC=no/RemoveIPC=no/g' /etc/systemd/logind.conf
systemctl daemon-reload
systemctl restart systemd-logind

四、安装数据库软件

cd /opt
rpm -ivh *.rpm

*会自动处理rpm安装顺序
rpm安装方式会自动创建postgres用户
二进制文件位置:/usr/pgsql-14/bin

五、创建数据目录(可选)

如果采用默认数据目录,该步骤忽略

mkdir -p /pgdata
chown -R postgres:postgres /pgdata
chmod -R 755 /pgdata

六、初始化实例

根据情况,选择以下任意一种

6.1.场景1:以postgres用户初始化实例

  • 默认初始化实例数据目录位置:/var/lib/pgsql/14/data/
su - postgres
cd /usr/pgsql-14/bin
./initdb 
  • 如果自定义数据目录位置:
su - postgres
cd /usr/pgsql-14/bin
./initdb 
--username=postgres  \
-D /pgdata \
--encoding=UTF8 \
--lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8

参数说明:
--lc-collate: 字符串排序的顺序
--lc-ctype:字符分类

6.2.场景2:以自定义用户初始化实例

数据库里会创建1个和操作系统用户fuwa同名的用户,该数据库用户fuwa是超级用户。假如创建扩展需要切换的超级用户是fuwa,而不是postgres

--赋予临时目录权限
su - root
chmod -R 777 /var/run/postgresql

--创建用户
groupadd -g 5001 fuwa
useradd -G fuwa -g 5001 fuwa
echo "fuwa"|passwd --stdin  fuwa

--初始化实例
su - fuwa
/usr/pgsql-14/bin/initdb -D /home/fuwa/data

--启库
su - fuwa
/usr/pgsql-14/bin/pg_ctl -D /home/fuwa/data start

--登录(需指定postgres用户,不然提示fuwa数据库不存在)
[fuwa@localhost log]$ /usr/pgsql-14/bin/psql postgres

--查看用户/模式/数据库(注意和postgres操作用户初始化实例的区别)
postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 fuwa      | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

postgres=# \dn
List of schemas
  Name  | Owner 
--------+-------
 public | fuwa
(1 row)

postgres=# \l
                              List of databases
   Name    | Owner | Encoding |   Collate   |    Ctype    | Access privileges 
-----------+-------+----------+-------------+-------------+-------------------
 postgres  | fuwa  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | fuwa  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/fuwa          +
           |       |          |             |             | fuwa=CTc/fuwa
 template1 | fuwa  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/fuwa          +
           |       |          |             |             | fuwa=CTc/fuwa
(3 rows)

--切换用户(注意和postgres操作用户初始化实例的区别)
mix_db=> \c mix_db postgres
connection to server on socket "/var/run/postgresql/.s.PGSQL.5434" failed: FATAL:  role "postgres" does not exist
Previous connection kept
mix_db=> \c mix_db fuwa
You are now connected to database "mix_db" as user "fuwa".

七、启停

7.1、方式1:系统服务

开机自启系统服务文件位置:/usr/lib/systemd/system/postgresql-14.service

  • 默认初始化实例数据目录位置
systemctl start postgresql-14.service
systemctl status postgresql-14.service
  • 自定义数据目录初始化实例
--1.更改开机自启系统服务文件中数据目录位置
vi /usr/lib/systemd/system/postgresql-14.service
Environment=PGDATA=/var/lib/pgsql/14/data/  替换为自定义数据目录

--2.启动
systemctl start postgresql-14.service
systemctl status postgresql-14.service

7.2、方式2:命令

--启动命令
pg_ctl start -D /var/lib/pgsql/14/data/
--重启命令
pg_ctl restart  -D /var/lib/pgsql/14/data/
--查看数据库运行状态
pg_ctl status  -D /var/lib/pgsql/14/data/
--停止数据库
pg_ctl stop  -D /var/lib/pgsql/14/data/

八、配置环境变量

echo "##postgres user env configuration" >> /var/lib/pgsql/.bash_profile
cp /var/lib/pgsql/.bash_profile  /var/lib/pgsql/.bash_profile
sed -i 's/^export PATH/#export PATH/'  /var/lib/pgsql/.bash_profile
echo "#add by postgres" >>  /var/lib/pgsql/.bash_profile
echo 'export PGHOME=/usr/pgsql-14' >>  /var/lib/pgsql/.bash_profile
echo 'export PGPORT=5432' >>  /var/lib/pgsql/.bash_profile
echo 'export PATH=$PGHOME/bin:$PATH' >>  /var/lib/pgsql/.bash_profile
echo 'export MANPATH=$PGHOME/share/man:$MANPATH' >>  /var/lib/pgsql/.bash_profile
echo 'export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH' >>  /var/lib/pgsql/.bash_profile
echo 'export LANG="en_US.UTF-8"' >>  /var/lib/pgsql/.bash_profile
echo 'export DATE=`date +"%Y%m%d%H%M"`' >>  /var/lib/pgsql/.bash_profile
source /var/lib/pgsql/.bash_profile	

九、参数配置

配置文件:
位置:数据目录PGDATA目录
postgresql.conf --数据库参数
pg_hba.conf --用户访问权限文件

9.1、数据库参数配置(含归档配置)

--创建归档目录
mkdir -p /var/lib/pgsql/14/pg_archive
--更改配置文件
cd $PGDATA
cp postgresql.conf postgresql.confbak
sed -i "/^#listen_addresses = 'localhost'/s/#listen_addresses = 'localhost'/listen_addresses = '*'/" postgresql.conf
sed -i "s/^#port = 5432/port = 5432/" postgresql.conf
sed -i 's/max_connections = 100/max_connections = 500/' postgresql.conf
sed -i "/^#wal_level/s/^#//" postgresql.conf #去掉注释
sed -i 's/#archive_mode = off/archive_mode = on/' postgresql.conf
sed -i "/^#archive_command = ''/s/#archive_command = ''/archive_command ='\/usr\/bin\/lz4 -q -z %p \/var\/lib\/pgsql\/14\/pg_archive/%f.lz4'/" postgresql.conf  #-q取消警告-z强制压缩
sed -i "/^#log_destination = 'stderr'/s/#log_destination = 'stderr'/log_destination = 'csvlog'/" postgresql.conf
sed -i "/^#logging_collector = off/s/#logging_collector = off/logging_collector = on/" postgresql.conf
sed -i "/^#log_directory = 'log'/s/^#//" postgresql.conf #去掉注释
sed -i "/^#log_filename/s/^#//" postgresql.conf #去掉注释
sed -i "/^#log_file_mode/s/^#//" postgresql.conf #去掉注释
sed -i "/^#log_rotation_age/s/^#//" postgresql.conf #去掉注释
sed -i "/^#log_rotation_size/s/^#//" postgresql.conf #去掉注释
sed -i "/^shared_buffers = 128MB/s/shared_buffers = 128MB/shared_buffers = 1024MB/" postgresql.conf #物理内存25~40%
sed -i "/^#work_mem = 4MB/s/#work_mem = 4MB/work_mem = 30MB/" postgresql.conf
sed -i "/^#maintenance_work_mem = 64MB/s/#maintenance_work_mem = 64MB/maintenance_work_mem = 256MB/" postgresql.conf
sed -i "/^#temp_buffers = 8MB/s/#temp_buffers = 8MB/temp_buffers = 256MB/" postgresql.conf

数据库能够接受的最大请求连接并发数

max_connections = 100

数据库服务器将使用的共享内存缓冲区量。建议值:数据库独立服务器的1/4内存。

shared_buffers =1GB

9.2、用户访问权限配置

cd $PGDATA
cp pg_hba.conf pg_hba.confbak
cat   > pg_hba.conf << EOF
# TYPE  DATABASE    USER    ADDRESS       METHOD
local      all       all                        trust
host      all       all    0.0.0.0/0        md5
EOF

第一行的内容表示local本机,all所有用户可以访问postgre的所有数据库,并且密码发送方式不需要加密(trust)。
第二行的内容用于远程访问,指定了可以访问postgreSql数据库的远程用户的ip范围, 0.0.0.0/0 表示所有ip都可以。如果你希望指定ip段,可以像这样去配置192.168.3.1/24(表示的ip范围是:192.168.3.1到192.168.3.255)。md5表示数据库访问密码使用md5的加密方式发送。

十、初始化业务数据环境

视情况执行如下脚本

--初始化postgres用户密码
alter user postgres with password '你设置的密码';
--创建新用户
create user top_sjjs with encrypted password 'top_sjjs';
alter user top_sjjs with superuser;
--创建数据库
create database mix_db owner top_sjjs;
grant all privileges on database mix_db to top_sjjs;
grant all privileges on all tables in schema public to top_sjjs;
--创建程序用户,用于操作数据库表里面的数据,完成增删改查
create user top_sjjs with encrypted password 'top_sjjs';
GRANT  update,delete,insert,select  ON  ALL TABLES IN SCHEMA public TO top_sjjs;

十一、参数优化(可选)

包含配置归档参数,默认开启归档。

11.1.参数配置

--更改配置文件
cp /pgdb/data/postgresql.conf /pgdb/data/postgresql.confbak
sed -i "/^#listen_addresses = 'localhost'/s/#listen_addresses = 'localhost'/listen_addresses = '*'/" /pgdb/data/postgresql.conf
sed -i "s/^#port = 5432/port = 5432/" /pgdb/data/postgresql.conf
sed -i 's/max_connections = 100/max_connections = 500/' /pgdb/data/postgresql.conf
sed -i "/^#wal_level/s/^#//" /pgdb/data/postgresql.conf #去掉注释
sed -i 's/#archive_mode = off/archive_mode = on/' /pgdb/data/postgresql.conf
sed -i "/^#archive_command = ''/s/#archive_command = ''/archive_command ='\/usr\/bin\/lz4 -q -z %p \/pgdb\/pg_archive\/%f.lz4'/" /pgdb/data/postgresql.conf  #-q取消警告-z强制压缩
sed -i "/^#log_destination = 'stderr'/s/#log_destination = 'stderr'/log_destination = 'csvlog'/" /pgdb/data/postgresql.conf
sed -i "/^#logging_collector = off/s/#logging_collector = off/logging_collector = on/" /pgdb/data/postgresql.conf
sed -i "/^#log_directory = 'log'/s/^#//" /pgdb/data/postgresql.conf #去掉注释
sed -i "/^#log_filename/s/^#//" /pgdb/data/postgresql.conf #去掉注释
sed -i "/^#log_file_mode/s/^#//" /pgdb/data/postgresql.conf #去掉注释
sed -i "/^#log_rotation_age/s/^#//" /pgdb/data/postgresql.conf #去掉注释
sed -i "/^#log_rotation_size/s/^#//" /pgdb/data/postgresql.conf #去掉注释
sed -i "/^shared_buffers = 128MB/s/shared_buffers = 128MB/shared_buffers = 1024MB/" /pgdb/data/postgresql.conf #物理内存25~40%
sed -i "/^#work_mem = 4MB/s/#work_mem = 4MB/work_mem = 30MB/" /pgdb/data/postgresql.conf
sed -i "/^#maintenance_work_mem = 64MB/s/#maintenance_work_mem = 64MB/maintenance_work_mem = 256MB/" /pgdb/data/postgresql.conf
sed -i "/^#temp_buffers = 8MB/s/#temp_buffers = 8MB/temp_buffers = 256MB/" /pgdb/data/postgresql.conf
--重启数据库
systemctl restart postgres.service

11.2.手动切归档

/pgdb/pgsql/bin/psql -Upostgres -W -d postgres -h127.0.0.1 -p5432 -c "select pg_switch_wal();"

11.3.归档定期删除策略

cat >> /var/spool/cron/postgres << "EOF"
# PostgresBegin
#设置归档策略:每晚零点10分删除7天前归档文件,视情况更改成1个月
10 00 * * * find /var/lib/pgsql/14/pg_archive -type f -name "0000000*" -mtime +7 -exec rm {} \; > /dev/null 2>&1
#设置日志保留2天,视情况更改成半年或3个月
00 01 * * * find /var/lib/pgsql/14/data/log -type f -name "postgresql*.log" -mtime +7 -exec rm {} \; > /dev/null 2>&1
00 01 * * * find /var/lib/pgsql/14/data/log -type f -name "postgresql*.csv" -mtime +7 -exec rm {} \; > /dev/null 2>&1
EOF

十二.常见问题

12.1.安装报错

--问题描述
[root@localhost opt]# ls -l
total 8064
-rw-r--r--. 1 root root 1563508 Oct 22 09:09 postgresql14-14.8-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root  704024 Oct 22 09:03 postgresql14-contrib-14.8-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root  277080 Oct 22 09:03 postgresql14-libs-14.8-1PGDG.rhel7.x86_64.rpm
-rw-r--r--. 1 root root 5707012 Oct 22 09:03 postgresql14-server-14.8-1PGDG.rhel7.x86_64.rpm
[root@localhost opt]# rpm -ivh *.rpm
warning: postgresql14-14.8-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
error: Failed dependencies:
	libicu is needed by postgresql14-14.8-1PGDG.rhel7.x86_64
	libperl.so()(64bit) is needed by postgresql14-contrib-14.8-1PGDG.rhel7.x86_64
	libpython3.6m.so.1.0()(64bit) is needed by postgresql14-contrib-14.8-1PGDG.rhel7.x86_64
	libicui18n.so.50()(64bit) is needed by postgresql14-server-14.8-1PGDG.rhel7.x86_64
	libicuuc.so.50()(64bit) is needed by postgresql14-server-14.8-1PGDG.rhel7.x86_64

--解决办法:
yum install libxslt libicu python36-libs python2-libs libperl.so

12.2.无权限创建lock文件

场景:以非root用户、postgres用户初始化实例

--创建用户
groupadd -g 5001 fuwa
useradd -G fuwa -g 5001 fuwa
echo "fuwa"|passwd --stdin  fuwa

--初始化实例
[fuwa@localhost bin]$ /usr/pgsql-14/bin/initdb -D /home/fuwa/data

--启库
[fuwa@localhost log]$ /usr/pgsql-14/bin/pg_ctl -D /home/fuwa/data start
waiting for server to start....2023-10-22 12:54:58.947 CST [12172] LOG:  redirecting log output to logging collector process
2023-10-22 12:54:58.947 CST [12172] HINT:  Future log output will appear in directory "log".
 stopped waiting
pg_ctl: could not start server
Examine the log output.

启库失败,查看日志提示

--问题描述
[fuwa@localhost log]$ /usr/pgsql-14/bin/pg_ctl -D /home/fuwa/data start
[fuwa@localhost log]$ tail -300f postgresql-Sun.log
2023-10-22 12:54:58.959 CST [12172] FATAL:  could not create lock file "/var/run/postgresql/.s.PGSQL.5434.lock": Permission denied
2023-10-22 12:54:58.961 CST [12172] LOG:  database system is shut down

解决办法
[root@localhost lib]# chmod -R 777 /var/run/postgresql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CentOS 中的 PostgreSQL(PostgreSQL Generalized Linear Models, 或简称 GLM)插件 `pg_similarity` 提供了用于计算文本相似度的功能,常用于信息检索和推荐系统等场景。以下是一个简单的安装教程: 1. **确认已安装 PostgreSQL**: 在开始前,请确保你的 CentOS 系统上已经安装了 PostgreSQL,可以通过运行 `postgresql96-server` (或根据你的 PostgreSQL 版本) 来检查或安装。 2. **更新包列表**: ``` sudo yum update ``` 3. **安装 pg_similarity**: 这个插件通常不在官方的 yum repository 内,所以可能需要从源码编译安装。首先,添加 PostgreSQL 的 contrib repository: ``` sudo curl https://get.pgxn.org/keys/pg-pkgs.asc | sudo apt-key add - sudo tee /etc/yum.repos.d/pgdg-centos.repo << EOF [pgdg-centos] name=PostgreSQL yum repository for centos baseurl=https://yum.postgresql.org/9.6/rhel-7-x86_64/ enabled=1 gpgcheck=1 gpgkey=https://yum.postgresql.org/9.6/RPM-GPG-KEY-pgdg-redhat EOF ``` 然后更新并安装 `pg_similarity`: ``` sudo yum install postgresql96-contrib ``` 4. **启用插件**: 重启 PostgreSQL 服务以加载新的模块: ``` sudo systemctl restart postgresql96 ``` 5. **验证安装**: 登录到 PostgreSQL 数据库,然后使用 `\d+ pg_similarity` 命令检查插件是否已经安装并启用。 6. **开始使用**: 在创建新的数据库表时,可以利用 `pg_similarity` 函数来存储和计算文本相似度。例如,创建一个包含文本列的表时,可以指定列的类型为 `similarity`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董小姐yyds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值