查看字段类型和长度
column_name
: 字段名称。
data_type
: 字段的数据类型。
character_maximum_length
: 对于字符串类型的字段,它会显示最大长度。
numeric_precision
: 对于数值类型,它会显示精度(总位数)。
numeric_scale
: 对于数值类型,它会显示小数点后的位数。
注意:
- 对于非字符型数据类型,
character_maximum_length
将为 NULL
。
- 对于非数值型数据类型,
numeric_precision
和 numeric_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
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
|
方式二