導航:首頁 > 程序命令 > postgresql命令操作

postgresql命令操作

發布時間:2022-06-29 15:30:15

1. pgAdmin如何使用postgresql應該怎麼設置

.2.1 pgAdmin3的啟動

您可以在應用程序---系統工具中找到pgAdmin3的啟動項;
也可以在命令行下輸入:
xiaop@xiaop-laptop:~$ /usr/bin/pgadmin3 start

6.2.2 連接已創建的資料庫mydb ;

點擊檔案-----新增伺服器,然後在跳出的窗口下輸入:
地址:localhost
描述:伺服器名稱(隨意填寫)
維護資料庫:postgres
用戶名:自己創建一個(詳情參見創建用戶)
密碼:和用戶名對應(創建用戶時自己創建)

點擊確定後大家便可以查看postsql已有的資料庫了;
註:pgAdmin3的資料庫和終端下創建的資料庫是完全同步的(可以用刷新查看效果), pgAdmin3是比較方便的圖形化管理工具,它可以創建圖表,管理資料庫等,有關pgAdmin3的詳細介紹我們在以後討論,本文主要介紹命令行下的操作。圖形化管理工具能做到的命令行都可以做到,您可以在命令行下創建表,在pgAdmin3上查看是否同步:

7. 創建和刪除表;

7.1 創建新表;

創建完資料庫之後,您就可以創建新表了,可以通過聲明表的名字和所有欄位的名字及其類型來創建表,例如:
mydb#CREATE TABLE weather (
city varchar(80),
temp_lo int, -- 最低氣溫
temp_hi int, -- 最高氣溫
prcp real, -- 降水量
date date
);

註:您可以在 psql 里連換行符一起鍵入這些東西。 psql 可以識別該命令直到分號才結束,不要忘記「;」
您可以在 SQL 命令中自由使用空白(也就是空格,tab,和換行符)。 這就意味著您可以用和上面不同的對齊方式鍵入命令。 兩個劃線("--") 引入注釋。 任何跟在它後面的東西直到該行的結尾都被忽略。 SQL 是對關鍵字和標識符大小寫不敏感的語言,只有在標識符用雙引號包圍時才能保留它們的大小寫屬性。

7.2 數據類型;

上面例子中的varchar(80) 聲明一個可以存儲最長 80 個字元的任意字元串的數據類型。 int 是普通的整數類型。 real 是一種用於存儲單精度浮點數的類型。 date 類型應該可以自解釋。
PostgresSQL 支持標準的 SQL 類型 int,smallint, real,double precision, char(N), varchar(N),date, time,timestamp 和 interval,還支持其他的通用類型和豐富的幾何類型。 PostgreSQL 可以客戶化為定製任意的用戶定義的數據類型,您可以參考PostgreSQL的中文文檔來查詢;

7.3 刪除表;

如果您不再需要某個表,或者您想創建一個不同的表,那麼您可以用下面的命令刪除它:
mydb#DROP TABLE tablename

8. 向表中添加行;

8.1 INSERT;

INSERT 用於向表中添加行,您可以輸入(在資料庫中操作):
mydb#INSERT INTO weather VALUES ('San Francisco', 46, 50, 0.25, '1994-11-27');

