如何搭建一套學習、開發PostgreSQL的環境

来源:https://www.cnblogs.com/88223100/archive/2022/10/24/How-to-build-an-environment-to-learn-and-develop-PostgreSQL.html
-Advertisement-
Play Games

萬事開頭難,搭建好一套學習、開發PostgreSQL的環境,是重中之重。 因為其他平臺(Ubuntu, CentOS, MAC)的用戶大多數都具備了自行安裝資料庫的能力,在這裡我只寫一個面向Windows用戶的學習環境搭建文檔。 分為三個部分,用戶可以自由選擇。 如果你想深入的學習Postgr... ...


背景

萬事開頭難,搭建好一套學習、開發PostgreSQL的環境,是重中之重。

因為其他平臺(Ubuntu, CentOS, MAC)的用戶大多數都具備了自行安裝資料庫的能力,在這裡我只寫一個面向Windows用戶的學習環境搭建文檔。

分為三個部分,用戶可以自由選擇。

如果你想深入的學習PostgreSQL,建議搭建PostgreSQL on Linux的環境。如果你只是想將資料庫使用在日常的應用開發工作中,有也不需要PG的其他附加插件的功能,那麼你可以選擇PostgreSQL on Win的環境搭建。

如果你不想搭建本地的PostgreSQL,那麼你可以使用雲資料庫服務,比如阿裡雲RDS for PostgreSQL。

本章大綱

一、PostgreSQL on Win環境搭建

1 環境要求

2 下載PostgreSQL安裝包

3 解壓PostgreSQL安裝包

4 下載pgadmin安裝包(可選)

5 安裝pgadmin(可選)

6 規劃數據文件目錄

7 初始化資料庫集群

8 配置postgresql.conf

9 配置pg_hba.conf(可選)

10 啟動、停止資料庫集群

11 如何自動啟動資料庫集群

12 使用psql 命令行連接資料庫

13 新增用戶

14 使用psql幫助

15 使用psql語法補齊

16 使用psql sql語法幫助

17 查看當前配置

18 設置會話參數

19 在psql中切換到另一個用戶或資料庫

20 使用pgadmin4連接資料庫

21 文檔

二、PostgreSQL on Linux(虛擬機)環境搭建

1 環境要求

2 下載Linux鏡像

3 安裝VMware Workstation(試用版本)

4 安裝securecrt(試用版本)

5 安裝Linux虛擬機

6 配置Linux虛擬機網路

7 securecrt終端連接Linux

8 配置linux

9 配置yum倉庫(可選)

10 創建普通用戶

11 規劃資料庫存儲目錄

12 下載PostgreSQL源碼

13 安裝PostgreSQL

14 配置linux用戶環境變數

15 初始化資料庫集群

16 配置資料庫

17 啟動資料庫集群

18 連接資料庫

19 安裝pgadmin(可選)

20 配置pgadmin(可選)

21 使用pgadmin連接資料庫(可選)

三、雲資料庫RDS for PostgreSQL

1 購買雲資料庫

2 設置並記住RDS for PostgreSQL資料庫根用戶名和密碼

3 配置網路

4 配置白名單

5 本地安裝pgadmin(可選)

6 本地配置pgadmin(可選)

7 使用pgadmin連接RDS PostgreSQL資料庫(可選)

一、PostgreSQL on Win環境搭建

1 環境要求

Win 7 x64, 8GB以上記憶體, 4核以上, SSD硬碟(推薦),100GB以上剩餘空間, 可以訪問公網(10MB/s以上網路帶寬)

2 下載PostgreSQL安裝包

https://www.postgresql.org/download/windows/

建議下載高級安裝包,不需要安裝,直接使用。

下載win x64的版本(建議下載最新版本)

http://www.enterprisedb.com/products/pgbindownload.do

例如

https://get.enterprisedb.com/postgresql/postgresql-9.6.2-3-windows-x64-binaries.zip

3 解壓PostgreSQL安裝包

postgresql-9.6.2-3-windows-x64-binaries.zip

例如解壓到d:\pgsql

 

 

 

bin: 二進位文件

doc: 文檔

include: 頭文件

lib: 動態庫

pgAdmin 4: 圖形化管理工具

share: 擴展庫

StackBuilder: 打包庫

symbols: 符號表

4 下載pgadmin安裝包(可選)

如果PostgreSQL包中沒有包含pgAdmin,建議自行下載一個

建議下載pgadmin4(pgadmin3不再維護)

