postgres數(shù)據(jù)庫的常用命令

啟動數(shù)據(jù)庫

postgres -h hostname -p 5432

進入控制臺

sudo -u postgres psql

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
退出
postgres=# \q

創(chuàng)建用戶

sudo -u postgres createuser dbuser

sudo -u postgres psql
postgres=# CREATE USER dbuser WITH PASSWORD 'password';

查看所有用戶

postgres=# \du
更改密碼
postgres=# \password dbuser
postgres=# \q
刪除用戶
postgres=# drop user dbuser;

創(chuàng)建數(shù)據(jù)庫

postgres=# CREATE DATABASE exampledb OWNER dbuser;
postgres=# GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;
postgres=# \c exampledb;
postgres=# ALTER SCHEMA public OWNER to dbuser;
postgres=# GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO dbuser;
postgres=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO dbuser;

sudo -u postgres createdb -O dbuser exampledb

查看所有數(shù)據(jù)庫

postgres=# \l

切換數(shù)據(jù)庫
postgres=# \c exampledb

查看表
postgres=# \d

查看表結(jié)構(gòu)
postgres=# \d user_tab1
常用控制臺命令

\password 設(shè)置密碼。
\q 退出。
\h 查看SQL命令的解釋,比如\h select。
? 查看psql命令列表。
\l 列出所有數(shù)據(jù)庫。
\c [database_name] 連接其他數(shù)據(jù)庫。
\d 列出當(dāng)前數(shù)據(jù)庫的所有表格。
\d [table_name] 列出某一張表格的結(jié)構(gòu)。
\du 列出所有用戶。
\e 打開文本編輯器。
\conninfo 列出當(dāng)前數(shù)據(jù)庫和連接的信息。
基本的 SQL 語句

創(chuàng)建新表

CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);

插入數(shù)據(jù)

INSERT INTO user_tbl(name, signup_date) VALUES('張三', '2013-12-22');

查詢記錄

SELECT * FROM user_tbl;

更新數(shù)據(jù)

UPDATE user_tbl set name = '李四' WHERE name = '張三';

刪除記錄

DELETE FROM user_tbl WHERE name = '李四' ;

添加字段

ALTER TABLE user_tbl ADD email VARCHAR(40);

更改字段類型

ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;

設(shè)置字段默認值(注意字符串使用單引號)

ALTER TABLE user_tbl ALTER COLUMN email SET DEFAULT 'example@example.com';

去除字段默認值

ALTER TABLE user_tbl ALTER email DROP DEFAULT;

重命名字段

ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;

刪除字段

ALTER TABLE user_tbl DROP COLUMN email;

表重命名

ALTER TABLE user_tbl RENAME TO backup_tbl;

刪除表

DROP TABLE IF EXISTS backup_tbl;

刪除庫

\c hello2;
DROP DATABASE IF EXISTS hello;
從上面的命令可以看出基本的 SQL 語句跟 MySQL 是一樣的。

備份、恢復(fù)

pg_dump 備份
pg_dumpall 備份所有數(shù)據(jù)庫
pg_restore 恢復(fù)
psql exampledb < exampledb.sql 導(dǎo)入數(shù)據(jù)
example:

pg_dump --format=t -d db_name -U user_name -W -h 127.0.0.1 > dump.sql
pg_restore -d db_name -h 127.0.0.1 -U user_name < dump.sql

注意要加 -U 并且一定要是 db_name 的 owner

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、安裝 首先,安裝PostgreSQL客戶端。 sudo apt-get install postgresql-...
    柳塵逸閱讀 1,365評論 1 1
  • 1. 安裝 數(shù)據(jù)庫 圖形界面 2. 命令 初次啟動方式切換用戶 SHELL 操作 登錄數(shù)據(jù)庫 刪除PostgreS...
    manbug閱讀 438評論 0 1
  • 什么是數(shù)據(jù)庫? 數(shù)據(jù)庫是存儲數(shù)據(jù)的集合的單獨的應(yīng)用程序。每個數(shù)據(jù)庫具有一個或多個不同的API,用于創(chuàng)建,訪問,管理...
    chen_000閱讀 4,143評論 0 19
  • 第一天 7月13日OCP筆記: Oracle Ocp11g準備資料: OracleFundmentals 書 管理...
    fjxCode閱讀 2,885評論 0 4

友情鏈接更多精彩內(nèi)容