如果要在Ubuntu上安装Postgresql的pgAdmin4,请先按照下面的教程一步一步做,但是在最后一步却不能成功连接PostgreSQL服务器;以下是我进一步解决该问题的方法:
//重启postgresql服务
sudo systemctl restart postgresql
//切换至用户postgres
sudo -i -u postgres
//进入psql客户端
psql
//用下面语句重新修改postgres密码,******代表你自己写的密码
postgres=# ALTER USER postgres WITH PASSWORD '******';
//终端应该会返回ALTER ROLE,接下来\q退出psql客户端
postgres=# \q
//回到自己的用户
exit
//利用ifconfig获取IP地址,如果没有net tools会给提示,按照提示安装响应的包之后再重新ifconfig
ifconfig
//回答中的第二行中的第一个地址就是所需要的IP地址
连接服务器时:
用户名:postgres
密码:这里设置的密码(ALTER USER postgres WITH PASSWORD ‘******’)
维护服务器也是postgres
建议先按照下面原文中的做法进行,不行的话用上面的步骤补充试试;
附:下文 5.2 修改pg_hba.conf配置,允许远程连接
只需要添加一行即可:即host all all那一行;
最后那个“pg_hpa…”不需要特意加上;
目录
环境: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'
- 1
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
- 1
2.更新ubuntu软件包列表
sudo apt update
- 1
3.安装
sudo apt install postgresql-12
- 1
出现下列内容说明安装成功了。
4.查看pg状态
安装PostgreSQL后,可以使用以下systemctl命令确认PostgreSQL服务是否处于活动状态、是否在systemd下已启用以及是否正在运行
sudo systemctl is-active postgresql
- 1
sudo systemctl is-enabled postgresql
- 1
sudo systemctl status postgresql
- 1
另外,确认Postgresql server已准备好接受来自客户端的连接,如下所示:
sudo pg_isready
- 1
5.PostgreSQL配置
5.1修改postgresql配置,修改默认监听IP
将listen_addresses改成’*’,有多个网卡的可以改成某个网卡的ip
sudo vim /etc/postgresql/12/main/postgresql.conf
- 1
5.2 修改pg_hba.conf配置,允许远程连接
sudo vim /etc/postgresql/12/main/pg_hba.conf
- 1
5.3 postgresql数据库中postgre用户密码的修改
该命令用来删除postgres用户的密码(即删除密码)
sudo passwd -d postgres
- 1
sudo -u postgres passwd
- 1
5.4 pgsql用户添加密码(默认postgres)
su - postgres
- 1
psql
- 1
postgres=# \password postgres
- 1
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
- 1
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'
- 1
6.2 安装pgAdmin4
sudo apt install pgadmin4
- 1
上面的命令将会安装许多必需的包,包括Apache2WebServer,以便在web模式下为PGAdmin4Web应用程序提供服务。
安装完成后,运行pgdmin4二进制软件包附带的web安装脚本,将系统配置为在web模式下运行。系统将提示您创建pgAdmin4登录电子邮件和密码,如下面的屏幕截图所示。
sudo /usr/pgadmin4/bin/setup-web.sh
- 1
此脚本将配置Apache2以服务于pgAdmin4 web应用程序,其中包括启用WSGI模块并将pgAdmin应用程序配置为在web服务器上的pgAdmin4处装载,以便您可以在以下位置访问它:
http://server_IP/pgadmin4
- 1
它还会重新启动Apache2服务,使最近修改得以应用。
6.3 登录配置pgAdmin4
登录页面加载后,输入在上面创建的电子邮件地址和密码,同时将pgAdmin4配置为在web模式下运行。
成功登录后,将进入pgadmin4web应用程序仪表板。连接到服务器
接下来,在常规设置(名称、服务器组和注释)中输入连接。然后单击下面屏幕截图中突出显示的连接。
再接下来,输入PostgreSQL数据库服务器主机名/地址、端口号(默认端口:5432),选择维护数据库(应该是postgres),输入数据库用户名和密码。
如果数据库访问凭据正常,并且服务器客户端身份验证配置也正常,则pgAdmin4应成功连接到数据库服务器。