文章目錄
- docker
- 測試網絡可達性
- 檢查端口是否開放
- PgSql
docker
docker logout IP地址:端口號
docker login IP地址:端口號橋接模式bridge啟動容器
docker run -d -p 外部端口號:內部端口號(配置文件中的端口號) --name 容器名稱 -v /data/docker/conf/application.yml:/app/config/application.yml(掛載配置文件到容器內) -v /data/test:/data/test(掛載配置文件夾到容器內) -e PARAMS="--spring.config.location=/app/config/application.yml" 鏡像別名:版本號宿主機本地模式host模式啟動
docker run -d --name 容器名稱 --network=host -v /data/docker/conf/application.yml:/app/config/application.yml(掛載配置文件到容器內) -v /data/test:/data/test(掛載配置文件夾到容器內) -e PARAMS="--spring.config.location=/app/config/application.yml" 鏡像別名:版本號docker exec -it <container_id> /bin/bash命令。其中,<container_id>需要替換為目標容器的ID或名稱。
docker save -o 導出名.tar 鏡像ID/別名:版本號
docker load -i xxx.tar
docker tag 鏡像ID 別名:版本號docker ps:列出正在運行的容器。
docker ps -a:列出所有的容器,包括停止的。
docker start <container_id>:啟動容器。
docker stop <container_id>:停止容器。
docker restart <container_id>:重啟容器。
docker rm <container_id>:刪除容器。
docker exec -it <container_id> <command>:在運行的容器中執行命令。查看容器的日志。
docker logs -tf -n 100 容器名
測試網絡可達性
IPV4:traceroute -n -T -p 端口號 IPV4地址
IPV6:traceroute6 -n -T -p 端口號 IPV6地址
ping IPV4地址
ping6 IPV6地址
檢查端口是否開放
telnet IP地址 端口號
nc -zv IP地址 端口號
PgSql
連接到數據庫:
psql -U <username> -d <database>:以指定用戶連接到指定數據庫。
psql -h <hostname> -U <username> -d <database>:連接到遠程主機上的數據庫。
退出 psql:
\q:退出 psql 控制臺。
數據庫操作:
CREATE DATABASE <database_name>;:創建新數據庫。
DROP DATABASE <database_name>;:刪除數據庫。
\l:列出所有數據庫。
\c <database_name>:連接到指定數據庫。
查詢public模式下所有表名:
select tablename from pg_tables where schemaname=‘public’;
表操作:
CREATE TABLE <table_name> (<column_name> <data_type>, ...);:創建新表。
DROP TABLE <table_name>;:刪除表。
\dt:列出當前數據庫中的所有表。
\d <table_name>:顯示指定表的結構。
查詢某表所有字段
select * from information_schema.columns where table_schema='模式名稱' and table_name='表名';
查詢某表字段個數
select count(*) from information_schema.columns where table_schema='模式名稱' and table_name='表名';
case條件操作
CASE WHEN a=1 THEN ‘one’ WHEN a=2 THEN ‘two’ ELSE ‘other’ END name
數據操作:
INSERT INTO <table_name> (<column1>, <column2>, ...) VALUES (<value1>, <value2>, ...);:插入新數據。
SELECT * FROM <table_name>;:從表中檢索數據。
UPDATE <table_name> SET <column1> = <value1>, <column2> = <value2>, ... WHERE <condition>;:更新數據。
DELETE FROM <table_name> WHERE <condition>;:刪除數據。
序列操作:
CREATE SEQUENCE IF NOT EXISTS 序列名 START 1;創建自增序列
DROP SEQUENCE IF NOT EXISTS 序列名;刪除序列
ALTER SEQUENCE 序列名 RESTART WITH 1;修改序列初始值
SELECT NEXTVAL('序列名');驗證序列下一個值
索引操作:
CREATE INDEX <index_name> ON <table_name> (<column_name>);:創建索引。
DROP INDEX <index_name>;:刪除索引。
\di:列出當前數據庫中的所有索引。
用戶和權限管理:
CREATE USER <username> WITH PASSWORD '<password>';:創建新用戶。
DROP USER <username>;:刪除用戶。
GRANT <privileges> ON <table_name> TO <username>;:授予用戶權限。
REVOKE <privileges> ON <table_name> FROM <username>;:撤銷用戶權限。
備份和恢復:
pg_dump -U <username> -d <database> > <backup_file.sql>:備份數據庫。
psql -U <username> -d <database> -f <backup_file.sql>:從備份文件中恢復數據庫。
pg_dump -U username -d dbname -t table_name -a -f table_name.sql:導出指定表數據。
-t 參數指定要導出的表名,-a 參數指定只導出數據而不導出表結構,-f 參數指定導出數據的文件名。