我无法通过Windows中的命令行访问PostgreSQL。虽然我能够创建和更新数据库,通过PGAdminIII访问它们,然后推送到Heroku,我无法直接访问它们我的命令行使用psql命令。
当我尝试使用命令
创建数据库时$ createdb mydb
如PG documentation中所述,我收到了消息
createdb: command not found
文档表明,在这种情况下,“PostgreSQL安装不正确。请尝试使用绝对路径调用命令。”果然,我可以通过输入文件的直接路径来创建数据库:
$ c:/postgreSQL/9.1/bin/createdb mydb
这是否意味着可以重新配置路径以正确连接?或者我需要重新安装吗?我重新安装了几次,并且无法设置正确的路径。我目前已将/ bin和/ lib路径添加到我的系统和用户(: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
有关我如何解决我的分期付款的任何信息或反馈将不胜感激。
我的信息如下:
我主要关注这些来源here和here。我安装了一个32位版本的9.1,因为有些消息来源提出了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"
答案 0 :(得分:35)
我也遇到过这个问题。我正在使用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
来源:
How do I put PostgreSQL /bin directory on my path in Windows?
http://railscasts.com/episodes/342-migrating-to-postgresql?view=asciicast
答案 1 :(得分:8)
您需要做的就是更改PATH变量以包含PostgreSQL安装的bin
目录。
有关如何更改环境变量的说明如下:
http://support.microsoft.com/kb/310519
http://www.computerhope.com/issues/ch000549.htm
要验证路径设置是否正确,您可以使用:
echo %PATH%
命令行上的。
答案 2 :(得分:7)
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 /命令提示符....使用此
在命令提示符下打开psqlpsql -U username database
例如。我有一个数据库名称FRIENDS和一个用户MEE ..它将是
psql -U MEE FRIENDS
然后会提示您提供相关用户的密码。 感谢
答案 3 :(得分:3)
更改PATH变量以包含PostgreSQL安装的 bin 目录。
然后为其添加新路径。...[例如]
C:\Program Files\PostgreSQL\12\bin
然后单击确定
打开 CMD /命令提示符。输入此项以打开 psql
psql -U username database_name
例如psql -U postgres test
现在,系统将提示您为用户提供密码。 (作为安全措施将其隐藏)。
那你很好。
答案 4 :(得分:2)
在Postgres 9.6(PgAdmin 4)上,可以在Preferences-> Paths->二进制路径中设置: - 将PostgreSQL二进制路径变量设置为“C:\ Program Files \ PostgreSQL \ 9.6 \ bin”或已安装的位置
答案 5 :(得分:1)
为了将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;
,它可以正常工作。
答案 6 :(得分:0)
我使用的是Windows 8,上述解决方案对我来说并不适用。我将Postgres的评分从9.4降至9.3。伙计,它有效:)
答案 7 :(得分:0)
如果仍然有人想知道如何添加环境变量,请使用此链接添加变量。 链接:https://sqlbackupandftp.com/blog/setting-windows-path-for-postgres-tools