数据库Lab0:环境准备——安装Postgresql(Mac & Linux)
# Linux 安装 postgresql
软件安装:
sudo apt install postgresql pgadmin
启用
postgresql
服务:sudo systemctl start postgresql
在数据库安装的时候,会创建两个未设置密码的用户
- 数据库超级用户(role:owner)
postgres
- 计算机操作系统的用户
postgres
- 数据库超级用户(role:owner)
以
postgres
用户身份启动postgresql
:sudo -i -u postgres psql
就会出现 Sql 交互Shell界面:
postgres=#
1修改
postgres
用户密码postgres=# alter user postgres with password 'helloworld';
1
普通用户使用 psql
psql 是用来管理数据库的交互接口,具体的使用方法执行 psql --help
查看,下文 也有最长用到的格式。
但是在Linux下普通用户直接执行 psql -U postgres -W
很多时候密码正确但是会有报错:
只需要修改文件 /etc/postgresql/${version}/main/pg_hba.conf
即可正常登陆:
# Database administrative login by Unix domain socket
# local all postgres peer #这是原来的行
local all postgres trust
2
3
# Mac安装 postgresql
- 根据官网教程 (opens new window)选择合适的方式安装
- EDB认证的安装器 (opens new window) dmg 镜像:除了Postgresql-Server,Pgadmin Client,还有一些文档和驱动与商业用户支持的软件;
- Postgres.app 原生应用格式
homebrew
命令行方式
- 启动数据库:通过下载的(如果有) SQL Shell 图形工具或者以下指令
/Library/PostgreSQL/13/scripts/runpsql.sh; exit
==> postgresql To migrate existing data from a previous major version of PostgreSQL run: brew postgresql-upgrade-database
This formula has created a default database cluster with: initdb --locale=C -E UTF-8 /usr/local/var/postgres For more details, read: https://www.postgresql.org/docs/13/app-initdb.html
To have launchd start postgresql now and restart at login: brew services start postgresql Or, if you don't want/need a background service you can just run: pg_ctl -D /usr/local/var/postgres start
# [登录][#login]
paql -U username -H hostname -p port -D database
提示
sudo -i -u postgres psql
本质上是分为两步
originuser@host:~$ sudo -i -u postgres
:加载(postgres)用户的用户变量,登录 postgres 用户,会跳转到Linux主机上 postgres 用户的 home 目录postgres@host:~$ psql
:以当前用户名为默认(postgres),登录默认服务器(localhost)的默认数据库(postgres),等同psql -U $(whoami) -H localhost