从国外官网下载安装速度太慢,所以本文使用清华源在Ubuntu 16.04/18.04 LTS
上安装指定版本的postgresql
数据库。
安装步骤
- 1、添加清华源的 postgresql 的 apt 仓库
RELEASE=$(lsb_release -cs)
echo "deb https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/apt/ ${RELEASE}"-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list
- 2、导入签名
wget --quiet -O - https://mirrors.tuna.tsinghua.edu.cn/postgresql/repos/apt/ACCC4CF8.asc | sudo apt-key add -
- 3、更新仓库,安装 postgresql,这里示例安装版本 11
sudo apt update
sudo apt install postgresql-11
等待安装完成即可。
初次安装完成后,默认生成一个名为postgres
的数据库,还有一个同名的数据库用户(默认的管理员)和一个同名的 linux 系统用户。
部分入门操作指引
设置管理员密码
- 1、postgresql 数据库相关操作,一般都在指定用户下进行,所以我们先切换 linux 用户,再登录控制台:
sudo su - postgres
psql
postgres=#
这种状态就是进入了控制台交互界面,快捷键Ctrl+D
可退出交互界面。
- 2、在控制台输入以下命令可设置密码:
\password postgres
创建新用户和新数据库
- 1、在控制台内,创建新用户
dbuser
:
CREATE USER dbuser WITH PASSWORD '******';
- 2、创建数据库,指定拥有者为
dbuser
:
CREATE DATABASE mydb OWNER dbuser;
- 3、赋予
dbuser
操作数据库的权限:
GRANT ALL PRIVILEGES ON DATABASE mydb to dbuser;
新用户开启本地和远程登录权限
- 1、修改
/etc/postgresql/11/main/postgresql.conf
,添加下面一行:
listen_addresses = '*'
- 2、修改
/etc/postgresql/11/main/pg_hba.conf
,添加下面一行:
# TYPE DATABASE USER ADDRESS METHOD
host all dbuser 0.0.0.0/0 md5
- 3、保存文件,重启 postgresql 服务
systemctl restart postgresql
如果有防火墙,需要对应开启。
登录数据库
普通用户登录数据库如下:
psql -U dbuser -d mydb -h 127.0.0.1 -p 5432
上面命令参数含义:-U
指定用户,-d
指定数据库,-h
指定服务器,-p
指定端口。
输入上面命令后,系统会提示输入用户密码,输入正确就可以登录控制台。
psql 命令存在简写形式,上面修改配置文件的时候,我们指定了dbuser
可以访问所有数据库,在保持默认端口的情况下,本地可以用以下命令密码登录:
psql -U dbuser -h localhost
以下情况不需要密码即可登录:
- 数据库用户名称=当前linux用户名称,使用
psql 指定数据库
登录 - 数据库用户名称=当前linux用户名称=数据库名称,直接使用
psql
登录
常用控制台命令
-
\l
:列出所有数据库 -
\d
:列出当前数据库的所有表 -
\c db_name
:切换指定数据库 -
\d table_name
:列出表结构 -
\du
:列出所有用户 -
\conninfo
:列出当前数据库和连接的信息
卸载postgresql
sudo apt purge postgresql-*
sudo apt autoremove postgresql-*