使用Linux和PGAdmin创建远程访问Postgres数据库



我正在尝试设置一个远程访问的Postgres数据库。我想把这个数据库放在Linux上基于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. 在CLIENT上安装PGAdmin .
  2. 试图使用PGAdmin连接。我使用了"新服务器"。向导,并输入:

主机IP地址:192.168.1.255
端口:5432(与我在Host上设置数据库时相同)
用户:my_user
密码:guest

然而,当我尝试保存连接时,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网络连接是ok的。接下来,您必须为远程主机配置访问权限。

相关内容

  • 没有找到相关文章

最新更新