PostgreSQL 常見問題
  • 常見問題
  • Windows 中的 pgAdmin4 字太小怎麼辦?
  • JDBC查詢資料時出現「Out of Memory」?
  • 我在哪裡可以獲得支援?
  • 最新版本是什麼?
  • PostgreSQL 資料庫可以有多大?
  • 忘記密碼怎麼辦?
  • 什麼是 PostgreSQL? 怎麼發音?Postgres 又是什麼?
  • 誰控制著 PostgreSQL?
  • PostgreSQL全球開發組織是什麼?
  • PostgreSQL核心團隊是什麼角色?
  • 還有其他 PostgreSQL 的機構嗎?
  • 什麼是 PostgreSQL 的使用許可(License)呢?
  • PostgreSQL vs MySQL
  • PostgreSQL vs MySQL vs SQL Server vs Oracle
  • PostgreSQL 支援哪些平台呢?
  • Replication 備忘錄
  • Autovacuum Tuning Basics
Powered by GitBook
On this page

忘記密碼怎麼辦?

解決的辦法就是使用密碼以外的方式登入再給一個新的密碼。先決條件是你擁有該系統的管理者權限。

找到你的pg_hba.conf,可能會在/etc/postgresql-9.1/pg_hba.conf,像這樣的路徑下。

  1. cd /etc/postgresql-9.1/

  2. 先備份一下

    cp pg_hba.conf pg_hba.conf-backup

  3. 把下面這行放進檔案中(可以把其他行都註解掉):

    local all all trust

  4. 重新啓動你的 PostgreSQL (以 Linux 為例)

    sudo /etc/init.d/postgresql restart

    如果服務無法順利啓動,且在 log 裡出現下面這個訊息的話

    local connections are not supported by this build

    那就把這行

    local all all trust

    改成這行

    host all all 127.0.0.1/32 trust

  5. 你現在可以以任何使用者登入了。那就以超級使用者 postgres 登入吧(如果沒有被特別改過的話,應該是 postgres,有些系統會是 pgsql)

    psql -U postgres

    或

    psql -h 127.0.0.1 -U postgres

    (前面那行可能不會被認為是從 localhost 登入,所以要特別指出。)

  6. 重置你的密碼

    ALTER USER my_user_name with password 'my_secure_password';

  7. 記得回存你的 pg_hba.conf,不然你的系統還是處在風險之中

    cp pg_hba.conf-backup pg_hba.conf

  8. 再一次重啓系統,確認原來你的 pg_hba.conf 設定也有生效

    sudo /etc/init.d/postgresql restart

  9. 用新的密碼登入,並且記好你的密碼

PreviousPostgreSQL 資料庫可以有多大?Next什麼是 PostgreSQL? 怎麼發音?Postgres 又是什麼?

Last updated 7 years ago