https://www.pgadmin.org/index.php

https://www.postgresql.org/ftp/pgadmin3/pgadmin4/v1.3/windows/

5 安裝pgadmin(可選)

6 規劃數據文件目錄

例如將D盤的pgdata作為資料庫目錄。

新建d:\pgdata空目錄。

7 初始化資料庫集群

以管理員身份打開cmd.exe

>d:  
  
>cd pgsql  
  
>cd bin  
  
>initdb.exe -D d:\pgdata -E UTF8 --locale=C -U postgres  
  
初始化時,指定資料庫文件目錄,字元集,本地化,資料庫超級用戶名  

 

 

 

8 配置postgresql.conf

資料庫配置文件名字postgresql.conf,這個文件在數據文件目錄D:\pgdata中。

將以下內容追加到postgresql.conf文件末尾

listen_addresses = '0.0.0.0'  
port = 1921  
max_connections = 200  
tcp_keepalives_idle = 60  
tcp_keepalives_interval = 10  
tcp_keepalives_count = 6  
shared_buffers = 512MB  
maintenance_work_mem = 64MB  
dynamic_shared_memory_type = windows  
vacuum_cost_delay = 0  
bgwriter_delay = 10ms  
bgwriter_lru_maxpages = 1000  
bgwriter_lru_multiplier = 5.0  
bgwriter_flush_after = 0  
old_snapshot_threshold = -1  
wal_level = minimal
max_wal_senders = 0  # 如果max_wal_senders大於0,需要設置wal_level至少為replica級別。 PG 10開始,max_wal_senders預設值為10,以前的版本預設為0。
synchronous_commit = off  
full_page_writes = on  
wal_buffers = 64MB  
wal_writer_delay = 10ms  
wal_writer_flush_after = 4MB  
checkpoint_timeout = 35min  
max_wal_size = 2GB  
min_wal_size = 80MB  
checkpoint_completion_target = 0.1  
checkpoint_flush_after = 0  
random_page_cost = 1.5  
log_destination = 'csvlog'  
logging_collector = on  
log_directory = 'pg_log'  
log_truncate_on_rotation = on  
log_checkpoints = on  
log_connections = on  
log_disconnections = on  
log_error_verbosity = verbose  
log_temp_files = 8192  
log_timezone = 'Asia/Hong_Kong'  
autovacuum = on  
log_autovacuum_min_duration = 0  
autovacuum_naptime = 20s  
autovacuum_vacuum_scale_factor = 0.05  
autovacuum_freeze_max_age = 1500000000  
autovacuum_multixact_freeze_max_age = 1600000000  
autovacuum_vacuum_cost_delay = 0  
vacuum_freeze_table_age = 1400000000  
vacuum_multixact_freeze_table_age = 1500000000  
datestyle = 'iso, mdy'  
timezone = 'Asia/Hong_Kong'  
lc_messages = 'C'  
lc_monetary = 'C'  
lc_numeric = 'C'  
lc_time = 'C'  
default_text_search_config = 'pg_catalog.english'  

9 配置pg_hba.conf(可選)

資料庫防火牆文件名字pg_hba.conf,這個文件在數據文件目錄D:\pgdata中。

將以下內容追加到文件末尾,表示允許網路用戶使用用戶密碼連接你的postgresql資料庫.

host all all 0.0.0.0/0 md5  

10 啟動、停止資料庫集群

使用命令行啟動資料庫集群

>d:  
  
>cd pgsql  
  
>cd bin  
  
D:\pgsql\bin>pg_ctl.exe start -D d:\pgdata  
正在啟動伺服器進程  
  
D:\pgsql\bin>LOG:  00000: redirecting log output to logging collector process  
HINT:  Future log output will appear in directory "pg_log".  
LOCATION:  SysLogger_Start, syslogger.c:622  

使用命令行停止資料庫集群

D:\pgsql\bin>pg_ctl.exe stop -m fast -D "d:\pgdata"
等待伺服器進程關閉 .... 完成
伺服器進程已經關閉

11 如何自動啟動資料庫集群

配置windows自動啟動服務.

12 使用psql 命令行連接資料庫

psql -h IP地址 -p 埠 -U 用戶名 資料庫名

D:\pgsql\bin>psql -h 127.0.0.1 -p 1921 -U postgres postgres  
psql (9.6.2)  
輸入 "help" 來獲取幫助信息.  
  
postgres=# \dt  

13 新增用戶

新建用戶屬於資料庫操作,先使用psql和超級用戶postgres連接到資料庫。

