← ClaudeAtlas

postgresqllisted

PostgreSQL 数据库管理
ryukyagamilight/terminal-skills · ★ 1 · API & Backend · score 79
Install: claude install-skill ryukyagamilight/terminal-skills
# PostgreSQL 数据库管理 ## 概述 PostgreSQL 数据库管理、扩展使用、查询优化等技能。 ## 连接管理 ```bash # 本地连接 psql -U postgres psql -U username -d database # 远程连接 psql -h hostname -p 5432 -U username -d database # 执行 SQL 文件 psql -U username -d database -f script.sql # 执行单条命令 psql -U username -d database -c "SELECT version();" ``` ### psql 常用命令 ```sql \l -- 列出数据库 \c dbname -- 切换数据库 \dt -- 列出表 \d tablename -- 表结构 \du -- 列出用户 \dn -- 列出 schema \df -- 列出函数 \di -- 列出索引 \q -- 退出 \? -- 帮助 \timing -- 显示执行时间 \x -- 扩展显示模式 ``` ## 用户与权限 ```sql -- 创建用户 CREATE USER username WITH PASSWORD 'password'; CREATE ROLE username WITH LOGIN PASSWORD 'password'; -- 创建超级用户 CREATE USER admin WITH SUPERUSER PASSWORD 'password'; -- 授权 GRANT ALL PRIVILEGES ON DATABASE dbname TO username; GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA public TO username; GRANT USAGE ON SCHEMA schema_name TO username; -- 设置默认权限 ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly_user; -- 查看权限 \du username SELECT * FROM information_schema.role_table_grants WHERE grantee = 'username'; -- 修改密码 ALTER USER username WITH PASSWORD 'newpassword'; ``` ## 数据库操作 ```sql -- 创建数据库 CREATE DATABASE dbname; CREATE DATABASE dbname OWNER username ENCODING 'UTF8'; -- 删除数据库 DROP DATABASE dbname; -- 查看数据库大小 SELECT pg_database.datname, pg_size_pretty(pg_database_size(pg_database.datname)) FROM pg_data