PostgreSQL資料庫pg_dump命令列不輸入密碼的方法

來源:互聯網
上載者:User

標籤:postgresql命令列不輸入密碼   postgresqlDatabase Backup   postgresql資料庫基本操作   postgresql資料庫匯出   postgresql營運教程   

對於PostgreSQL資料庫的備份按照官方手冊的方法之一就是採用“SQL Dump”的方式(另一種方式是直接備份檔案系統中的檔案,可參考官方手冊)。

基本用法如下:

pg_dump dbname > outfile

首先,正如命令列所展示的,pg_dump是將命令結果輸出到標準輸出中。

其次,pg_dump並不影響資料庫工作過程中的其他動作(主要是關心pg_dump會不會產生讀寫鎖(read lock、write lock)),但也有例外,那就是哪些需要使用互斥鎖(exclusive lock)的操作,如ALTER TABLE。

由於對於營運而言,通常需要使用指令碼來執行Database Backup,而不是每天手動執行命令列並輸入密碼備份,因此特地查了一下文檔,根據文檔“31.15. The Password File”節的說明,可以在使用者目錄下建一個設定檔,提前將密碼寫入這個設定檔中,設定檔的格式如下:

hostname:port:database:username:password

需要將此檔案放在執行pg_dump命令的使用者目錄下,儲存成.pgpass 檔案,並且許可權為600,否則PostgreSQL就會報

WARNING: password file "/root/.pgpass" has group or world access; permissions should be u=rw (0600) or less

注意:如果PostgreSQL資料庫的資料庫表結構(database schema)依賴OIDs(例如外鍵),則pg_dump需要加-o選項。

PostgreSQL資料庫的匯出速度還是比較快的,匯出3萬多行不到1s。

PostgreSQL匯出資料庫命令列執行個體:

pg_dump -U confluence -d confluence -h 127.0.0.1 -o >/tmp/tmp_confluence_postgresql.sql

其中,

-U表示執行使用者

-d表示資料庫

-h表示主機

-o表示支援OLDs

註:如果不想使用.pgpass 檔案,則可以在命令列中添加-W選項,意思是輸入密碼再執行。

附錄:PostgreSQL資料庫一些適合營運的基本操作

登入PostgreSQL資料庫:

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

如果也不想輸入密碼,則可以執行:

psql "host=127.0.0.1 hostaddr=127.0.0.1 port=5432 user=yourloginname password=yoursecret"

列出資料庫:

\l

退出資料庫console:

\q

tag:PostgreSQLDatabase Backup,PostgreSQL命令列不輸入密碼,PostgreSQL資料庫基本操作,PostgreSQL資料庫匯出,PostgreSQL營運教程

--end--

本文出自 “通訊,我的最愛” 部落格,請務必保留此出處http://dgd2010.blog.51cto.com/1539422/1685968

PostgreSQL資料庫pg_dump命令列不輸入密碼的方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.