postgresql 將查詢結果匯出到檔案

2021-10-23 13:23:15 字數 2513 閱讀 9318

方法1:進入查詢終端,輸入\o  aa.out

查詢結果將輸出到當前目錄的aa.out 檔案

方法2: 將查詢語句寫a.sql中,

alias sql2="export pgpassword=***xx; psql -h 192.168.1.107 -p 5439 -u dev -d 'data資料庫名'"

sql2 -c a.sql > a.out

第二種缺點,除了結果外,將所有的螢幕內容輸出到檔案

pg_dump -h localhost -p 5432 -u postgres -d mydb -t my_table > backup.sql

create user ha with password '123';

create database prometheus owner user;

grant all privileges on database prometheus to ha;

alter role hao createdb;

psql -h localhost -u ha -d dbname < aa.bak

mongo-query

db.cam.find( }).limit(1).pretty()

這裡使用homebrew安裝

brew install postgresql
等待安裝完成後,初始化:

initdb /usr/local/var/postgres

啟動服務:

pg_ctl -d /usr/local/var/postgres -l /usr/local/var/postgres/server.log start

設定開機啟動

ln -sfv /usr/local/opt/postgresql/*.plist ~/library/launchagents

launchctl load ~/library/launchagents/homebrew.mxcl.postgresql.plist

mac安裝postgresql後不會建立使用者名稱資料庫,執行命令:

createdb
然後登入postgresql控制台:

psql
使用\l命令列出所有的資料庫,看到已存在使用者同名資料庫、postgres資料庫,但是postgres資料庫的所有者是當前使用者,沒有postgres使用者。按:q退出檢視

之後需要做以下幾件事:

建立postgres使用者

create user postgres with password'password';

刪除預設生成的postgres資料庫

drop database postgres;

建立屬於postgres使用者的postgres資料庫

create database postgres owner postgres;

將資料庫所有許可權賦予postgres使用者

grant all privileges on database postgres to postgres;

給postgres使用者新增建立資料庫的屬性

alter role postgres createdb;

這樣就可以使用postgres作為資料庫的登入使用者了,並可以使用該使用者管理資料庫

psql -u [user] -d [database] -h [host] -p [post] 

-u指定使用者,-d指定資料庫,-h指定伺服器,-p指定埠

上方直接使用psql登入控制台,實際上使用的是預設資料

user:當前mac使用者

database:使用者同名資料庫

主機:localhost

埠號:5432,postgresql的預設埠是5432

完整的登入命令,比如使用postgres使用者登入

psql -u postgres -d postgres
\password:設定當前登入使用者的密碼

\h:檢視sql命令的解釋,比如\h select。 \?:檢視psql命令列表。 \l:列出所有資料庫。 \c [database_name]:連線其他資料庫。 \d:列出當前資料庫的所有**。 \d [table_name]:列出某一張**的結構。 \du:列出所有使用者。 \e:開啟文字編輯器。 \conninfo:列出當前資料庫和連線的資訊。 \password [user]: 修改使用者密碼 \q:退出

PostgreSQL根據查詢結果執行插入或更新操作

最近需要把老專案中oracle語法改為pg的,其中乙個邏輯為匯入excel資料,根據資料的唯一標識做插入或者更新操作,資料庫中有此資料,則執行更新,反之插入。oracle declare v count number begin select count 1 into v count from un...

MSSQL將查詢結果橫向顯示

表1 year month,amount 200801 5 200802 6 200803 9 200802 4 顯示結果 year 01 02 03 tot 2008 5 0 0 5 2008 0 10 0 10 2008 0 0 9 9 2008 0 0 0 24 可能多個年,多個月create...

mysql將查詢結果儲存到檔案

1.新建查詢語句檔案query.sql,內容如下 set names utf8 select feedid,city message from feed limit 1000 上面的set names utf8語句是設施當前使用的編碼,如果編碼和資料庫的編碼不一致,會出現亂碼 2.執行如下 root...