我无法通过Windows中的命令行访问PostgreSQL.虽然我能够创建和更新数据库,通过PGAdminIII访问它们,然后推送到Heroku,我无法使用psql命令通过命令行直接访问它们.
当我尝试使用该命令创建数据库时
$ createdb mydb
Run Code Online (Sandbox Code Playgroud)
如PG文档中所述,我收到了消息
createdb: command not found
Run Code Online (Sandbox Code Playgroud)
文档表明,在这种情况下,"PostgreSQL没有正确安装.请尝试使用绝对路径调用命令." 果然,我可以通过输入文件的直接路径来创建数据库:
$ c:/postgreSQL/9.1/bin/createdb mydb
Run Code Online (Sandbox Code Playgroud)
这是否意味着可以重新配置路径以正确连接?或者我需要重新安装吗?我重新安装了几次,并且无法设置正确的路径.我目前已将/ 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
Run Code Online (Sandbox Code Playgroud)
任何有关如何修复我的分期付款的信息或反馈将不胜感激.
我的信息如下:
我在这里和这里主要关注这些来源.我安装了一个32位版本的9.1,因为有些消息来源提出了64位的问题.
PG download version: Installer Version 9.1 Win x86-32
Operating System: Windows 7 (64 bit)
Run Code Online (Sandbox Code Playgroud)
的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
Run Code Online (Sandbox Code Playgroud)
postgresql.conf中
# - Connection Settings -
listen_addresses = '*'
port = 5432
max_connections = 100
Run Code Online (Sandbox Code Playgroud)
`pg_ident.conf'里
# *Everything is commented out*
Run Code Online (Sandbox Code Playgroud)
登录角色Umezo #from PGAdminIII中的属性窗口
Properties/Role name: Umezo
Properties/Can login: "check"
Role privileges: all categories "check"
Run Code Online (Sandbox Code Playgroud)
Mic*_*bbs 42
我也遇到过这个问题.我正在使用Git Bash,因此Windows上的Unix风格的$提示符.
$ rails db
Couldn't find database client: psql, psql.exe. Check your $PATH and try again.
Run Code Online (Sandbox Code Playgroud)
这是我做的:
在Windows 7中,导航至:
Control Panel
All Control Panel Items
System
Advanced System Settings
Environment Variables
from the System Variables box select "PATH"
Edit...
Run Code Online (Sandbox Code Playgroud)
然后将此字符串附加到现有的PATH变量值:
;C:\Program Files\PostgreSQL\9.2\bin
然后单击"确定"三次以退出菜单.
现在,关闭控制台并重新启动它.
导航回您的Rails应用程序的目录.就我而言,这是通过以下方式实现的:
$ cd rails_projects/sample_app
然后,再试一次:
$ rails db
来源:
如何将PostgreSQL/bin目录放在Windows的路径中?
http://railscasts.com/episodes/342-migrating-to-postgresql?view=asciicast
Tra*_*mer 13
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... ==>
Run Code Online (Sandbox Code Playgroud)
然后在你发现它们的任何结尾添加它
;C:\PostgreSQL\9.2\bin; C:\PostgreSQL\9.2\lib
Run Code Online (Sandbox Code Playgroud)
之后继续单击"确定"
打开cmd /命令提示符....用命令提示符打开psql
psql -U username database
Run Code Online (Sandbox Code Playgroud)
例如.我有一个数据库名称FRIENDS和一个用户MEE ..它将是
psql -U MEE FRIENDS
Run Code Online (Sandbox Code Playgroud)
然后,系统会提示您提供相关用户的密码.谢谢
您需要做的就是更改PATH变量以包含binPostgreSQL安装目录.
有关如何更改环境变量的说明如下:
http://support.microsoft.com/kb/310519
http://www.computerhope.com/issues/ch000549.htm
要验证路径设置是否正确,您可以使用:
echo %PATH%
Run Code Online (Sandbox Code Playgroud)
在命令行上.
小智 6
更改 PATH 变量以包含PostgreSQL 安装的bin目录。
然后添加新路径他们的....[例如]
C:\Program Files\PostgreSQL\12\bin
Run Code Online (Sandbox Code Playgroud)
之后点击确定
打开CMD/命令提示符。键入此以打开psql
psql -U username database_name
Run Code Online (Sandbox Code Playgroud)
例如 psql -U postgres test
现在,系统将提示您为用户提供密码。(它将被隐藏作为安全措施)。
然后你就可以走了。