- Postgresql安装布署:
wget -c https://ftp.postgresql.org/pub/source/v11.2/postgresql-11.2.tar.gz |
tar -xf postgresql-11.2.tar.gz
编译安装:
cd postgresql-11.2
yum install readline-devel –y
./configure -prefix=/usr/local/postgresql
make -j4 && make install
创建用户:
useradd postgresql
创建postgresql数据存储目录并更改属主:
mkdir -p /data/postgresql
chown -R postgresql /data/postgresql/
chown -R postgresql /usr/local/postgresql/
su - postgresql
数据库初始化:
/usr/local/postgresql/initdb -D /data/postgresql/
启动postgresql数据库:
/usr/local/postgresql/pg_ctl -D /data/postgresql/ -l logfile start
停止数据库:
/usr/local/postgresql/pg_ctl stop -D /data/postgresql
默认配置文件目录在数据目录下:
/data/postgresql
- Postgresql数据库常用操作:
查看pg版本:
pg_ctl --version
命令行登录数据库:
psql -U username -d dbname -h hostip -p port
退出:
\q
列出所有数据库:
\l
切换数据库:
\c dbname
列出当前数据库的所有表:
\d
查看指定表的所有字段:
\d tablename
查看指定表的基本情况:
\d+ tablename
新建表:
create table TESTCASE( id INTEGER, task_class INTEGER, age TEXT, PRIMARY KEY(id, task_class) ); |
删除表:
drop table REL_CROSS_NODE;
清空表:
delete from [表名];
or
TRUNCATE TABLE [表名]
区别:Truncate table 表名 (注:不带where语句) 速度快,而且效率高。
因为DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放
添加字段:
alter table [表名] add column [字段名] [类型];
更改字段:
alter table [表名] rename column [旧字段名] to [新字段名];
例:把表table_ex字段col_1限制非空去掉:ALTER TABLE table_eg ALTER col_1 drop not NULL
删除字段:
alter table [表名] drop column [字段名];
向表中插入数据:
insert into [表名] (字段1,字段2) values (值1,值2);
例如:
insert into assist_info (id, maat_id, block_type) values ('F006', 'F7775', 1)
注:
- 如果表中字段有大写的字段,则需要对应的加上双引号。例:insert into test (no, "Name") values ('123', 'jihite');
- 值用单引号引起来(''),不能用双引号("")
表中删除一行数据:
delete from [表名] where [该行特征];
修改表中数据:
update [表名] set [目标字段名]=[目标值] where [该行特征]
删除表:
drop table [表名];
命令导入sql数据文件:
psql -h localhost -d databaseName -U username -f filename
数据库的备份&恢复:
导出到线下文件:
pg_dump --host hostname --port port --username username -t tablename -d dbname >/home/jihite/table.sql
把线下文件导入到数据库:
psql -h 10.125.7.68 -p 5432 -d postgres -U postgres -W postgres -f 2.sql
查询数据库的连接信息:
select * from pg_stat_activity