postgresql
进入 PostgreSQL 容器的命令行
bash
# 方式1:直接进入容器并登录postgres(推荐)
docker exec -it <postgres-container-name/id> psql -U postgres
# 方式2:先进入容器终端,再登录(适合新手理解)
docker exec -it <postgres-container-name/id> bash
# 进入容器后,再执行登录命令
psql -U postgres查询部署的数据库
sql
-- 方法1:最简单的查询(显示数据库名称、所有者、编码等)
\l
-- 方法2:通过系统视图查询(更灵活,可筛选)
SELECT datname FROM pg_database WHERE datistemplate = false;\l是 PostgreSQL 内置的元命令,会列出所有数据库的详细信息(名称、所有者、字符集、权限等);pg_database是系统表,存储所有数据库信息,datistemplate = false可过滤掉系统模板库(只显示用户创建的库)。
查询数据库账号(用户 / 角色)
sql
-- 方法1:内置元命令(显示所有角色、权限、属性)
\du
-- 方法2:通过系统视图查询(可自定义字段)
SELECT
rolname AS "用户名",
rolsuper AS "是否超级管理员",
rolcanlogin AS "是否允许登录",
rolcreatedb AS "是否允许创建数据库"
FROM pg_roles;\du会列出所有角色的核心信息(名称、所属组、权限);pg_roles是系统表,存储所有角色信息,可通过字段筛选(比如只查允许登录的账号:WHERE rolcanlogin = true)。
数据库版本
sql
-- 方法1:显示完整版本信息(含操作系统、编译信息)
SELECT version();
-- 方法2:仅显示简洁版本号(推荐,易读)
SHOW server_version;
-- 方法3:显示版本号(含小版本,如 16.2.1)
SHOW server_version_num;创建用户和数据库
sql
-- 1. 创建用户(设置密码,替换为你的用户名/密码)
CREATE USER n8n WITH PASSWORD 'n8npassword';
-- 2. 创建数据库(指定所有者为刚创建的用户)
CREATE DATABASE n8ndb OWNER n8n;
-- 3. 可选:赋予用户在该数据库的全部权限(兜底,确保权限完整)
GRANT ALL PRIVILEGES ON DATABASE n8ndb TO n8n;
-- 验证:查看用户和数据库关联关系
\l -- 查看数据库列表,确认 mydb 的所有者是 myuser
\du -- 查看用户列表,确认 myuser 存在