新增一個普通用戶

postgres=# create role digoal login encrypted password 'pwd_digoal';  
CREATE ROLE  

新增一個超級用戶

postgres=# create role dba_digoal login superuser encrypted password 'dba_pwd_digoal';  
CREATE ROLE  

新增一個流複製用戶

postgres=# create role digoal_rep replication login encrypted password 'pwd';  
CREATE ROLE  

你還可以將一個用戶在不同角色之間切換

例如將digoal設置為超級用戶

postgres=# alter role digoal superuser;  
ALTER ROLE  

查看已有用戶

postgres=# \du+  
                                 角色列表  
  角色名稱  |                    屬性                    | 成員屬於 | 描述  
------------+--------------------------------------------+----------+------  
 dba_digoal | 超級用戶                                   | {}       |  
 digoal     | 超級用戶                                   | {}       |  
 digoal_rep | 複製                                       | {}       |  
 postgres   | 超級用戶, 建立角色, 建立 DB, 複製, 繞過RLS | {}       |  

14 使用psql幫助

psql有很多快捷的命令,使用\?就可以查看。

postgres=# \?  
一般性  
  \copyright            顯示PostgreSQL的使用和發行許可條款  
  \errverbose            以最冗長的形式顯示最近的錯誤消息  
  \g [文件] or;     執行查詢 (並把結果寫入文件或 |管道)  
  \gexec                 執行策略,然後執行其結果中的每個值  
  \gset [PREFIX]     執行查詢並把結果存到psql變數中  
  \q             退出 psql  
  \crosstabview [COLUMNS] 執行查詢並且以交叉表顯示結果  
  \watch [SEC]          每隔SEC秒執行一次查詢  
  
幫助  
  \? [commands]          顯示反斜線命令的幫助  
  
  ......  
  

15 使用psql語法補齊

如果你編譯PostgreSQL使用了補齊選項,那麼在psql中按TAB鍵,可以自動補齊命令。

16 使用psql sql語法幫助

如果你忘記了某個SQL的語法,使用\h 命令即可列印命令的幫助

例如

postgres=# \h create table  
命令:       CREATE TABLE  
描述:       建立新的數據表  
語法:  
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI  
STS ] 表名 ( [  
  { 列名稱 數據_類型 [ COLLATE 校對規則 ] [ 列約束 [ ... ] ]  
    | 表約束  
    | LIKE 源表 [ like選項 ... ] }  
    [, ... ]  
] )  
  
......  

17 查看當前配置

show 參數名

postgres=# show client_encoding;  
 client_encoding  
-----------------  
 GBK  
(1 行記錄)  

查看pg_settings

postgres=# select * from pg_settings;  

18 設置會話參數

set 參數名=值;

postgres=# set client_encoding='sql_ascii';  
SET  

19 在psql中切換到另一個用戶或資料庫

\c 切換到其他用戶或資料庫

postgres=# \c template1 digoal  
您現在已經連接到資料庫 "template1",用戶 "digoal".  

20 使用pgadmin4連接資料庫

pgAdmin4被安裝在這個目錄

d:\pgsql\pgAdmin 4\bin  

雙擊pgAdmin4.exe打開pgadmin4(有點耗時,自動啟動HTTPD服務)

點擊server,右鍵,創建server.

配置server別名,連接資料庫的 IP,埠,用戶,密碼,資料庫名

 

 

21 文檔

PostgreSQL的安裝包中包含了pgadmin, PostgreSQL的文檔,找到對應的doc目錄,打開index.html。

二、PostgreSQL on Linux(虛擬機)環境搭建

1 環境要求

Win 7 x64, 8GB以上記憶體, 4核以上, SSD硬碟(推薦),100GB以上剩餘空間, 可以訪問公網(10MB/s以上網路帶寬)

2 下載Linux鏡像

http://isoredirect.centos.org/centos/6/isos/x86_64/

http://mirrors.163.com/centos/6.9/isos/x86_64/CentOS-6.9-x86_64-minimal.iso

3 安裝VMware Workstation(試用版本)

http://www.vmware.com/cn/products/workstation/workstation-evaluation.html

4 安裝securecrt(試用版本)

securecrt可以用來連接Linux終端,方便使用

https://www.vandyke.com/products/securecrt/windows.html

5 安裝Linux虛擬機

打開vmware, 創建虛擬機, 選擇CentOS 6 x64版本.

1. 配置建議:

