
Linux运行sql脚本的具体 *** 作步骤如下:
1、使用shell工具登陆到安装postgresql的服务器,切换到postgres用户,postgresql默认的 *** 作用户,命令是:su - postgres,查看当前路径是/var/lib/psql,创建一个test.sql脚本文件,命令是:vim test.sql。
2、sql脚本内容是:create table test (id int not null primary key,name text)insert into test valus(1, 't1')
3、执行test.sql脚本,命令是:psql -f test.sql
这里是因为postgresql安装本机上,在第一步中我们切换到了postgres用户,因此这里默认就是postgres用户来 *** 作,不用带上用户名和密码。执行结果如下,可以看到有两个提示:
create table
insert 0 1
执行完成后,我们登入数据库,命令是:psql
4、进入psql交互式命令行后,我们执行两个查看命令:\d
可以看到表test确实已经创建成功,然后执行命令:\d test
可以看到表中字段是id和name,和我们创建语句中内容一样,说明第一条语句执行成功。
5、查看表中数据,命令是:select * from test
显示出来的值是1,t1,说明第二条执行语句也执行成功,说明test.sql脚本执行成功。
6、默认是postgres用户,本机 *** 作是,不需要用户和密码,现在我们来试试 *** 作远程linux服务器上的postgresql,也就是说执行本地的脚本文件,在远程服务器上创建表。如下面图中所示,命令是:psql -U test1 -h 192.168.1.194 -f test.sql,输入对应用户的密码。
7、登陆到这个远程服务器上,命令是:psql -U test -h 192.168.194
执行查看命令:\d,\d test
最后查询数据库:select * from test结果和上面都一致。
Linux下PostgreSQL数据库服务启动后自动停止的原因可能有很多,下面是一些可能的解决方案:检查日志:在/var/log/postgresql/目录下查看日志文件,看是否有任何错误或异常信息。
检查配置文件:检查/etc/postgresql/版本号/main/postgresql.conf配置文件,确保所有配置都正确。
检查内存和硬盘空间:确保服务器上有足够的内存和硬盘空间来运行PostgreSQL服务器
不考虑系统版本、安装的系统是不是最小化安装、pgsql版本等问题,那么正常应该是下面的安装方法就可以成功的,如果想可以远程连接,则要在防火墙里开放端口5432。三、安装PostgreSQL
# cd /usr/local/src/
# tar zxf postgresql-9.2.4.tar.gz
# cd postgresql-9.2.4
# ./configure --prefix=/usr/local/pgsql
# make
# make install
//和mysql一样建立组和用户
# groupadd postgres
# useradd -g postgres postgres
//给pgsql创建一个数据库的文件夹
# mkdir /usr/local/pgsql/data
//设置data文件夹属于哪个用户
# chown postgres:postgres /usr/local/pgsql/data
//切换到postgres用户
# su - postgres
//生成数据库
$ /usr/local/pgsql/bin/initdb --encoding=UTF-8 --no-locale -D /usr/local/pgsql/data
$ exit
//复制启动文件
# cp /usr/local/src/postgresql-9.2.4/contrib/start-scripts/linux /etc/init.d/postgresql
//设置开机启动
# chmod 755 /etc/init.d/postgresql
# chkconfig --add postgresql
# chkconfig postgresql on
# /etc/init.d/postgresql start
//修改配置文件
# vim /usr/local/pgsql/data/postgresql.conf
listen_addresses = '*' //是否允许其他计算机访问
port = 5432 //通过哪个端口访问
//这个网上查说是身份验证,大概就是要不要加密里之类的吧,没具体查过。
这里要注意,你的ip是ipv4还是ipv6,写到相应的条目下面,不要写错了。
另:如果复制粘贴的话有时候会出错,原因未知。建议自己手写。
# vim /usr/local/pgsql/data/pg_hba.conf
hostall all 0.0.0.00.0.0.0 trust
# /etc/init.d/postgresql restart
//看看能否正常进入postgreSQL
# /usr/local/pgsql/bin/psql -U postgres -W
# \q
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)