无法找到PostgreSQL文件夹

时间:2017-10-10 08:16:19

标签: ruby-on-rails macos postgresql

我正在尝试查找或重置我的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

2 个答案:

答案 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/,以便重置您的密码:

  1. 成为postgres用户:pg_ctl: server is running (PID: 88) /Library/PostgreSQL/9.6/bin/postgres "-D/Library/PostgreSQL/9.6/data
  2. 使用sudo su - postgres
  3. 在本地登录
  4. 使用psql
  5. 重设密码

    之后,您可以使用新密码

    alter user USERNAME password 'NEW_PASSWORD'作为该用户进行连接