在ubuntu下安装postgresql
1.更新系统
sudo apt-get install upgrade
2.安装PostgreSQL服务器和客户端
sudo apt-get install postgresql postgresql-client
3.启动postgresql
PostgreSQL安装完成后默认是已经启动的,但是也可以通过下面的方式来手动启动服务
sudo /etc/init.d/postgresql start 开启
sudo /etc/init.d/postgresql stop 关闭
sudo /etc/init.d/postgresql restart 重启
4.配置postgresql
创建数据库用户root,并指定为超级用户
sudo -u postgres createuser --superuser root
登录数据库控制台,为刚刚创建的用户设置密码
sudo -u postgres psql
\password root
\q
详细的执行log
root@ima-ThinkPad-W540:/home/ima# sudo -u postgres psql
psql (9.5.14)
Type "help" for help.
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q
创建数据库
sudo -u postgres createdb --owner=postgres cms_tix
pg_restore -U postgres -d cms_tix /home/ima/Downloads/cms.sql -W
登陆数据库
psql -U root -d tix -h 127.0.0.1 -p 5432
命令语法
1.查看所有的数据库
\l
或者
select datname FROM pg_database;
2.
切换数据库,相当于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 [表名] 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] <references 关联表名(关联的字段名)>;,[字段名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
CREATE TABLE weather (
city varchar(80),
temp_lo int, -- 最低温度
temp_hi int, -- 最高温度
prcp real, -- 湿度 real是一种用于存储单精度浮点数的类型
date date
);
CREATE TABLE cities (
name varchar(80),
location point
);
备份和恢复: https://www.cnblogs.com/xiaofoyuan/p/5253332.html
psql -U root -d tix -h 127.0.0.1 -p 5432 < /home/ima/Downloads/cms.sql