Ubuntu安装、使用postgresql数据库


$ sudo apt-get install postgresql  (端口为5432)


$ sudo apt-get install postgresql-contrib   (这个主要是为了生成oid2name)


$ sudo passwd postgres   (postgres账号的家目录为:/var/lib/postgresql)


安装postgres图形化客户端


$ sudo apt-get install pgadmin3    (调用直接在命令行里输入pgadmin3即可)



postgres的主要配置文件


/etc/postgresql/9.1/main/下的pg_hba.conf(连接数据库的身份验证方式)和postgresql.conf(数据库的


配置文件)  (建议修改前都备份下)




postgresql的bin命令路径:


/usr/lib/postgresql/9.1/bin  


默认不写绝对路径无法调用,可做下软链接:


# ln -s /usr/lib/postgresql/9.1/bin/* /usr/bin/   (有些本来就有,无所谓的)



# mkdir -p /home/postgresql/data   (也可不调,默认路径为:/var/lib/postgresql/9.1/main/base)


# chown postgres:postgres /home/postgresql/data


# su postgres


$ initdb -D /home/postgresql/data



数据库存放路径:/home/postgresql/data/base  (这里显示的是数据库名的OID)


如要查看OID对应的数据库名,在base目录下执行oid2name即可




开启postgresql  log


# vi /home/postgresql/data/postgres.conf (log部分默认均为注释)


按a或i进入编辑模式


log_destination = 'stderr'


logging_collector = on


log_directory = 'pg_log'   (绝对路径为:/var/lib/postgresql/9.1/main/)


log_filename = 'postgresql-%y-%m-%d_%H%M%S.log'


log_rotation_size = 10MB


按Esc键退出编辑模式


:wq  (保存并退出)




允许从其它主机进行登录:


# vi /home/postgresql/data/pg_hba.conf


按a或i进入编辑模式


host  all all   10.0.0.3/32    md5  (md5为需要密码,trust为不需要密码)


按Esc键退出编辑模式


:wq  (保存并退出)



其它主机登录:


# psql -h 10.0.0.2 -p 5432 mingdb ming





启动、关闭postgresql


# service postgresql restart    (-D的方法启动的话就只能杀进程了)




$ postgres -D /home/postgresql/data (关闭可用kill)



$ pg_ctl -D /home/postgresql/data start   (关闭是stop)



注:启动后如需做其他操作建议另外打开个窗口(如ctrl+z的话会造成psql无法登陆)



在postgres账号命令行下操作步骤如下:


创建账号


$ createuser -A -D -P -R user1


密码


创建账号方法2:


$ createuser user1 with password '****'



修改账号密码命令:


$ alter user1 password 'xxxx'



删除账号:


$ dropuser user1


注:


-A 不允许创建其他用户

-D 不允许创建数据库

-P 创建密码

-R 不允许创建角色



创建数据库ming


$ createdb ming


删除数据库ming


$ dropdb ming


进入数据库ming


$ psql ming


进入后界面如下


ming=#




在数据库下操作步骤如下:



$ psql -U postgres  (在postgres账号下可直接psql)



为postgres账号设置密码(注意区分系统账号postgres和数据库里postgres账号):


postgres=# \password postgres  


密码



创建账号



postgres=# create user "ming" with password '123456' nocreatedb;


建立数据库并指定owner


postgres=# create database "mingdb" with owner="ming";




\l:列出已有数据库的Owner,Encoding等信息


\c  数据库名:切换数据库


\d:查看当前数据库中已有的表


\d 表名:查看表结构


\du:列出所有用户


\q:退出


查看数据表内容(同mysql):


select * from aa;