4G記憶體,40G磁碟,2核以上,NAT網路模式。

2. 安裝建議:

minimal最小化安裝。

3. root密碼:

記住你設置的root密碼。

4. Linux安裝配置建議

配置主機名,配置網路(根據你的vmware NAT網路進行配置),關閉selinux,關閉防火牆或開放ssh埠(測試環境)。

6 配置Linux虛擬機網路

vmware視窗連接linux

例子,192.168.150 請參考你的vmware NAT網路修改一下。

配置網關

vi /etc/sysconfig/network  
  
NETWORKING=yes  
HOSTNAME=digoal01  
GATEWAY=192.168.150.2  

配置IP

cat /etc/sysconfig/network-scripts/ifcfg-eth0   
  
DEVICE=eth0  
TYPE=Ethernet  
UUID=d28f566a-b0b9-4bde-95e7-20488af19eb6  
ONBOOT=yes  
NM_CONTROLLED=yes  
BOOTPROTO=static  
HWADDR=00:0C:29:5D:6D:9C  
IPADDR=192.168.150.133  
PREFIX=24  
GATEWAY=192.168.150.2  
DNS1=192.168.150.2  
DEFROUTE=yes  
IPV4_FAILURE_FATAL=yes  
IPV6INIT=no  
NAME="System eth0"  

配置DNS

cat /etc/resolv.conf  
  
nameserver 192.168.150.2  

重啟網路服務

service network restart  

7 securecrt終端連接Linux

添加一個session,連接到Linux虛擬機。

 

8 配置linux

1. /etc/sysctl.conf

vi /etc/sysctl.conf  
  
追加到文件末尾  
  
kernel.shmall = 4294967296  
kernel.shmmax=135497418752  
kernel.shmmni = 4096  
kernel.sem = 50100 64128000 50100 1280  
fs.file-max = 7672460  
fs.aio-max-nr = 1048576  
net.ipv4.ip_local_port_range = 9000 65000  
net.core.rmem_default = 262144  
net.core.rmem_max = 4194304  
net.core.wmem_default = 262144  
net.core.wmem_max = 4194304  
net.ipv4.tcp_max_syn_backlog = 4096  
net.core.netdev_max_backlog = 10000  
net.ipv4.netfilter.ip_conntrack_max = 655360  
net.ipv4.tcp_timestamps = 0  
net.ipv4.tcp_tw_recycle=1  
net.ipv4.tcp_timestamps=1  
net.ipv4.tcp_keepalive_time = 72   
net.ipv4.tcp_keepalive_probes = 9   
net.ipv4.tcp_keepalive_intvl = 7  
vm.zone_reclaim_mode=0  
vm.dirty_background_bytes = 40960000  
vm.dirty_ratio = 80  
vm.dirty_expire_centisecs = 6000  
vm.dirty_writeback_centisecs = 50  
vm.swappiness=0  
vm.overcommit_memory = 0  
vm.overcommit_ratio = 90  

生效

sysctl -p  

2. /etc/security/limits.conf

vi /etc/security/limits.conf   
  
* soft    nofile  131072  
* hard    nofile  131072  
* soft    nproc   131072  
* hard    nproc   131072  
* soft    core    unlimited  
* hard    core    unlimited  
* soft    memlock 500000000  
* hard    memlock 500000000  

