我正在尝试查找或重置我的PostgreSQL密码,这是我不知道的,但我需要将数据库从SQLite3迁移到PostgreSQL。
我试图在我输入的终端中找到hba_conf文件:
ps aux | grep postgres
我发现我需要找到的目录是:
/Library/PostgreSQL/9.6/bin/postmaster -D/Library/PostgreSQL/9.6/data
我现在的问题是无法找到此文件,因为它显然不存在!当我cd到图书馆时,由于没有列出PostgreSQL文件夹,我无法再继续了。
这对我来说有点死路一条,因为我不知道为什么PostgreSQL不在那里。 PSQL附带我的Rails版本,我更新了它。当我输入:' psql -V'在终端中,答案是' psql(PostgreSQL)9.6.3'。
非常感谢帮助,谢谢: - )
从库文件夹中,如果我运行' sudo su'然后输入ls,我得到以下内容:
.localized Calendars Dictionaries Internet Plug-Ins
Maps Saved Application State WebKit
Accounts CallServices Favorites Keyboard
Messages Screen Savers com.apple.nsurlsessiond
Address Book Plug-Ins ColorPickers FontCollections
Keyboard Layouts Metadata Services iMovie
Application Scripts Colors Fonts KeyboardServices
Passes Sharing
Application Support Compositions GameKit Keychains
PreferencePanes Sounds
Assistant Containers Google LanguageModeling
Preferences Spelling
Assistants Cookies Group Containers LaunchAgents
Printers Suggestions
Audio CoreData IdentityServices Logs
PubSub SyncedPreferences
Caches CoreFollowUp Input Methods Mail
Safari Voices
如果我输入ps,我会得到这个:
PID TTY TIME CMD
359 ttys000 0:00.02 login -pfl robertosullivan /bin/bash -c exec -
la bash /bin/bash
3267 ttys000 0:00.02 sudo su
3269 ttys000 0:00.01 su
3270 ttys000 0:00.00 sh
3271 ttys000 0:00.00 ps
如果我尝试sudo find / -name psql' - 我明白了:
find: /dev/fd/Library: No such file or directory
find: /dev/fd/Library: No such file or directory
/Library/PostgreSQL/9.6/bin/psql
/usr/local/bin/psql
/usr/local/Cellar/postgresql/9.6.3/bin/psql
当我尝试找到/Library/PostgreSQL/9.6/data -name * .conf'我明白了:
/Library/PostgreSQL/9.6/data/pg_hba.conf
/Library/PostgreSQL/9.6/data/pg_ident.conf
/Library/PostgreSQL/9.6/data/postgresql.auto.conf
/Library/PostgreSQL/9.6/data/postgresql.conf
答案 0 :(得分:0)
安装过程会创建一个名为postgres的用户帐户,该帐户与默认的Postgres角色相关联。为了使用Postgres,我们可以登录该帐户。
您可以直接使用sudo
运行postgres帐户所需的命令 sudo -u postgres psql
这将提示输入postgres用户的密码。
如果您没有此postgres用户的密码,请按照以下步骤操作:
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
在第84,85行附近改为
# Database administrative login by Unix domain socket
local all all trust
然后通过SUDO命令
重启PostgreSQL服务 sudo /etc/init.d/postgresql restart
现在您可以运行该命令直接使用sudo
登录postgres帐户 sudo -u postgres psql
您现在将进入并将看到Postgresql终端。一旦您成功登录postgres,您可以通过命令更改密码
\password
并输入Postgres默认用户的新密码,再次成功更改密码后,转到pg_hba.conf并将更改还原为“md5”
在第84,85行附近将此更改为
# Database administrative login by Unix domain socket
local all all md5
然后通过SUDO命令
重启PostgreSQL服务 sudo /etc/init.d/postgresql restart
现在您将以
身份登录 psql -U postgres
使用新密码。
如果您有任何问题,请与我们联系。
答案 1 :(得分:0)
因为我们将您的data_dir标识为chmod u+x somescript.sh
并在其中找到了配置文件,因为我们发现您的postgres群集正在运行/Library/PostgreSQL/9.6/data/
,以便重置您的密码:
pg_ctl: server is running (PID: 88) /Library/PostgreSQL/9.6/bin/postgres "-D/Library/PostgreSQL/9.6/data
sudo su - postgres
psql
之后,您可以使用新密码
以alter user USERNAME password 'NEW_PASSWORD'
作为该用户进行连接