註:所有數據類型都使用了相當明了的輸入格式。 那些不是簡單數字值的常量必需用單引號(')包圍, 就象在例子里一樣。

8.2 point類型輸入;

point 類型要求一個座標對作為輸入,如下:
mydb#INSERT INTO cities VALUES ('San Francisco', '(-194.0, 53.0)');

8.3 COPY;

您還可以使用 COPY 從文本文件中裝載大量數據。 這么干通常更快,因為 COPY 命令就是為這類應用優化的, 只是比 INSERT 少一些靈活性.比如:
mydb#COPY weather FROM '/home/user/weather.txt';

註:weather.txt是您提前寫好的符合格式標準的表格內容文檔;

9. 查詢一個表;

9.1 SELECT;

要從一個表中檢索數據就是查詢這個表。 SQL 的 SELECT 就是做這個用途的。 該語句分為選擇列表(列出要返回的欄位部分),表列表(列出從中檢索數據的表的部分), 以及可選的條件(聲明任意限制的部分)。比如,要檢索表 weather 的所有行,鍵入:
SELECT * FROM weather;
<code>
輸出結果:
<code>
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
San Francisco | 46 | 50 | 0.25 | 1994-11-27
San Francisco | 43 | 57 | 0 | 1994-11-29
Hayward | 37 | 54 | | 1994-11-29
(3 rows)

您可以在選擇列表中寫任意表達式,而不僅僅是欄位列表。比如,您可以:
SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;

這樣應該得出:
city | temp_avg | date
---------------+----------+------------
San Francisco | 48 | 1994-11-27
San Francisco | 50 | 1994-11-29
Hayward | 45 | 1994-11-29
(3 rows)

請注意這里的 AS 子句是如何給輸出欄位重新命名的。(AS 子句是可選的。)

9.2 WHERE;

一個查詢可以使用 WHERE 子句"修飾",聲明需要哪些行。 WHERE 子句包含一個布爾(真值)表達式,只有那些布爾表達式為真的行才會被返回。 允許您在條件中使用常用的布爾操作符(AND,OR, 和 NOT)。 比如,下面的查詢檢索舊金山的下雨天的天氣:
mydb#SELECT * FROM weather
WHERE city = 'San Francisco' AND prcp > 0.0;

結果:
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
San Francisco | 46 | 50 | 0.25 | 1994-11-27
(1 row)

9.3 排序;

您可以要求返回的查詢是排好序的:
mydb#SELECT * FROM weather
ORDER BY city;

得出結果:
city | temp_lo | temp_hi | prcp | date
---------------+---------+---------+------+------------
Hayward | 37 | 54 | | 1994-11-29
San Francisco | 43 | 57 | 0 | 1994-11-29
San Francisco | 46 | 50 | 0.25 | 1994-11-27

在這個例子里,排序的順序並非絕對清晰的,因此您可能看到 San Francisco 行隨機的排序。 但是如果您使用下面的語句,那麼就總是會得到上面的結果
SELECT * FROM weather
ORDER BY city, temp_lo;

您可以要求查詢的結果按照某種順序排序, 並且消除重復的行輸出:
mydb#SELECT DISTINCT city
FROM weather;

得出結果:
city
---------------
Hayward
San Francisco
(2 rows)

2. postgresql如何執行sql文件

在pgAdmin的窗口中,直接打開SQL文件然後執行就可以了。
你所說的Oracle的執行方式,應該是在sql
plus命令窗口中執行sql文件。這個功能在PostgreSQL的命令窗口psql中也有此功能:開啟psql命令窗口之後,執行命令:
\i sqlfile_path就可以執行指定的sql文件了,
其中sqlfile_path是要執行的sql文件,
如下圖,
要注意的是:
在Windows系統中,路徑中用的是斜杠,不是反斜杠。

3. postgresql命令 linux中怎麼退出

直接在命令行輸入:quit或者是exist即可完成退出。 備註:其實最簡單的方法就是關閉登錄窗口,或者切換用戶的形式完成退出當前用戶的資料庫操作。

4. 如何用命令打開postgresql資料庫

F:\PostgreSQL\9.2\bin>psql.exe
-h
localhost
-U
postgres
-d
Test
-p
5432psql
(9.2.4)輸入
"help"
來獲取幫助信息.Test=#Test=#
help;您正在使用psql,
這是一種用於訪問PostgreSQL的命令行界面鍵入:
\right
顯示發行條款
\h
顯示
SQL
命令的說明
\?
顯示
pgsql
命令的說明
\g
或者以分號(;)結尾以執行查詢
\q
退出注:
資料庫名稱區分大小寫的。使用某些有密碼的用戶的情況下,
會提示輸入密碼.F:\PostgreSQL\9.2\bin>psql.exe
-h
localhost
-U
test
-d
Test
-p
5432用戶
test
的口令:psql
(9.2.4)輸入
"help"
來獲取幫助信息.Test=#

5. 如何學習PostgreSql sql 語法

在pgadmin的窗口中,直接打開sql文件然後執行就可以了。
你所說的oracle的執行方式,應該是在sql
plus命令窗口中執行sql文件。這個功能在postgresql的命令窗口psql中也有此功能:開啟psql命令窗口之後,執行命令:
\i sqlfile_path就可以執行指定的sql文件了,
其中sqlfile_path是要執行的sql文件,
如下圖,
要注意的是:
在windows系統中,路徑中用的是斜杠,不是反斜杠。

6. ubuntu下安裝 postgresql 的命令

你的安裝命令不完整,少了一個 install ,
如果是安裝PostgreSQL客戶端:sudo apt-get install postgresql-client

如果是安裝PostgreSQL伺服器:sudo apt-get install postgresql

正常情況下,安裝完成後,PostgreSQL伺服器會自動在本機的5432埠開啟。
如果還想安裝圖形管理界面,可以運行這個命令:sudo apt-get install pgadmin3
更多關於PostgreSQL的用法,樓主可以網路《Linux就該這么學》,搜索關鍵字可以獲得相應的教程。

7. linux怎麼用命令登陸postgres

(1)用戶實用程序:

createdb 創建一個新的PostgreSQL的資料庫(和SQL語句:CREATE DATABASE 相同)

createuser 創建一個新的PostgreSQL的用戶(和SQL語句:CREATE USER 相同)

dropdb 刪除資料庫

dropuser 刪除用戶

pg_mp 將PostgreSQL資料庫導出到一個腳本文件

pg_mpall 將所有的PostgreSQL資料庫導出到一個腳本文件

pg_restore 從一個由pg_mp或pg_mpall程序導出的腳本文件中恢復PostgreSQL資料庫

psql 一個基於命令行的PostgreSQL互動式客戶端程序

vacuumdb 清理和分析一個PostgreSQL資料庫,它是客戶端程序psql環境下SQL語句VACUUM的shell腳本封裝,二者功能完全相同

(2)系統實用程序

initdb 創建一個用於存儲資料庫的PostgreSQL數據目錄,並創建預定義的模板資料庫template0和template1,生成共享目錄表 catalog;此程序通常只在安裝PostgreSQL時運行一次

initlocation 創建一個輔助的PostgreSQL資料庫存儲區域

ipcclean 從停止的PostgreSQL伺服器中清除共享內在和孤立信號標志

pg_ctl 啟動、停止、重啟PostgreSQL服務(比如:pg_ctl start 啟動PostgreSQL服務,它和service postgresql start相同)

pg_controldata 顯示PostgreSQL服務的內部控制信息

postgres PostgreSQL單用戶模式的資料庫服務

postmaster PostgreSQL多用戶模式的資料庫服務

4.這裡面最重要的是psql這個客戶端程序最為重要。啟用客戶端程序psql的方法是:

切換到PostgreSQL預定義的資料庫超級用戶postgres,啟用客戶端程序psql,並連接到自己想要的資料庫,比如說:

psql template1

出現以下界面,說明已經進入到想要的資料庫,可以進行想要的操作了。

template1=#

5.在資料庫中的一些命令:

template1=# \l 查看系統中現存的資料庫

template1=# \q 退出客戶端程序psql

template1=# \c 從一個資料庫中轉到另一個資料庫中,如template1=# \c sales 從template1轉到sales

template1=# \dt 查看錶

template1=# \d 查看錶結構

template1=# \di 查看索引
[基本資料庫操作]========================
*創建資料庫:
create database [資料庫名];

*查看資料庫列表:
\d

*刪除資料庫:
drop database [資料庫名];

創建表:
create table ([欄位名1] [類型1] <references 關聯表名(關聯的欄位名)>;,[欄位名2] [類型2],......<,primary key (欄位名m,欄位名n,...)>;);

*查看錶名列表:
\d

*查看某個表的狀況:
\d [表名]

*重命名一個表:
alter table [表名A] rename to [表名B];

*刪除一個表:
drop table [表名];
========================================

[表內基本操作]==========================
*在已有的表裡添加欄位:
alter table [表名] add column [欄位名] [類型];

*刪除表中的欄位:
alter table [表名] drop column [欄位名];

*重命名一個欄位:
alter table [表名] rename column [欄位名A] to [欄位名B];

*給一個欄位設置預設值:
alter table [表名] alter column [欄位名] set default [新的默認值];

*去除預設值:
alter table [表名] alter column [欄位名] drop default;

在表中插入數據:
insert into 表名 ([欄位名m],[欄位名n],......) values ([列m的值],[列n的值],......);

修改表中的某行某列的數據:
update [表名] set [目標欄位名]=[目標值] where [該行特徵];

刪除表中某行數據:
delete from [表名] where [該行特徵];
delete from [表名];--刪空整個表

6.要注意隨時對資料庫進行清理、收回磁碟空間並更新統計信息,使用下面的命令就搞定!

vaccumdb -d sales -z

-a 對所有的資料庫操作

-z 保證不斷地刪除失效的行,節約磁碟空間,將統計信息更新為最近的狀態

7.PostgreSQL用戶認證

PostgreSQL數據目錄中的pg_hba.conf的作用就是用戶認證,可以在/var/lib/pgsql/data中找到。

有以下幾個例子可以看看:

(1)允許在本機上的任何身份連接任何資料庫

TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD

local all all trust(無條件進行連接)

(2)允許IP地址為192.168.1.x的任何主機與資料庫sales連接

TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD

host sales all 192.168.1.0 255.255.255.0 ident sameuser(表明任何操作系統用戶都能夠以同名資料庫用戶進行連接)

8.看了那麼多,來一個完整的創建PostgreSQL資料庫用戶的示例吧

(1)進入PostgreSQL高級用戶

(2)啟用客戶端程序,並進入template1資料庫

psql template1

(3)創建用戶

template1=# CREATE USER hellen WITH ENCRYPED PASSWORD'zhenzhen'

(4)因為設置了密碼,所以要編輯pg_hba.conf,使用戶和配置文件同步。

在原有記錄上面添加md5

local all hellen md5

(4)使用新用戶登錄資料庫

template1=# \q

psql -U hellen -d template1

PS:在一個資料庫中如果要切換用戶,要使用如下命令:

template1=# \!psql -U tk -d template1

9.設定用戶特定的許可權

還是要用例子來說明:

創建一個用戶組:

sales=# CREATE GROUP sale;

添加幾個用戶進入該組

sales=# ALTER GROUP sale ADD USER sale1,sale2,sale3;

授予用戶級sale針對表employee和procts的SELECT許可權

sales=# GRANT SELECT ON employee,procts TO GROUP sale;

在sale中將用戶user2刪除

sales=# ALTER GROP sale DROP USER sale2;

10.備份資料庫

可以使用pg_mp和pg_mpall來完成。比如備份sales資料庫:

pg_mp sales>/home/tk/pgsql/backup/1.bak

8. Postgresql psql腳本執行命令該怎麼寫

主要就是把除了template0和template1外的資料庫全部mp到指定目錄並打包使用前把BACKUPDIR修改至你自己的備份目錄一般來說你不用修改DUMPCMD,除非你的PostgreSQL安裝時的prefix指定到了其他地方,又或者你想加上其他的pg_mp參數可以放在c

閱讀全文

與postgresql命令操作相關的資料

熱點內容
githubcopilot讓程序員失業 瀏覽:210
程序員學美術視頻 瀏覽:124
linux查詢外網ip 瀏覽:767
沒有編譯器怎樣寫代碼 瀏覽:712
現代編譯系統 瀏覽:407
python中列表是否為空 瀏覽:275
android編譯release版本 瀏覽:751
如何讓pdf不能列印 瀏覽:553
單片機和溫度感測器 瀏覽:483
windows伺服器怎麼分卷 瀏覽:136
雷雲2卡從雲伺服器同步設置 瀏覽:958
單片機技術一學就會 瀏覽:507
手機攝像文件夾名 瀏覽:135
口才訓練手冊編譯口才精品書系 瀏覽:999
linuxfunc 瀏覽:270
高德地圖解壓後的文件 瀏覽:639
php加水印類 瀏覽:228
編譯原理定義表格和編寫查找函數 瀏覽:350
指數函數和對數函數的高精度快速演算法 瀏覽:210
c預編譯干什麼 瀏覽:25