目录
环境:ubuntu20.04Server LTS
1.加入pg源,导入签名密钥
引用自PGSQL官方:https://www.postgresql.org/download/linux/ubuntu/
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
2.更新ubuntu软件包列表
sudo apt update
3.安装
sudo apt install postgresql-12
出现下列内容说明安装成功了。
4.查看pg状态
安装PostgreSQL后,可以使用以下systemctl命令确认PostgreSQL服务是否处于活动状态、是否在systemd下已启用以及是否正在运行
sudo systemctl is-active postgresql
sudo systemctl is-enabled postgresql
sudo systemctl status postgresql
另外,确认Postgresql server已准备好接受来自客户端的连接,如下所示:
sudo pg_isready
5.PostgreSQL配置
5.1修改postgresql配置,修改默认监听IP
将listen_addresses改成’*’,有多个网卡的可以改成某个网卡的ip
sudo vim /etc/postgresql/12/main/postgresql.conf
5.2 修改pg_hba.conf配置,允许远程连接
sudo vim /etc/postgresql/12/main/pg_hba.conf
5.3 postgresql数据库中postgre用户密码的修改
该命令用来删除postgres用户的密码(即删除密码)
sudo passwd -d postgres
sudo -u postgres passwd
5.4 pgsql用户添加密码(默认postgres)
su - postgres
psql
postgres=# \password postgres
6.Ubuntu20.04安装 pgAdmin4(可选)
6.1 添加pgAdmin4源及公钥
pgAdmin4在Ubuntu源中不可用。我们需要从pgAdmin4 APT源安装。添加源公钥并创建源配置文件。
curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add
sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
6.2 安装pgAdmin4
sudo apt install pgadmin4
上面的命令将会安装许多必需的包,包括Apache2WebServer,以便在web模式下为PGAdmin4Web应用程序提供服务。
安装完成后,运行pgdmin4二进制软件包附带的web安装脚本,将系统配置为在web模式下运行。系统将提示您创建pgAdmin4登录电子邮件和密码,如下面的屏幕截图所示。
sudo /usr/pgadmin4/bin/setup-web.sh
此脚本将配置Apache2以服务于pgAdmin4 web应用程序,其中包括启用WSGI模块并将pgAdmin应用程序配置为在web服务器上的pgAdmin4处装载,以便您可以在以下位置访问它:
http://server_IP/pgadmin4
它还会重新启动Apache2服务,使最近修改得以应用。
6.3 登录配置pgAdmin4
登录页面加载后,输入在上面创建的电子邮件地址和密码,同时将pgAdmin4配置为在web模式下运行。
成功登录后,将进入pgadmin4web应用程序仪表板。连接到服务器
接下来,在常规设置(名称、服务器组和注释)中输入连接。然后单击下面屏幕截图中突出显示的连接。
再接下来,输入PostgreSQL数据库服务器主机名/地址、端口号(默认端口:5432),选择维护数据库(应该是postgres),输入数据库用户名和密码。
如果数据库访问凭据正常,并且服务器客户端身份验证配置也正常,则pgAdmin4应成功连接到数据库服务器。