Ubuntu上安装PostgreSQL
PostgreSQL在Ubuntu主存储库中可用,但是,与许多其他开发工具一样,它可能不是最新版本。
首先使用终端中的apt命令检查Ubuntu存储库中可用的PostgreSQL版本:
apt show postgresql
在我的Ubuntu 18.04中,它显示PostgreSQL的可用版本是版本10(10+190表示版本10),而PostgreSQL 11版本已经发布,参考在Ubuntu 18.04/Ubuntu 16.04上安装PostgreSQL 11的说明:
Package: postgresql
Version: 10+190
Priority: optional
Section: database
Source: postgresql-common (190)
Origin: Ubuntu
根据这些信息,你可以考虑是否要安装Ubuntu提供的版本,或者你想获得最新发布的PostgreSQL版本,下面介绍这两种方法。
方法1:从Ubuntu存储库安装PostgreSQL
在终端中,使用以下命令安装PostgreSQL:
sudo apt update
sudo apt install postgresql postgresql-contrib
介绍:什么是postgresql-contrib?
postgresql-contrib或contrib包包含一些不属于核心PostgreSQL包的其他实用程序和功能,在大多数情况下,最好将contrib包与PostgreSQL核心一起安装。
方法2:在Ubuntu中安装PostgreSQL的最新版本11
要安装PostgreSQL 11,需要在sources.list中添加官方PostgreSQL存储库,添加其证书,然后从那里安装它,只需按照以下步骤操作。
首先添加GPG密钥:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
现在使用以下命令添加存储库,如果你使用的是Linux Mint,则必须手动替换Mint版本所基于的Ubuntu版本的`lsb_release -cs`。
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
现在一切都准备好了,使用以下命令安装PostgreSQL:
sudo apt update
sudo apt install postgresql postgresql-contrib
介绍:PostgreSQL GUI应用程序:
你还可以安装用于管理PostgreSQL数据库的GUI应用程序(pgAdmin):
sudo apt install pgadmin4
参考:Ubuntu/Debian 上安装pgAdmin 4的方法。
配置PostgreSQL
可以通过执行以下命令检查PostgreSQL是否正在运行:
service postgresql status
通过service命令,还可以启动,停止或重新启动postgresql,键入服务postgresql并按Enter键应输出所有选项,现在,进入用户。
默认情况下,PostgreSQL创建一个具有所有权限的特殊用户postgres,要实际使用PostgreSQL,必须先登录该帐户:
sudo su postgres
你的提示应更改为类似于:
postgres@ubuntu-VirtualBox:/home/ubuntu$
现在,使用实用程序psql运行PostgreSQL Shell:
psql
系统会提示你:
postgress=#
你可以输入q来退出和?求助。
要查看所有现有表,请输入:
l
输出看起来与此类似(点击键q退出此视图):
使用du,可以显示PostgreSQL用户:
你可以使用以下命令更改任何用户(包括postgres)的密码:
ALTER USER postgres WITH PASSWORD 'my_password';
注意:将postgres替换为用户名,将my_password替换为所需密码。
建议你创建另一个用户(使用默认的postgres用户是不好的做法),为此,请使用以下命令:
CREATE USER my_user WITH PASSWORD 'my_password';
如果你运行du,你会看到my_user还没有属性,让我们为它添加超级用户:
ALTER USER my_user WITH SUPERUSER;
可以删除用户:
DROP USER my_user;
要以其他用户身份登录,请退出提示符(q),然后使用以下命令:
psql -U my_user
你可以使用-d参数直接连接到数据库:
psql -U my_user -d my_db
你应该像其他现有用户一样调用PostgreSQL用户,例如我用的是ubuntu,下面要登录,运行:
psql -U ubuntu -d postgres
注意:你必须指定一个数据库(默认情况下,它会尝试将你连接到与你登录的用户名称相同的数据库)。
如果有错误:
psql: FATAL: Peer authentication failed for user "my_user"
确保你以正确的用户身份登录并使用管理员权限编辑/etc/postgresql/11/main/pg_hba.conf:
sudo vim /etc/postgresql/11/main/pg_hba.conf
注意:将11替换为你的版本(例如10)。
在这里,替换行:
local all postgres peer
With:
local all postgres md5
然后重启PostgreSQL:
sudo service postgresql restart
注:使用PostgreSQL与使用任何其他SQL类型数据库相同。
诚信为本,卓越品质,做行业领跑者