在 pgadmin 中创建新的本地服务器?

Posted

技术标签:

【中文标题】在 pgadmin 中创建新的本地服务器?【英文标题】:Create new local server in pgadmin? 【发布时间】:2019-04-15 11:56:22 【问题描述】:

我在 Windows 上安装了 PostgreSQL 11 和 PGadmin 4。目前,我已连接到托管我所有数据的 AWS 服务器。

我想创建一个本地服务器 (localhost) 作为我可以进行实验的测试环境。不过,我似乎做不到,堆栈上的其他类似问题也无济于事。以下是我的流程:

    在 pgAdmin 中,右键单击“服务器”并转到创建>服务器

    在“创建 - 服务器”弹出框中,我输入名称:Localserver。对于“连接”,我输入 localhost。我保留默认端口'5432',db:postgres,用户名:postgres 密码:空

    点击保存。

但是,我得到一个错误:

无法连接到服务器:

无法连接到服务器:连接被拒绝 (0x0000274D/10061) 服务器是否在主机“localhost”(::1) 上运行并接受 端口 5432 上的 TCP/IP 连接?

无法连接到服务器:连接被拒绝 (0x0000274D/10061) 服务器是否在主机“localhost”(127.0.0.1)上运行并接受 端口 5432 上的 TCP/IP 连接?

我该怎么办?如果这有什么不同,我就是管理员。

【问题讨论】:

为什么@Grogu 的回答不被接受? @doc 因为 Grogu 谈到从头开始设置 Postrges。我只在安装 pgAdmin 后询问有关创建 localhost 的问题。 【参考方案1】:

作为一个新的 Postgres 用户,我不明白如何在 Ubuntu 上使用 Postgres。所以我只是想插话并帮助其他可能无法弄清楚如何在 Linux 上使用 Postgres 的新手。如果您使用的是 Windows,步骤应该类似。

在开始使用 PgAdmin 之前,需要进行一些配置。大多数情况一开始会在您的终端中发生。

如果您使用的是 PC,请使用 Ctrl + Alt + T 打开终端。或者直接按下ALT + F1 并开始输入终端。

让我们先从基础开始,确保您有适当的 安装。

1。安装 Postgres 最新版

1.1更新系统软件包

sudo apt update

1.2 从默认的 Ubuntu 存储库安装最新版本的 PostgreSQL

sudo apt install postgresql

安装程序将创建一个新的 PostgreSQL 数据库集合 将由单个服务器实例管理

默认数据目录: /var/lib/postgresql/your-version/main

配置文件: /etc/postgresql/your-version/main

2. 检查是否安装了 Postgres 服务

2.1 检查 Postgres 是否处于活动状态

sudo systemctl is-active postgresql

你应该看到:活跃

2.2 检查 Postgres 是否启用

sudo systemctl is-enabled postgresql

你应该看到:启用

2.3 检查 Postgres 服务状态

sudo systemctl status postgresql

您应该看到:活动(退出)标记为绿色

2.4 检查 Postgres 是否准备好接受连接

sudo pg_isready

你应该看到:/var/run/postgresql:5432 - 接受连接

3。配置 Postgres 身份验证

3.1 以超级用户身份打开 pg_hba.conf

sudo code --user-data-dir=~/root /etc/postgresql/13/main/pg_hba.conf

我使用的是 Visual Studio 代码,所以对我来说代码是 vsc 代号。如果您使用 vim 或 sublime,只需将代码替换为您的文本编辑器名称。

3.2 配置pg_hba.conf

注意:您不需要在此处更改任何内容,只需确保您的 配置文件匹配以下行:

host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

点击保存并关闭。

3.3 重启 Postgres 服务

sudo systemctl restart postgresql

4. 创建新服务器

对我来说,这就是我所有困惑的地方。在使用 PgAdmin 之前, 您需要在终端中创建一个服务器,然后您可以连接并 就像使用 phpMyAdmin 一样使用 PgAdmin 管理它。它是 实际上更容易。

4.1 访问 PostgreSQL 数据库外壳

sudo su - postgres
psql

然后你会看到这个:postgres=#

4.2 创建新服务器和用户

postgres=# create user bob with superuser password 'admin';

