PostgreSQL 常用命令

查看字段类型和长度

  • column_name: 字段名称。
  • data_type: 字段的数据类型。
  • character_maximum_length: 对于字符串类型的字段,它会显示最大长度。
  • numeric_precision: 对于数值类型,它会显示精度(总位数)。
  • numeric_scale: 对于数值类型,它会显示小数点后的位数。

注意:

  • 对于非字符型数据类型,character_maximum_length 将为 NULL
  • 对于非数值型数据类型,numeric_precisionnumeric_scale 也将为 NULL
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
SELECT 
    column_name,
    data_type,
    character_maximum_length,
    numeric_precision,
    numeric_scale
FROM 
    information_schema.columns
WHERE 
    table_schema = 'public'
    AND table_name = 'tableName';

锁表

查看所有线程

1
SELECT * FROM '表名';

查询是否锁表

1
2
select oid from pg_class where relname='lockTableName';
select pid from pg_locks where relation='上面查出的oid';

释放锁定

1
select pg_cancel_backend('上面查到的pid');

终止锁定

1
SELECT pg_terminate_backend('上面查到的pid');

Docker 安装 PostgreSQL

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 拉取镜像
docker pull pgvector/pgvector:0.8.0-pg17

# 启动
#容器(后)的 5432 端口被映射到了宿主机(前)的 5432 端口,-v 挂载,将容器的 /var/lib/postgresql/data 挂载到外部的 /data/pgvector
docker run --name pgvector \
  -p 5432:5432 \
  -e POSTGRES_PASSWORD=sj@2021 \
  -v /agi/pgvector:/var/lib/postgresql/data \
  --restart=always \
  -d pgvector/pgvector:0.8.0-pg17

# 在实例内用 psql 进行访问
# 在名为 pgvector 的 Docker 容器中启动 PostgreSQL 的交互式终端(psql),并以用户 postgres 身份进行连接
docker exec -it pgvector  psql -U postgres

# 创建用户
CREATE USER username WITH PASSWORD 'password';

# 赋予权限(最高权限,谨慎赋予)
ALTER USER pgvector WITH SUPERUSER;

# 创建 pgvector 数据库
create database pgvector;

# 安装 pgvector 扩展
CREATE EXTENSION vector;

创建 PostgreSQL 容器后,需要导入表有两种方式

  • 方式一:将所有建表语句复制到一个 sql 文件中,只执行这一个 sql 文件
  • 方式一:将所有建表语个 sql 文件放入同一个文件夹中,批量执行 sql 文件

方式一

1
2
3
4
docker exec -it pgvector  psql -U postgres

# 在容器内执行容器外部的 sql 文件
\i /sql/kb.sql

方式二


0%