Centos 6.8 下安装 PostgreSQL安装-PaulPeng整理

Centos 6.8 下安装 PostgreSQL安装
 
系统信息
 
 
[root@Paulpeng data]# cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@Paulpeng data]# uname -a
Linux Paulpeng 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@Paulpeng data]#
 
软件版本
[root@Paulpeng data]# psql -h 192.168.230.128 -p 5432 -U postgres
Password for user postgres:
psql (8.4.20)
Type "help" for help.
postgres=#
安装
 yum install postgresql-server -y
初始化数据库
 
service postgresql initdb
设置自动启动
 
chkconfig postgresql on
service postgresql start
配置监听地址为所有IP
默认postgresql只在127.0.0.1上进行监听
进入PGDATA目录(默认在/var/lib/pgsql/data/),找到文件postgresql.conf,增加
 
cd /var/lib/pgsql/data/
vim postgresql.conf
listen_addresses = '*'
设置认证模式,内网中采用password密码认证的方式,在文件pg_hba.conf文件中增加
host    all             all             0.0.0.0/0               password
修改默认用户postgres的密码
 
su - postgres 
psql 
alter user postgres with password '123456';
重新启动postgresql的服务
 
service postgresql restart
登录测试
 
psql -h 192.168.230.128 -p 5432 -U postgres 
#会提示输入密码,输入刚刚设置过的密码
登录成功表示刚刚设置正确
创建角色
create role sentry 
设置角色允许登录
 
alter role sentry LOGIN
创建新的数据库
 
create database sentry owner sentry 
使用:
创建数据库用户dbuser,并设置密码。
CREATE USER dbuser WITH PASSWORD 'password';
在shell命令行下,创建数据库exampledb,并指定所有者为dbuser。
sudo -u postgres createdb -O dbuser exampledb
登录数据库
添加新用户和新数据库以后,就要以新用户的名义登录数据库,这时使用的是psql命令。
 
psql -U dbuser -d exampledb -h 192.168.230.128 -p 5432
上面命令的参数含义如下:-U指定用户,-d指定数据库,-h指定服务器,-p指定端口。
输入上面命令以后,系统会提示输入dbuser用户的密码。输入正确,就可以登录控制台了。
psql命令存在简写形式。如果当前Linux系统用户,同时也是PostgreSQL用户,则可以省略用户名(-U参数的部分)。举例来说,我的Linux系统用户名为ruanyf,且PostgreSQL数据库存在同名用户,则我以ruanyf身份登录Linux系统后,可以直接使用下面的命令登录数据库,且不需要密码。
 
psql exampledb
此时,如果PostgreSQL内部还存在与当前系统用户同名的数据库,则连数据库名都可以省略。比如,假定存在一个叫做ruanyf的数据库,则直接键入psql就可以登录该数据库。
 
psql
另外,如果要恢复外部数据,可以使用下面的命令。
 
psql exampledb < exampledb.sql
四、控制台命令
除了前面已经用到的\password命令(设置密码)和\q命令(退出)以外,控制台还提供一系列其他命令。
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
五、数据库操作
基本的数据库操作,就是使用一般的SQL语言。
 
# 创建新表 
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;
posted @ 2017-03-29 22:38  静渊居士  阅读(1555)  评论(0编辑  收藏  举报