3. /etc/security/limits.d/*

rm -f /etc/security/limits.d/*  

4. 關閉selinux

# vi /etc/sysconfig/selinux   
  
SELINUX=disabled  
SELINUXTYPE=targeted  

5. 配置OS防火牆
(建議按業務場景設置,我這裡先清掉)

iptables -F  

配置範例

# 私有網段  
-A INPUT -s 192.168.0.0/16 -j ACCEPT  
-A INPUT -s 10.0.0.0/8 -j ACCEPT  
-A INPUT -s 172.16.0.0/16 -j ACCEPT  

重啟linux。

reboot  

9 配置yum倉庫(可選)

在linux虛擬機中,找一個有足夠空間的分區,下載ISO鏡像

wget http://mirrors.163.com/centos/6.9/isos/x86_64/CentOS-6.9-x86_64-bin-DVD1.iso  
  
wget http://mirrors.163.com/centos/6.9/isos/x86_64/CentOS-6.9-x86_64-bin-DVD2.iso  

新建ISO掛載點目錄

mkdir /mnt/cdrom1  
mkdir /mnt/cdrom2  

掛載ISO

mount -o loop,defaults,ro /u01/CentOS-6.8-x86_64-bin-DVD1.iso /mnt/cdrom1  
mount -o loop,defaults,ro /u01/CentOS-6.8-x86_64-bin-DVD2.iso /mnt/cdrom2  

備份並刪除原有的YUM配置文件

mkdir /tmp/yum.bak  
cd /etc/yum.repos.d/  
mv * /tmp/yum.bak/  

新增YUM配置文件

cd /etc/yum.repos.d/  
  
vi local.repo  
  
[local-yum]  
name=Local Repository  
baseurl=file:///mnt/cdrom1  
enabled=1  
gpgcheck=0  

刷新YUM緩存

yum clean all  

測試

yum list  
  
yum install createrepo   -- 方便後面測試  

修改YUM配置,修改路徑為上層目錄

cd /etc/yum.repos.d/  
  
vi local.repo  
  
[local-yum]  
name=Local Repository  
baseurl=file:///mnt/  
enabled=1  
gpgcheck=0  

創建YUM索引

cd /mnt/  
createrepo .  

刷新YUM緩存,測試

yum clean all  
  
yum list  
  
yum install vim  

10 創建普通用戶

useradd digoal  

11 規劃資料庫存儲目錄

假設/home分區有足夠的空間, /home/digoal/pgdata規劃為數據文件目錄

Filesystem      Size  Used Avail Use% Mounted on  
/dev/sda3        14G  5.7G  7.2G  45% /  

12 下載PostgreSQL源碼

https://www.postgresql.org/ftp/source/

su - digoal  
  
wget https://ftp.postgresql.org/pub/source/v9.6.2/postgresql-9.6.2.tar.bz2  

13 安裝PostgreSQL

安裝依賴包

root用戶下,使用yum 安裝依賴包  
  
yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline	   

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 背景 最近遇到一個比較特殊需求,需要修改一個的RabbitMQ消費者,以實現在消費某種特定的類型消息時,延遲1小時再處理,幾個需要註意的點: 延遲是以小時為單位 不是所有消息都延遲消費,只延遲特定類型的消息 只在第一次消費時延遲1小時,容錯機制產生的重新消費(也即消息消費失敗,多次進入延遲隊列重試) ...
  • 文件定時同步的實現: 利用rsync結合cron計劃任務實現: rsync -av --delete /data/ 10.0.0.12:/back -a:保留文件屬性 -v:顯示過程 -delete:如果源文件沒有的,目標文件裡面有,就把目標文件裡面的刪除掉 文件實時同步的實現: 前提: 文件發生髮 ...
  • nginx配置https正向代理 nginx可以作為http的正向代理伺服器,但是不能用做https的正向代理伺服器。因為http正向代理使用的是get請求,但是https使用的確實connect請求,而nginx不支持connect請求。所以需要第三方模塊ngx_http_proxy_connec ...
  • 相關概念 SMB: Server Message Block 伺服器消息塊,屬於微軟的私有協議,是windws之間相互共用資源的一種協議。 cifs: common internet file system,基於smb開發而來的文件系統,通過internet共用文件系統。 #linux也支持cifs ...
  • RHCSA 帳戶信息 f0主機的root密碼為 Asimov ,f0上其他用戶的密碼均為 redhat f0裡面所有虛擬系統的 root 密碼是 redhat ,請勿更改 root 密碼。serverb的root 密碼未知,需要進行密碼重置,要求請查看後面的題目。所有系統上已預裝了 SSH 密 鑰, ...
  • 🏆 課程學習中心 | 🚧 電腦基礎課程合輯 | 🌍 課程主頁 | 📺 中英字幕視頻 | 🚀 項目代碼解析 課程介紹 CMU 15-721 是 CMU 卡內基梅隆大學開放的資料庫方向進階課程,討論了很多資料庫方向新的技術研究方向與話題,適合有資料庫基礎又想在該方向有深入研究的同學學習。 課 ...
  • 資料庫方向的專業課程,詳盡介紹了資料庫的基本知識、底層原理、效率優化、查詢優化、新資料庫等,是資料庫管理系統設計與實施方向的權威好課。 ...
  • 目前ClickHouse的表引擎主要有下麵四個系列,合併樹家族、日誌引擎系列、集成的表引擎和其他特殊的引擎。 #合併樹家族 Clickhouse中最強大的表引擎當屬MergeTree(合併樹)引擎及該系列(MergeTree)中的其他引擎。 MergeTree系列的引擎被設計用於插入極大量的數據到一 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...