MAC的PostgreSQL数据库的基本操作

MAC的PostgreSQL数据库的基本操作
PostgreSQL
武汉一高校被下达窃电通知书安装
炫苦哥安装
brew install postgresql -v
初始配置PostgreSQL,
指定 “/usr/local/var/postgres” 为 PostgreSQL 的配置数据存放⽬录,并且设置数据库数据编码是 utf8,更多配置信息可以 “initdb --help” 查看
initdb /usr/local/var/postgres -E utf8
设成开机启动PostgreSQL
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/l.postgresql.plist
启动
pg_ctl -D ``/usr/local/var/postgres``-l ``/usr/local/var/postgres/server``.log start
关闭
pg_ctl -D /usr/local/var/postgres stop -s -m fast
上网电价
操作
创建⼀个PostgreSQL⽤户
createuser username -P
上⾯的username是⽤户名。
创建数据库
createdb dbname -O username -E UTF8 -e
上⾯创建了⼀个名为 dbname 的数据库,并指定 username 为改数据库的拥有者(owner),数据库的编码(encoding)是 UTF8,参数 “-e” 是指把数据库执⾏操作的命令显⽰出来。非你莫属20120101
连接数据库
psql -U username -d dbname -h 127.0.0.1
PostgreSQL数据库操作
显⽰已创建的数据库 \l
在不连接进PostgreSQL数据库的情况下,也可以在终端上查看已创建的列表 psql -l
连接数据库 \c dbname
显⽰数据库。 \d
创建⼀个名为test的表。 CREATE TABLE test(id int ,text VARCHAR(50));
插⼊⼀条记录。 INSERT INTO test(id,text) VALUES(1,‘ASDASDSDA’);
查询记录。 SELECT * FROM test WHERE id = 1;
更新记录. UPDATE test SET text = ‘sadasdas’ where id = 1;
删除指定记录DELETE FROM test WHERE id = 1;
删除表DROP TABLE test
删除数据库DROP DATABASE dynamo
PostgreSQL 9.2 版本升级到 9.3.1 版本后的数据兼容问题
连接 PostgreSQL 时报以下错误:
`psql: could not connect to server: Connection refused``Is the server running on host "127.0.0.1" and accepting``TCP/IP connections on port 5432?`
打开 PostgreSQL 的服务⽇志发现是 PostgreSQL 9.2 版本升级到 9.3.1 版本后的数据兼容问题:
纪念辛亥革命110周年大会tail -f /usr/local/var/postgres/server.log``FATAL:  database files are incompatible with server``DETAIL:  The data directory was initialized by PostgreSQL ver sion 9.2, which is not compatible with this version 9.3.1.
对于版本的数据升级问题,PostgreSQL 提供了 来做版本后的数据迁移,⽤法如下:
`pg_upgrade -b 旧版本的bin⽬录 -B 新版本的bin⽬录 -d 旧版本的数据⽬录 -D 新版本的数据⽬录[其他选项...]`
数据迁移前,记得先关闭 PostgreSQL 的 postmaster 服务,不然会报以下错误:
`There seems to be a postmaster servicing the new cluster.``Please shutdown that postmaster and try again.``Failure, exiting`
利⽤ 关闭 postmaster:
北京师范大学文学院`pg_ctl -D /usr/local/var/postgres stop`
Mac 下也可以这样关闭:
`launchctl unload ~/Library/l.postgresql.plist`
⾸先备份旧版本的数据(默认是在 /usr/local/var/postgres ⽬录):
`mv /usr/local/var/postgres /usr/local/var/postgres.old`
利⽤ 命令再初始⼀个数据库⽂件:
`initdb /usr/local/var/postgres -E utf8 --locale=zh_CN.UTF-8`
NOTE:记得加 “–locale=zh_CN.UTF-8” 选项,不然会报以下错误:
`lc_collate cluster values do not match:  old "zh_CN.UTF-8", new "en_US.UTF-8"`
最后运⾏ pg_upgrade 进⾏数据迁移:
`pg_upgrade -b /usr/local/Cellar/postgresql/9.2.4/bin/ -B /usr/local`

本文发布于:2024-09-22 22:38:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/144615.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据库   数据   创建
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议