繁体   English   中英

使用 Linux 和 PGAdmin 设置可远程访问的 Postgres 数据库

[英]Setting up a Remotely Accessible Postgres Database with Linux and PGAdmin

我正在尝试建立一个可远程访问的 Postgres 数据库 我想在一个基于Linux的设备 (HOST) 上托管这个数据库,并在另一个基于 Linux 的设备 (CLIENT) 上访问它。

在我的具体情况下,HOST 是运行 Ubuntu 的桌面设备。 CLIENT 是带有 Linux 虚拟系统的 Chromebook。 (我知道。但它是我手头最接近基于 Linux 的设备的东西。

已采取的设置数据库的步骤

  1. 使用 APT 在 HOST 上安装了所需的软件。
PGP_KEY_URL="https://www.postgresql.org/media/keys/ACCC4CF8.asc"
POSTGRES_URL_STEM="http://apt.postgresql.org/pub/repos/apt/"
POSTGRES_URL="$POSTGRES_URL_STEM `lsb_release -cs`-pgdg main"
POSTGRES_VERSION="12"
PGADMIN_URL_SHORT="https://www.pgadmin.org/static/packages_pgadmin_org.pub"
PGADMIN_URL_STEM="https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt"
PGADMIN_TO_ECHO="deb $PGADMIN_URL_STEM/`lsb_release -cs` pgadmin4 main"
PGADMIN_PATH="/etc/apt/sources.list.d/pgadmin4.list"

sudo apt install curl --yes
sudo apt install gnupg2 --yes
wget --quiet -O - $PGP_KEY_URL | sudo apt-key add -

echo "deb $POSTGRES_URL" | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt install postgresql-$POSTGRES_VERSION --yes
sudo apt install postgresql-client-$POSTGRES_VERSION --yes

sudo curl $PGADMIN_URL_SHORT | sudo apt-key add
sudo sh -c "echo \"$PGADMIN_TO_ECHO\" > $PGADMIN_PATH && apt update"
sudo apt update
sudo apt install pgadmin4 --yes
  1. 创建一个新的 Postgres 用户。
NU_USERNAME="my_user"
NU_PASSWORD="guest"
NU_QUERY="CREATE USER $NU_USERNAME WITH superuser password '$NU_PASSWORD';"

sudo -u postgres psql -c "$NU_QUERY"
  1. 创建了新的服务器和数据库。 我使用 PGAdmin GUI 手动完成了这项工作。
  2. 添加了测试数据,一个包含几条记录的表。 我用脚本做到了这一点。
  3. 按照此答案中给出的步骤使数据库可以远程访问。

远程连接数据库的步骤

  1. 在客户端上安装了 PGAdmin。
  2. 尝试使用 PGAdmin 进行连接。 我使用“新建服务器”向导,并输入:

主机IP地址:192.168.1.255
端口:5432(和我在HOST上设置数据库时一样)
用户:my_user
密码:访客

但是,当我尝试保存连接时,PGAdmin 会在几秒钟后回复说连接已超时

您必须像这样在/var/lib/pgsql/data/postgresql.conf中配置listen_addresses

listen_addresses = '*'

接下来通过检查 telnet 是否可以连接到您的服务器来确保您的防火墙不会阻止连接:

$ telnet 192.168.1.255 5432
Connected to 192.168.1.255.
Escape character is '^]'.

如果您看到Connected的网络连接正常。 接下来,您必须配置远程主机的访问权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM