源码 编译安装 postgresql
2016-05-07 00:00
447 查看
摘要: 最近因为一个应用软件选型时,考虑了mysql 和 postgresql 固安装试下效果
参考:http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
##################编译安装 postgresql ################################ 1. 基础环境 centos6.4 x64 最小化安装 yum install gcc yum install readline-devel yum install zlib-devel yum install make 2. 编译安装 mkdir -p /opt/postgresql-8.4.1_bin ./configure --prefix=/opt/postgresql-8.4.1_bin gmake make install #配置时可以根据个人需要选择是否需要python/perl 的模块 --with-python --with-perl 3. 编辑配置,配置环境变量 mkdir /data1 chown postgres:postgres /data1 vim /etc/profile export PATH=$PATH:/opt/postgresql-8.4.1_bin/bin export LD_LIBRARY_PATH=$PATH:/opt/postgresql-8.4.1_bin/lib export PGDATA=/data1 4.建用户(管理员用户) useradd postgres passwd postgres 123456 5.初始化 su - postgres initdb 6. 启动数据库 postgres -D /data1 or pg_ctl -D /data1 -l logfile start [postgres@hd-vm-pgs ~]$ pg_ctl -D /data1 -l postgre.log start #建库 7. 创建一系统用户,作为数据库普通用户 passwd dbuser passwd dbuser / 1234567 8.设置管理员密码 su - postgres postgres=# \password postgres 9. 创建普通数据库用户,并设置密码为dbuser123 postgres=# CREATE USER dbuser WITH PASSWORD 'dbuser123'; 10. 创建数据库并指定所有者为 dbuser postgres=# CREATE DATABASE dbuser OWNER dbuser; 11. 将数据库的所有权限都赋予 dbuser ,否则dbuser只能登录控制台,没有任何数据库操作权限。 postgres=# GRANT ALL PRIVILEGES ON DATABASE dbuser to dbuser; 12. 普通用户登录 su - dbuser $psql -U dbuser dbuser #这里由于我们的数据库名,用户名 都对应到了系统的用户名,可以省略 $psql 13,连接错误 [testuser@hd-vm-121 ~]$ psql -U dbuser -d dbuser -h 127.0.0.1 -p 5432 psql: FATAL: Ident authentication failed for user "dbuser" 解决办法:vim /data1/pg_hba.conf # TYPE DATABASE USER CIDR-ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust
METHOD指定如何处理客户端的认证。常用的有ident,md5,password,trust,reject。 14. 数据库基本操作 # 创建新表 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;
参考:http://www.ruanyifeng.com/blog/2013/12/getting_started_with_postgresql.html
相关文章推荐
- MySQL数据库服务器的架设
- Mac 下 Mysql 重置密码
- ArchLinux 安装 MongoDB
- 数据储存方式-SQLite
- mysql 聚簇索引 和聚簇索引 (二级索引)的 那些事
- jsp中用EL读取了数据库里面的时间,怎么设置格式显示的格式
- Oracle学习系列5
- Oracle学习系列4
- Oracle学习系列3
- MySQL数据库服务器的架设
- 第7讲-SQL语言复杂查询之视图
- Mysql主从备份和SQL语句的备份
- redis cluster 集群架构
- Redis的replication
- Memcache-Java-Client-Release源码阅读(之六)
- MVC5+EF6入门教程——实现动态创建数据库与登录验证
- mysql 命令
- sql server索引功能资料
- mysql 多表查询
- 详解Oracle DELETE和TRUNCATE 的区别