centos安装postgresql-10及操作
- 安装postgresql:
Linux启动:
service postgresql start
创建用户:
createuser username
创建数据库:
createdb dbname -O username -E UTF8 -e
-
或者可以使用第二种方式创建用户和数据库:
1.创建Linux用户
sudo adduser dbtest
2.切换到postgres登陆
sudo -u postgres psql
3.创建dbtest且设置密码
CREATE USER dbtest WITH PASSWORD '123456'
4.创建数据库dbwyc,并制定拥有者
CREATE DATABASE dbwyc OWNER dbtest
5.数据库的所有权限都赋予dbtest,否则dbtest只能登录控制台,没有任何数据库操作权限
GRANT ALL PRIVILEGES ON DATABASE dbwyc to dbtest
6.\q 退出 -
连接数据库:
psql -U username -d dbname -h 127.0.0.1
CREATE TABLE test_user(id int,name VARCHAR(20),text VARCHAR(50));
INSERT INTO test_user(id,name, text) VALUES(1, ‘wyc','aaa');
select * from test_user where id =1;
postgresql:
psql -U username -d dbname -h 127.0.0.1
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
# 创建新表
CREATE TABLE tb_user(name VARCHAR(20), age INT, date DATE);
# 插入数据
insert into tb_user(name,age) values('wyc',111);
# 选择记录
SELECT * FROM tb_user;
# 更新数据
UPDATE tb_user set name = '李四' WHERE name = '张三';
# 删除记录
DELETE FROM tb_user WHERE name = '李四' ;
# 添加栏位
ALTER TABLE tb_user ADD email VARCHAR(40);
# 更新结构
ALTER TABLE tb_user ALTER COLUMN signup_date SET NOT NULL;
# 更名栏位
ALTER TABLE tb_user RENAME COLUMN signup_date TO signup;
# 删除栏位
ALTER TABLE tb_user DROP COLUMN email;
# 表格更名
ALTER TABLE tb_user RENAME TO backup_tbl;
# 删除表格
DROP TABLE IF EXISTS backup_tbl;
- 迁移数据库:
/usr/pgsql-9.4/bin/pg_dump -U {source user} {source database} -h {postgresql服务器的地址} -p 5432 -f /tmp/pg.sql
/usr/pgsql-9.4/bin/psql -U {source user} {source database} -h {postgresql服务器的地址} -p 5432 -f /tmp/pg.sql
- 多版本的psql:
ls -al /etc/alternatives/
lrwxrwxrwx 1 root root 36 Sep 28 11:26 pgsql-psqlman -> /usr/pgsql-9.4/share/man/man1/psql.1
lrwxrwxrwx 1 root root 26 Sep 28 11:26 pgsql-pg_dump -> /usr/pgsql-9.4/bin/pg_dump
- 备注
1.psql: FATAL: Ident authentication failed for user "dbuser"错误?
1.进入命令行:sudo -u postgres psql
2.ALTER USER dbuser WITH PASSWORD 'password'; 给用户dbuser设置密码
3.编辑配置文件:
vi /var/lib/pgsql/data/pg_hba.conf 将末尾`host all all 127.0.0.1/32 ident `的ident修改为md5
4.最后重启service postgresql restart
2.安装postgresql-10
1.yum install postgresql10-server
2.初始化:/usr/pgsql-10/bin/postgresql-10-setup initdb
3.启动服务:systemctl start postgresql-10.service
4.开机自启动:systemctl enable postgresql-10.service
5.查看版本:/usr/pgsql-10/bin/psql -V