postgresql的用法(转载加学习)
来源:互联网 发布:做生日贺卡的软件 编辑:程序博客网 时间:2024/06/08 20:02
中国官方的使用文档:http://doc.zzbaike.com/postgresql/8-1/pgsqldoc-cvs/tutorial-createdb.html
网友的经验如下文所示:http://blog.sina.com.cn/s/blog_55f710ae01009lgk.html
1.需要启动postgresql服务:service postgresql start。这时可能需要sudo权限
2、initdb -D /usr/lib/pgsql/data 创建数据库集群(用文件系统的术语来说,一个数据库集群将是一个目录,所有数据都将存放在这个目录中。)
本机的目录保存在下面:/home/wxd/pgsql
然后切换成操作数据库的超级用户:su postgres
3.进入数据库的方法是:psql <dbname>
改密码:
Linux下,
user$ sudo passwd postgres
输入新的UNIX密码:
请再次输入一遍:
密码成功更改!
user$
(用文件系统的术语来说,一个数据库集群将是一个目录,所有数据都将存放在这个目录中。)
运行结果如下:
警告: 为本地连接启动了 "trust" 认证.
你可以通过编辑 pg_hba.conf 更改或你下
次运行 initdb 时使用 -A 选项.
Success. You can now start the database server using:
postmaster -D data
or
pg_ctl -D data -l logfile start
3、用postgres超级用户登陆,添加postsql的role权限:
createuser postsql
4、如果不是使用postsql用户登陆的,或者在其他机器登陆的用户,可以ssh到这台机器上:
ssh postsql@ip
5、执行 createdb my_test 新建my_test数据库
6、psql my_test,进入该数据库
7、create table my_first_table (
my_test(# name text,
my_test(# id integer
my_test(# )
my_test-# ;
添加新表。之后可以使用\d来查看当前数据库的表,\d tablename来查看表结构。
8、简单的存储过程例子:
first_empress=# CREATE FUNCTION insert_tag(text) returns bool as '
first_empress'# DECLARE
first_empress'# tag alias for $1;
first_empress'# BEGIN
first_empress'# insert into tags (title) values (tag);
first_empress'# return true;
first_empress'# end;
first_empress'# '
first_empress-# language plpgsql;
9、远程登陆postgresql:
开始的时候data/pg_hba.conf下的配置为:
# "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
data/postgresql.conf下的配置为:
#listen_addresses = 'localhost' # what IP address(es) to listen on;
我远程连接的时候 psql -h server-ip -U postsql test -W,总是连接出错:
psql: could not connect to server: 连接超时
Is the server running on host "10.129.62.97" and accepting
TCP/IP connections on port 5432?
而我本机使用使用postsql用户,psql test的时候是可以连接上去的。
尝试在本机使用psql -h server-ip -U postsql test -W也出错:
psql: 致命错误: 没有用于主机 "10.129.62.97", 用户 "postsql", 数据库 "test", SSL 关闭 的 pg_hba.conf 记录
这时,在pg_hda中添加了了:
# IPv4 local connections:
host all all 10.129.62.97/32 trust
并在postgresql.conf中添加了
#listen_addresses = 'localhost' # what IP address(es) to listen on;
listen_addresses = '*' # what IP address(es) to listen on;
port = 5432
重新加载: pg_ctl -D /usr/lib/pgsql/data reload
再次使用psql -h server-ip -U postsql test -W连接正确。
再次在远程尝试连接,依旧有问题。尝试ping该server,ping不通。
考虑到我的server是作为虚拟机安装在windows下的,可能是由于windows的原因?
但是使用echo 0 /proc/sys/net/ipv4/icmp_echo_ignore_all打开server的ping服务,并将windows防火墙的ICMP设置中的“允许传入回显请求”打开,ping该windows也ping不通,ping server也不通。但是用server ping该windows可以ping成功。
10、可以将存储过程写在文本文件中aaa.sql,然后在psql状态下,\i aaa.sql导入。
\df查看所有存储过程(函数)
\df+ name 查看某一存储过程
- postgresql的用法(转载加学习)
- 转载:PostgreSQL的分区表
- 转载:PostgreSQL的小技巧
- PostgreSQL+PostGIS的使用(转载)
- 学习J2ME编程需要掌握的七种技术(转载加自测)
- 数据库学习笔记---connect by的简单用法(转载)
- oracle数据库移植到postgresql数据库的注意事项(转载)
- 转载:PostgreSQL学习手册(四) 常用数据类型
- 转载:PostgreSQL学习手册(七) 事物隔离
- 转载:PostgreSQL学习手册(六) 索引
- 转载:PostgreSQL学习手册(性能提升技巧)
- PostgreSql中COPY的用法
- volatile的用法(转载)
- setXORMode的用法 (转载)
- typedef 的用法(转载)
- TListView的用法(转载)
- (转载)fstream的用法
- ListView 的用法(转载)
- IOSIG学习笔记1
- 如何测试洗牌程序
- sqlalchemy.exc.OperationalError: (OperationalError) could not connect to server: Connection refused
- DOM08---节点的增加,删除,替换,克隆
- Altium Designer 总结3
- postgresql的用法(转载加学习)
- 绝缘栅型场效应管
- gstreamer 在visual studio 中环境搭建记录
- 软测第五次实验结果
- 减去脂肪,轻身上阵 (zz)
- 致我已经逝去的青春
- 康乃笔记法---5R笔记法
- Unix/Linux编程之size_t、ssize_t
- C#网络编程之客户端编程与服务端的一般步骤(8)