41

我无法通过 Windows 中的命令行访问 PostgreSQL。虽然我能够创建和更新数据库、通过 PGAdminIII 访问它们并推送到 Heroku,但我无法使用 psql 命令直接通过命令行访问它们。

当我尝试使用命令创建数据库时

$ createdb mydb

PG 文档中所述,我收到消息

createdb: command not found

文档建议在这种情况下,“PostgreSQL 未正确安装。请尝试使用绝对路径调用命令。” 果然,我可以通过输入文件的直接路径来创建数据库:

$ c:/postgreSQL/9.1/bin/createdb mydb

这是否意味着可以重新配置路径以正确连接?还是我需要重新安装?我已经重装了好几次,都无法设置正确的路径。我目前将 /bin 和 /lib 路径都添加到我的系统和 user(:Umezo) 路径中,但仍然无法从命令行访问。

User variables for umezo
variable name: Path
variable value: C:\PostgreSQL\9.1\bin; C:\PostgreSQL\9.1\lib

System variables
variable name: Path
variable value: C:\PostgreSQL\9.1\bin; C:\PostgreSQL\9.1\lib

任何有关如何修复我的分期付款的信息或反馈将不胜感激。

我的信息如下:

我主要关注这些来源herehere。我安装了 9.1 的 32 位版本,因为一些消息来源建议 64 位存在问题。

PG download version: Installer Version 9.1 Win x86-32
Operating System: Windows 7 (64 bit)

pg_hba.conf

#TYPE     DATABASE     USER     CIER-ADDRESS     METHOD
# IPv4 local connections:
host      all          all      127.0.0.1/32     md5
# IPv6 local connections:
host      all          all      ::1/128          md5    

postgresql.conf

# - Connection Settings -
listen_addresses = '*'
port = 5432
max_connections = 100

pg_ident.conf

# *Everything is commented out*

登录角色 Umezo #from PGAdminIII 中的属性窗口

Properties/Role name: Umezo
Properties/Can login: "check"
Role privileges: all categories "check"
4

9 回答 9

57

在 Windows 7 上配置 postreSQL PATH 变量

我也遇到了这个问题。我正在使用Git Bash,因此在 Windows 上使用 Unix 风格的 $ 提示符。

$ rails db
Couldn't find database client: psql, psql.exe.  Check your $PATH and try again.

这是我所做的:

在 Windows 7 中,导航至:

Control Panel
  All Control Panel Items
    System
      Advanced System Settings
        Environment Variables
          from the System Variables box select "PATH"
              Edit...

然后将此字符串附加到现有的 PATH 变量值:

;C:\Program Files\PostgreSQL\9.2\bin

并单击“确定”三次退出菜单。

现在,关闭控制台并重新启动它。

导航回 Rails 应用程序的目录。就我而言,这是通过以下方式完成的:

$ cd rails_projects/sample_app

然后,再试一次:

$ rails db

来源:

如何在 Windows 中将 PostgreSQL /bin 目录放在我的路径上?

http://railscasts.com/episodes/342-migrating-to-postgresql?view=asciicast

于 2013-05-22T02:12:09.890 回答
20

为 Postgresql 设置 Windows 路径

open my Computer ==>
  right click inside my computer and select properties ==>
    Click on Advanced System Settings ==>
       Environment Variables ==>
          from the System Variables box select "PATH" ==>
             Edit... ==>

然后将其添加到您找到的任何内容的末尾

 ;C:\PostgreSQL\9.2\bin; C:\PostgreSQL\9.2\lib

之后继续点击确定

打开 cmd/命令提示符.... 在命令提示符下打开 psql

psql -U username database

例如。我有一个数据库名称 FRIENDS 和一个用户 MEE .. 它将是

psql -U MEE FRIENDS

然后将提示您提供相关用户的密码。谢谢

于 2014-04-07T19:58:48.553 回答
9

您需要做的就是更改 PATH 变量以包含bin您的 PostgreSQL 安装目录。

关于如何更改环境变量的解释在这里:

http://support.microsoft.com/kb/310519
http://www.computerhope.com/issues/ch000549.htm

要验证路径是否设置正确,您可以使用:

echo %PATH%

在命令行上。

于 2012-07-19T18:38:17.840 回答
6

在 Windows 中为 PostgreSQL 设置路径:

  1. 搜索env将显示Edit environment variables for your account
  2. 选择环境变量
  3. 从系统变量框中选择PATH
  4. 单击新建(添加新路径)

更改 PATH 变量以包含 PostgreSQL 安装的bin目录。
然后添加他们的新路径...... [例如]

C:\Program Files\PostgreSQL\12\bin

之后点击确定

打开CMD/命令提示符。输入这个来打开psql

psql -U username database_name

例如psql -U postgres test

现在,系统将提示您为用户提供密码(它将作为安全措施隐藏)。

那你就可以走了。

于 2020-05-12T18:31:19.520 回答
3

在 Postgres 9.6(PgAdmin 4) 上,这可以在 Preferences->Paths->Binary paths 中设置: - 将 PostgreSQL Binary Path 变量设置为 "C:\Program Files\PostgreSQL\9.6\bin" 或您安装的位置

于 2016-09-18T10:51:02.407 回答
2

为了将我的 git bash 连接到 postgreSQL,我必须向 windows 添加至少 4 个环境变量。Git、Node.js、System 32 和 postgreSQL。这就是我为 Path 变量设置的值:C:\Windows\System32;C:\Program Files\Git\cmd;C:\Program Files\nodejs;C:\Program Files\PostgreSQL\12\bin;它工作得很好。

于 2019-12-03T10:23:51.377 回答
1

如果有人仍然想知道如何添加环境变量,请使用此链接添加变量。链接: https ://sqlbackupandftp.com/blog/setting-windows-path-for-postgres-tools

于 2020-10-13T06:21:44.387 回答
0

在 Windows 中设置环境

我们 createdbfile 存在于这个标记的文件夹中。所以复制这个文件夹路径并粘贴到系统变量下的环境变量设置中。

在此处输入图像描述

开始 -> 环境变量

在此处输入图像描述

选择环境变量

在此处输入图像描述

像这样创建一个新的环境变量

在此处输入图像描述

在路径变量中添加环境变量 postgres 作为 %postgres%

在此处输入图像描述

现在通过一个新的命令提示符并输入 conda(关闭已打开的终端或 cmd)来检查

在此处输入图像描述

现在住

于 2022-02-04T19:43:13.417 回答
-1

我使用的是 Windows 8,但上述解决方案对我不起作用。我将 Postgres 从 9.4 降级到 9.3。伙计,它起作用了:)

于 2015-07-25T03:48:13.767 回答