绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
国内源安装postgresql
2020-06-17 17:05:06
从国外官网下载安装速度太慢,所以本文使用清华源在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-*

戳我,来吐槽~