Mark24
记录灵感、技术、思考
postgresql实用摘要
0. 文档
建议从完善文档的版本开始,低于官网2个版本。比如 v13(截止2023年4月)。
官网最新版本往往是开发板,次版本是最近一次稳定版。所以建议往前使用2个版本。
1. 进入控制界面
psql 是shell命令
# 以默认用户进入
# psql [OPTION]... [DBNAME [USERNAME]]
# 以特定用户进入, 往往会认为是 使用 A用户名,进入同名数据库
# 不指定不同系统状态不同,MacOS 以当前用户为 superuser, Linux 是 postgres 需要切换至该用户
# 如果 没有用户,或者 没有同名数据库会失败
psql -U <username>
# 进入数据库
psql <database>
psql -d <database>
# 一般默认会创建 postgres 数据库
# 下面命令会以当前用户,指定数据库登录
psql -d postgres
用来确认自己
- 打印当前用户名
SELECT current_user, current_database();
- 查看所有用户
SELECT usename FROM pg_user;
``
3. 列出所有数据库
\l
4. 进入某个数据库
\c
5. 列出所有表
需要进入一个数据库的基础上执行
\dt
6. 获取帮助
\?
# 1.1 数据库相关
这是一个shell命令
创建数据库
createdb [OPTION]… [DBNAME] [DESCRIPTION]
createdb
删除数据库
dropdb
# 2. 用户相关
2.1 创建用户
createuser [OPTION]… [ROLENAME]
创建可以在终端交付的用户
createuser
创建超级用户
createuser
更多查看
createuser –help
2.2 删除用户
dropuser
# 3. Postgresql 创建 用户以及同名数据库
在 PostgreSQL 中,可以通过以下步骤创建一个用户并创建同名数据库:
使用超级用户登录到 PostgreSQL 数据库。例如,使用命令行工具 psql 并输入以下命令:
$ psql -U postgres
其中 postgres 是超级用户的名称。
创建一个新用户。假设要创建一个名为 myuser 的用户,可以使用以下命令:
```sql
CREATE USER myuser WITH PASSWORD 'mypassword';
这将创建一个新用户,并为该用户设置密码为 mypassword。
创建同名数据库。接下来,可以使用以下命令创建一个名为 myuser 的数据库:
CREATE DATABASE myuser;
这将创建一个与新用户同名的数据库。
授予用户对数据库的访问权限。最后,您需要授予新用户访问其同名数据库的权限。可以使用以下命令:
GRANT ALL PRIVILEGES ON DATABASE myuser TO myuser;
这将授予 myuser 用户对 myuser 数据库的完全访问权限。
完成以上步骤后,新用户 myuser 将能够连接到同名的数据库,并且有完全的访问权限。
4. 从文件导入数据库
psql 中 COPY 命令可以把整个文件导入数据库。
比如把 CSV 文件导入到数据库:
COPY word ( word, phonetic ) FROM '</abs/path/to/csv>' DELIMITER ',' CSV HEADER;
查看配置路径
-
进入 postgresql
psql
-
打印配置文件路径
SHOW data_directory;
允许 0.0.0.0 访问
配置目录下
postgresql.conf
其中
listen_address = '*'
brew info postgresql 查看重启服务命令