Centos7.x安裝postgreSQL與使用uuid擴充套件
大神安裝連結
安裝教程:
https://www.cnblogs.com/stulzq/p/7766409.html
新建使用者並建立資料庫並賦予許可權
https://blog.csdn.net/zhangzeyuaaa/article/details/77941039
安裝過程:
使用yum命令來安裝
1.檢視postgresql的源
yum list | grep postgresql
2.選擇postgresql10-contrib(外掛庫)和postgresql10-server(資料庫)
yum install postgresql10-contrib postgresql10-server -y
3.驗真是否安裝成功
rpm -aq| grep postgres
4.初始化資料庫
/usr/pgsql-10/bin/postgresql-10-setup initdb
5.配置資料庫開機自啟
systemctl enable postgresql-10
systemctl start postgresql-10
6.配置防火牆
(見我上之前的部落格)
7.修改使用者密碼
su - postgres 切換使用者,執行後提示符會變為 '-bash-4.2$'
psql -U postgres 登入資料庫,執行後提示符變為 'postgres=#'
ALTER USER postgres WITH PASSWORD 'postgres' 設定postgres使用者密碼為postgres
\q 退出資料庫
8.配置遠端訪問
a.開啟遠端訪問
vim /var/lib/pgsql/10/data/postgresql.conf
修改#listen_addresses = 'localhost' 為 listen_addresses='*' 當然,
此處‘*’也可以改為任何你想開放的伺服器IP
b.信任遠端訪問
vi m/var/lib/pgsql/10/data/pg_hba.conf
修改如下內容,信任指定伺服器連線
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.157.1/32(需要連線的伺服器IP) trust
host all all 0.0.0.0/0 trust
其中0.0.0.0/0表示執行任意ip地址訪問。
若設定為 192.168.1.0/24 則表示允許來自ip為192.168.1.0 ~ 192.168.1.255之間的訪問。
9.重啟資料庫
systemctl restart postgresql-10
資料庫的資料儲存目錄在 /var/lib/pgsql/10/data 下
資料庫安裝目錄在 /usr/pgsql-10 下
外掛使用:
大部分外掛已經被封裝在contrib裡,安裝時會一起被安裝
檢視外掛位置 /usr/pgsql-10/lib
1.uuid
開啟外掛
create extension if not exists "uuid-ossp";
select uuid_generate_v1();
驗證一下
資料庫使用
在windows的dos視窗連線資料庫, 預設的使用者和資料庫是postgres
psql -U user -d dbname
\du
檢視使用者
切換資料庫,相當於mysql的use dbname
\c dbname
列舉資料庫,相當於mysql的show databases
\l
列舉表,相當於mysql的show tables
\dt
查看錶結構,相當於desc tblname,show columns from tbname
\d tblname
\di 檢視索引
建立資料庫:
create database [資料庫名];
刪除資料庫:
drop database [資料庫名];
*重新命名一個表:
alter table [表名A] rename to [表名B];
*刪除一個表:
drop table [表名];
*在已有的表裡新增欄位:
alter table [表名] add column [欄位名] [型別];
刪除表中的欄位:
alter table [表名] drop column [欄位名];
修改資料庫列屬性
alter table 表名 alter 列名 type 型別名(350)
重新命名一個欄位:
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 [表名];--刪空整個表
建立表:
create table ([欄位名1] [型別1] ;,[欄位名2] [型別2],......<,primary key (欄位名m,欄位名n,...)>;);
\copyright 顯示 PostgreSQL 的使用和發行條款
\encoding [字元編碼名稱]
顯示或設定使用者端字元編碼
\h [名稱] SQL 命令語法上的說明,用 * 顯示全部命令
\prompt [文字] 名稱
提示使用者設定內部變數
\password [USERNAME]
securely change the password for a user
\q 退出 psql
可以使用pg_dump和pg_dumpall來完成。比如備份sales資料庫:
pg_dump drupal>/opt/Postgresql/backup/1.bak
下面兩點,本人覺得比較重要:
PostgreSQL對錶名、欄位名都是區分大小寫的。在圖形化介面可以正常新建。用SQL語句的時候需要加雙引號,如果jdbc查詢等處,記得使用轉義符號。
PostgreSQL在SQL語句中對大小寫是不敏感的 例如 select ID from t_user 和 select id from t_user 都會從t_user這個表中查詢id這個欄位。如果要查詢大寫字母的欄位,同樣要加上雙引號:select "ID" from t_user