You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pgAdmin中创建两个本地服务器?遇端口连接拒绝问题

解决PostgreSQL创建独立测试实例的问题

你遇到的核心问题是:pgAdmin里的“服务器”只是连接配置,不是真的创建新的PostgreSQL服务。要得到全新无数据的测试服务器,得先在本地启动另一个独立的PostgreSQL实例,监听5400端口,再配置pgAdmin连接。

具体步骤:

1. 创建独立的数据目录

每个PostgreSQL实例需要专属的数据目录,不能和原5432端口的实例共用。

  • Windows示例:
    新建文件夹C:\Program Files\PostgreSQL\15\data_test(路径和版本号根据你的实际情况调整),打开命令提示符切换到PostgreSQL的bin目录(比如cd C:\Program Files\PostgreSQL\15\bin),执行初始化命令:

    initdb -D "C:\Program Files\PostgreSQL\15\data_test" -U postgres -W
    

    执行后会提示设置超级用户postgres的密码,记好这个密码。

  • Linux/macOS示例:
    创建目录并修改权限:

    sudo mkdir -p /var/lib/postgresql/15/test_data
    sudo chown postgres:postgres /var/lib/postgresql/15/test_data
    

    切换到postgres用户初始化:

    sudo -u postgres initdb -D /var/lib/postgresql/15/test_data
    

2. 修改新实例的配置文件

进入刚创建的数据目录,找到postgresql.conf文件并编辑:

  • 找到port参数,改成port = 5400
  • 确保listen_addresses设置为'localhost'(允许本地连接)

再找到pg_hba.conf文件,添加或确认存在以下行(允许本地TCP连接):

host    all             all             127.0.0.1/32            scram-sha-256

(如果你的PostgreSQL版本低于14,可替换为md5)

3. 启动新的PostgreSQL实例

  • Windows:
    命令行执行启动命令:

    pg_ctl -D "C:\Program Files\PostgreSQL\15\data_test" start
    

    若要开机自启,可注册成Windows服务:

    pg_ctl register -N "PostgreSQL15_Test" -D "C:\Program Files\PostgreSQL\15\data_test"
    

    之后在服务管理器里找到该服务启动即可。

  • Linux/macOS:
    启动实例:

    sudo -u postgres pg_ctl -D /var/lib/postgresql/15/test_data start
    

    配置systemd自启的话,新建/etc/systemd/system/postgresql-test.service文件,内容如下:

    [Unit]
    Description=PostgreSQL Test Instance
    Requires=network.target
    After=network.target
    
    [Service]
    Type=forking
    User=postgres
    Group=postgres
    ExecStart=/usr/lib/postgresql/15/bin/pg_ctl start -D /var/lib/postgresql/15/test_data
    ExecStop=/usr/lib/postgresql/15/bin/pg_ctl stop -D /var/lib/postgresql/15/test_data
    ExecReload=/usr/lib/postgresql/15/bin/pg_ctl reload -D /var/lib/postgresql/15/test_data
    
    [Install]
    WantedBy=multi-user.target
    

    然后执行:

    sudo systemctl daemon-reload
    sudo systemctl enable postgresql-test
    sudo systemctl start postgresql-test
    

4. 在pgAdmin里配置新服务器

回到pgAdmin,点击“添加服务器”:

  • 常规标签:自定义名称,比如“Test Server 5400”
  • 连接标签:主机名/地址填localhost,端口填5400,维护数据库填postgres,用户名填postgres,密码填初始化时设置的密码
  • 保存后即可连接到全新的无数据实例

内容的提问来源于stack exchange,提问作者FullStack Geek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 13:17:45