我最近的学习笔记本:
记录一下GIT status 乱码的解决方案,比较难记
git status 出现中文乱码(通常显示为 \344\270... 这种八进制字符),主要是因为 Git 默认对非 ASCII 字符进行了转义。
解决方案:
git config --global core.quotepath false
记录一下POSTGRES的常用命令
连数据库
有两种方法
一种是容器内直接连,默认是不需密码,另一种是容器外连。
连接方式说明:
bash
# 方式1: 容器内连接(无需密码,推荐)
docker compose exec postgres psql -U admin -d ai
# 方式2: 外部主机连接(需要密码)
PGPASSWORD=password psql -h localhost -p 5432 -U admin -d ai
# 方式3: 交互式输入密码
psql -h localhost -p 5432 -U admin -d ai
# 提示输入密码时输入: password
psql 常用命令
| 命令 | 说明 | 示例 |
|---|---|---|
\l |
列出所有数据库 | \l |
\c <db> |
切换数据库 | \c ai |
\dt |
列出所有表 | \dt |
\d <table> |
查看表结构 | \d datasets |
\du |
列出所有用户 | \du |
\q |
退出 psql | \q |
\x |
切换扩展显示模式(垂直显示) | \x |
\h |
查看 SQL 命令帮助 | \h SELECT |
\? |
查看 psql 命令帮助 | \? |
\pset pager off |
关闭分页器 | \pset pager off |
分页器使用问题
问题 : 使用 \d 查看表结构后,按 q 退出分页器,内容消失。
原因 : psql 默认使用 less 作为分页器,退出时会清屏。
解决方案:
sql
-- 方法1: 关闭分页器(推荐,一次性设置)
\pset pager off
-- 方法2: 设置分页器不清屏
\setenv PAGER 'less -X'
-- 方法3: 使用扩展显示模式(适合宽表)
\x
\d datasets
永久关闭分页器(在容器外执行):
bash
# 创建 psql 配置文件
docker compose exec postgres sh -c "echo '\\pset pager off' >> /var/lib/postgresql/.psqlrc"
一次性查询(不进入 psql):
bash
# 查看表结构
docker compose exec postgres psql -U admin -d ai -c "\d datasets"
# 查看所有表
docker compose exec postgres psql -U admin -d ai -c "\dt"