现在的位置: 首页 > 综合 > 正文

postgres

2018年09月08日 ⁄ 综合 ⁄ 共 4184字 ⁄ 字号 评论关闭

postgres

ubuntu apt-get 数据源

sudo vim /etc/apt/source.list

# deb cdrom:[Debian GNU/Linux 7.2.0 _Wheezy_ - Official amd64 CD Binary-1 20131012-14:05]/ wheezy main


#deb http://mirrors.163.com/debian/ wheezy main non-free contrib
#deb-src http://mirrors.163.com/debian/ wheezy main non-free contrib


deb http://mirrors.sohu.com/debian/ stable contrib main non-free
deb-src http://mirrors.sohu.com/debian/ stable contrib main non-free




deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free


# wheezy-updates, previously known as 'volatile'
#deb http://mirrors.163.com/debian/ wheezy-updates main contrib non-free
#deb-src http://mirrors.163.com/debian/ wheezy-updates main contrib non-free

修改dns:

sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)

在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4

如果有多个DNS就一行一个

修改好保存,然后执行
sudo resolvconf -u

再看/etc/resolv.conf,最下面就多了2行:

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4

可以看到我们的设置已经加上了,然后再ping一个域名,当时就可以解析了,无需重启。

ping baidu.com

安装

下载postgresql最新版:http://www.postgresql.org/ftp/source/

安装前检查系统所依赖的包 
dpkg -l 

安装依赖包 
apt-get install libxml2 
apt-get install libxml2-dev 
apt-get install libxml2-libxslt 
apt-get install libxml2-dev 
apt-get install libxslt1-dev 
apt-get install libossp-uuid-dev 
apt-get install gettext 
apt-get install python-dev 
apt-get install libperl-dev 

apt-get install libreadline-dev 
apt-get install libtool 

nk.conf 内容 
/srv/.soft/postgresql/postgresql-9.2.4 # less ../nk.conf 
./configure --prefix=/srv/pgsql92 \ 
--enable-nls \ 
--enable-depend \ 
--with-perl \ 
--with-python \ 
--with-openssl \ 
--with-ossp-uuid \ 
--with-libxml \ 
--with-libxslt 

安装pgsql 
cd /srv/.soft/postgresql/postgresql-9.2.4 
sh ../nk.conf   # or  ( sh ./configure --prefix=/srv/pgsql935)

make 
make install 
groupadd pgsql 
useradd -g pgsql pgsql 

mkdir /srv/pgdata92 
[or mkdir /srv/pgsql92/data] 

cd /srv/pgsql92 
chown pgsql.pgsql data 
[or chown pgsql.pgsql -R /srv/pgsql92/] 
cd /srv/ 
chown pgsql.pgsql -R pgsq92/ 
chown pgsql.pgsql -R pgdata92/ 

su - pgsql 
/srv/pgsql92/bin/initdb -D /srv/pgdata92 #数据库初始化 
[or /srv/pgsql92/bin/initdb -D /srv/pgsql92/data] 

Success. You can now start the database server using:

    /srv/pgsql935/bin/postgres -D /srv/pgdata935
or
    /srv/pgsql935/bin/pg_ctl -D /srv/pgdata935 -l logfile start

/srv/pgsql92/bin/pg_ctl -D /srv/pgdata92 start #启动数据库 

服务管理脚本 

cd /srv/pgsql92/bin 
vim server_ctl.sh 
#!/bin/bash 
#cd /srv/pgsql92/bin 
#su pgsql -c "/srv/pgsql92/bin/pg_ctl -D /srv/pgsql92/data/ -l /srv/pgsql92/log/pgsql.log $1" 

chown -R pgsql:pgsql /srv/logs/pgsql92 
cd /srv/pgsql92/bin 
su pgsql -c "/srv/pgsql92/bin/pg_ctl -D /srv/pgdata92 $1" 

chmod 755 server_ctl.sh 
./server_ctl.sh start 

====================================================

数据库管理

连接数据库, 默认的用户和数据库是postgres
psql -U user -d dbname

切换数据库,相当于mysql的use dbname
\c dbname
列举数据库,相当于mysql的show databases
\l
列举表,相当于mysql的show tables
\dt
查看表结构,相当于desc tblname,show columns from tbname
\d tblname

\di 查看索引 

创建数据库: 
create database [数据库名]; 
删除数据库: 
drop database [数据库名];  
*重命名一个表: 
alter table [表名A] rename to [表名B]; 
*删除一个表: 
drop table [表名]; 

ps aux | grep postgres

psql postgres

数据备份还原

数据还原
bunzip2 -c huafei3_development.bz2 | psql <OPTIONS> template1

备份:
pg_dump -h qa.fun-guide.mobi -U pgsql huafei_development > huafeibak.out
psql -h localhost -U postgres -d huafei_development < huafeibak.out

http://my.oschina.net/zhao/blog/55071

桥接连接登陆

桥接


bjv1db tunnel


Host bjv1db
  HostName 119.90.35.166
  User root
  Port 1022
  identityfile ~/.ssh/funguide key
  ServerAliveInterval 10
  LocalForward 5435 localhost:5432
  localForward 本地端口 远端端口

连接表同时常见一个 接口

huafei_state(master) ✗: ruby 话费报表统计.rb > /tmp/0428.csv




discount_service(test_production): ssh -vvv -N -L 5433/192.168.0.132/6435 -p 6521 menxu@211.95.79.214

超级用户密码丢失, 卸载重新安装

rm -rf /usr/local/var/postgres
rm -rf /usr/local/opt/postgresql
rm -rf /usr/local/bin/postgres 
rm -rf /usr/local/Cellar/postgresql 
rm -rf /usr/local/share/postgresql
rm -rf /usr/local/include/postgres_ext.h
brew uninstall postgresql

brew install postgresql 
brew unlink postgresql
brew link --overwrite postgresql
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
createuser -s -r postgres
psql -U postgres
ALTER USER menxu WITH PASSWORD '';
~: su menxu 系统用户和数据库用户是分开的
Password:
/Users/menxu/.rvm/scripts/initialize:44: __rvm_cleanse_variables: function definition file not found
/Users/menxu/.rvm/scripts/initialize:46: command not found: rvm_error
应该是用这种方式登陆用户不会运行shell的设置脚本

抱歉!评论已关闭.