这就是您在 Postgres 中创建新用户和服务器的方式。让我们转到 PgAdmin。

5。安装 pgAdmin4

5.1 为存储库添加公钥

curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add

注意:如果你没有 curl,你的 Ubuntu 会给你安装命令

5.2 创建仓库配置文件

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'

5.3 安装pgAdmin4

sudo apt update
sudo apt install pgadmin4

5.4 运行安装了 pgadmin4 二进制包的 web 设置脚本

sudo /usr/pgadmin4/bin/setup-web.sh

它会询问您的电子邮件地址和密码。这封电子邮件和 登录 PgAdmin4 网页界面需要密码

6。访问 pgAdmin4 Web 界面

6.1 打开您喜欢的浏览器

输入 PgAdmin Web 界面的地址。一般是这样的

http://127.0.0.1/pgadmin4

注意:安装后网络设置脚本会告诉你确切的信息 在哪里访问 Web 界面。

当您看到登录屏幕时,输入您在网络设置脚本中选择的电子邮件和密码。

6.2 添加新的服务器连接

6.2.1 点击添加新服务器

6.2.2 在常规标签下输入您的服务器名称。任何你想要的名字,没关系。您可以输入PgServer1 或其他任何内容。不要更改任何其他内容。

6.2.3 切换到连接选项卡

Hostname/ Address : localhost
Port : 5432
Maintenance database : postgres (always)
Username :  **bob** (the username youve chosen at 4.2)
Password : admin (or any password you chose at 4.2)

点击保存。

瞧!您应该已成功连接。如果没有,只需打开终端并像我们在 4.2 中那样创建一个新用户

注意:创建数据库非常简单,只需右键单击您的 服务器名

create > databases

有用的资源和教程

PostgreSQL Fundamentals:查询之类的

PostgreSQL & JSON : 用于处理 JS 应用程序

PostgreSQL & Nodejs : 使用 nodejs 和 socket.io 创建实时应用

更多 PostgreSQL Nodejs

https://github.com/supabase/realtime https://whatsyourssn.com/posts/real-time-app-socket-postgresql/

【讨论】:

详尽且内容丰富。非常感谢。【参考方案2】:

这可能是两件事之一。

    你已经设置了一个 Postgres 服务器,但是没有在你的 postgresql.conf 文件中调整listen_addresses,或者

    您尚未在本地计算机上设置 Postgres 服务器。 (“创建服务器”有点误导,应该是“创建服务器连接”。)

【讨论】:

啊好的,谢谢你的回答。你能给我任何建议,告诉我在每种情况下该怎么做吗? 1. 我没有 postgresql.conf 我有 postgres.conf.sample 2. 可能,但我不确定如何设置。我虽然它是在安装 PostgreSQL 时自动设置的... 当然,很乐意为您提供帮助。你在什么操作系统上? @Chirs Curvey 我最终卸载了 pgadmin、postgresql,然后再次安装它,但在此过程中创建了一个本地服务器。之后我连接到我的 AWS 数据库。 @ChrisCurvey 我仍然想知道如何在 Windows 上执行此操作。 你可能想看看dba.stackexchange.com/questions/140258/…【参考方案3】:

通常“连接被拒绝”错误表明数据库服务器 1) 未运行,或 2) 配置为未侦听正确的端口或 IP 地址。请务必检查 ps -ef 以查看 Postgres 是否正在运行,并查看 postgresql.conf 以查看 portlisten_addresses 是否设置正确。

【讨论】:

【参考方案4】:

确保 postgres 服务正在运行。 Linux 中的示例:systemctl enable postgresql.service

【讨论】:

嗨,Rakshit,如果 postgres 服务正在运行,那么 OP 所采取的步骤应该不会起作用吗?

以上是关于在 pgadmin 中创建新的本地服务器?的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse中创建新的SpringBoot项目(打包并且部署到tomcat)

如何使用当前日期在 FTP 服务器中创建目录(文件夹)?

在现有项目中创建新的 lagom 微服务的 sbt 命令是啥?

如何在现有 WCF 服务中创建新方法?

docker postgres pgadmin 本地连​​接

无法在 Vue.js(laravel 项目)中创建新的实例属性