PostgresSQL的安裝與基本命令使用


安裝與配置

yum install http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-redhat95-9.5-2.noarch.rpm
yum install -y postgresql95-server postgresql95-contrib
service postgresql-9.5 initdb
service postgresql-9.5 start
chkconfig postgresql-9.5 on service postgresql-9.5 start

數據庫操作

注意: psql的命令中不要使用雙引號,可能有特殊意義,所以一般使用單引號即可。

角色創建/刪除命令

su - postgres
# 指定參數登錄數據庫
psql -U pgadmin -d pgtest -h 172.16.13.230 -p 5432
psql
# CREATEDB、LOGIN、CREATEROLE等
CREATE ROLE dbrole CREATEDB LOGIN PASSWORD 'test12345';
DROP ROLE dbrole;
# 創建用戶
CREATE USER name WITH PASSWORD 'password'
\du

數據庫創建/刪除命令

CREATE DATABASE exampledb OWNER dbuser ENCODING 'UTF8';
GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;
DROP DATABASE exampledb;

數據表命令

# 插入記錄
INSERT INTO newtable('apa_oano','apb02') values('IamRuby','Icomein');
# 創建新表 
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入數據 
INSERT INTO user_tbl(name, signup_date) VALUES('張三', '2013-12-22');
# 選擇記錄 
SELECT * FROM user_tbl;
# 更新數據 
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;
# 更名欄位 
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;

數據庫備份與恢復

pg_dump engine > /tmp/backup_file
psql dbname < /tmp/backup_file

常用命令

\h:查看SQL命令的解釋,比如\h select。
\?:查看psql命令列表。
\l:列出所有數據庫。
\c [database_name]:連接其他數據庫。
\d:列出當前數據庫的所有表格。
\d [table_name]:列出某一張表格的結構。
\du:列出所有用戶。
\e:打開文本編輯器。
\conninfo:列出當前數據庫和連接的信息。

出現錯誤

psql: 致命錯誤: 用戶 "postgres" Ident 認證失敗

Ident 方式改為trust或者password,修改配置文件 /var/lib/pgsql/9.5/data/pg_hba.conf

host    all             all             127.0.0.1/32            trust
host    all             all             0.0.0.0/0               password

psql: could not connect to server: Connection refused

該問題是因為 /var/lib/pgsql/9.5/data/postgresql.conflisten_addresses = 'localhost', 將它改為 listen_addresses = ‘*’ 即可。現在應該就能通過密碼遠程訪問pg了。

參考:
http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
http://www.php100.com/manual/PostgreSQL8/tutorial.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM