如何从本地系统连接到 Linode 中的 postgres
How to connect to postgres in Linode from local system
我有一个 python 脚本可以将数据添加到 postgres 数据库。在测试期间,我在本地系统中创建了一个数据库,并且运行良好。现在我在 linode 中有了数据库 运行ning。我不确定如何从本地系统连接到数据库。我将数据库详细信息存储在 python 文件中,如下所示
DATABASE = 'my_database'
HOST = <IP_ADDRESS> # the ip_address of the linode instance
PORT = '5432'
USER = 'database_user'
PASSWORD = 'database_password'
我使用上面的代码访问数据库。对于本地主机中的数据库 运行ning,主机等于 HOST = 'localhost'
.
当我 运行 来自本地系统的 python 脚本连接到数据库时,这是我得到的消息
psycopg2.OperationalError: connection to server at "<IP_ADDESS>", port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
我不确定如何在 linode 中连接到数据库 运行ning。
我通过编辑 pg_hba.conf
.
解决了这个问题
在 linode 实例中,导航到 /var/lib/pgsql/data
。
在目录中,打开pg_hba.conf
并在IPv4本地连接下添加以下行
host all all <local system's Public IP ADDRESS>/32 md5
- 保存文件并重新启动 postgres。
- 启动到 linode 实例的 SSH 隧道
- 将数据库详细信息中的主机和端口更改为
127.0.0.1
以及隧道期间选择的端口。在我的例子中是 5433
- 运行 python 脚本现在应该允许本地系统连接到 linode 实例中的 postgres 服务器 运行。
我有一个 python 脚本可以将数据添加到 postgres 数据库。在测试期间,我在本地系统中创建了一个数据库,并且运行良好。现在我在 linode 中有了数据库 运行ning。我不确定如何从本地系统连接到数据库。我将数据库详细信息存储在 python 文件中,如下所示
DATABASE = 'my_database'
HOST = <IP_ADDRESS> # the ip_address of the linode instance
PORT = '5432'
USER = 'database_user'
PASSWORD = 'database_password'
我使用上面的代码访问数据库。对于本地主机中的数据库 运行ning,主机等于 HOST = 'localhost'
.
当我 运行 来自本地系统的 python 脚本连接到数据库时,这是我得到的消息
psycopg2.OperationalError: connection to server at "<IP_ADDESS>", port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
我不确定如何在 linode 中连接到数据库 运行ning。
我通过编辑 pg_hba.conf
.
在 linode 实例中,导航到
/var/lib/pgsql/data
。在目录中,打开
pg_hba.conf
并在IPv4本地连接下添加以下行
host all all <local system's Public IP ADDRESS>/32 md5
- 保存文件并重新启动 postgres。
- 启动到 linode 实例的 SSH 隧道
- 将数据库详细信息中的主机和端口更改为
127.0.0.1
以及隧道期间选择的端口。在我的例子中是5433
- 运行 python 脚本现在应该允许本地系统连接到 linode 实例中的 postgres 服务器 运行。