如何查看postgresql导出数据库数据库日志

postgresql数据库_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
postgresql数据库
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢PostgreSQL数据库介绍_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
PostgreSQL数据库介绍
P​o​s​t​g​r​e​S​Q​L​数​据​库​介​绍
大小:732.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢2869人阅读
1.log日志配置PostgreSQL的系统日志和报错日志等,默认是直接输出了,没有写入到文件,如果你希望能查看这些日志,需要修改postgresql.conf,如下:
log_destination = &stderr&logging_collector = onlog_directory = &pg_log&log_min_duration_statement = 5000
上面这些参数的意思就是,把pgsql的日志到输出到pgsql数据目录的pg_log目录下,同时超过5000毫秒的操作将记录。
&2.用户认证和监听
PostgreSQL的用户认证是通过pg_hba.conf来设置,默认都是trust,即本地帐户能直接登录。显然不安全,你可修改如下:
# &local& is for Unix domain socket connections onlylocal&& all&&&&&&&& all&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& md5# IPv4 local connections:host&&& all&&&&&&&& all&&&&&&&& 127.0.0.1/32&&&&&&&&&&& md5host&&& all&&&&&&&& all&&&&&&&& 192.168.1.0/24&&&&&&&&& md5
上面这些参数的意思是,本地连接pgsql需要密码md5认证,192.168.1.xx 网段允许连接,密码也需要通过md5认证。如果需要从其他客户端连接,还需要修改postgresql.conf的liston_addresses参数,这个参数和oracle的监听的作用类似。listen_addresses = &*&
3.密码文件
通过2设置成md5验证后,虽然在安全方面有了提高,但是同时会造成一些麻烦,比如你的shell脚本需要使用psql能直接连接,这种情况你可以使用密码文件。通过在用户的根目录下,创建一个.pgpass文件。并将权限设置为0600。
文件的格式如下:hostname:port:database:username:password
4.psql常用容易混淆的命令
通过psql登录到PostgreSQL,有些命令可能和其他数据库有些区别,这里和mysql对比下,介绍几个你很可能搞混的命令:pgsql&&&&&&&&&&&& mysql/c&&&&&&&&&&&&&&& use/q&&&&&&&&&&&&&&& quit/d&&&&&&&&&&&&&&& desc
5.系统参数配置
PostgreSQL在安装的时候,并没有要求修改系统默认配置,那是因为其默认的内存等参数很小,不会超过系统的默认配置。例如你加大shared_buffers等参数的值时,基本都会超过默认系统参数。这时你需要修改这些配置编辑 /etc/sysctl.conf,加入以下内容:kernel.shmall = 3145728kernel.shmmax = kernel.shmmni = 4096kernel.sem = 250 8fs.file-max = 65536net.ipv4.ip_local_port_range = net.core.rmem_default = 262144net.core.rmem_max = 262144net.core.wmem_default = 262144net.core.wmem_max = 262144存盘退出后运行这个指令检查是否设置正确:#sysctl -p
6.过程语言PostgreSQL的存储过程和函数统一就叫function,当然传统意思上存储过程和函数的区别也就是,一个必须返回值,一个不需要。目前在标准的 PostgreSQL 发布里有四种过程语言可用:PL/pgSQL,PL/Tcl,PL/Perl,PL/Python。默认是没有安装的,例如你需要安装CREATE [TRUSTED] [PROCEDURAL] LANGUAGE &language-name&&&& HANDLER handler_function_name&&& [VALIDATOR validator_function_name] ;
7.autovacuum
vacuum命令类似于Mysql里的optimize等命令,当对大表进行这样的操作,需要注意对业务的影响,应该是在业务比较空闲的时候进行。从 PostgreSQL 8.1 开始,系统带有一个额外可选的 autovacuum 守护进程,用于自动执行 VACUUM 和 ANALYZE 命令。可以在postgresql.conf里进行配置。
8.获得对象创建语句
Oracle:select dbms_metadata.get_ddl(&OBJECT_TYPE&,'OBJECT_NAME&,'OWNER&)
Mysql:show create OBJECT OBJECT_NAME;
PostgreSQL获得对象创建语句比较折腾,需要分别处理。8.1 表貌似只能用 pg_dump 导出来,例如导出test数据库的t1表的结构pg_dump -s -U test -t t1
8.2 过程和函数pg_get_functiondef(oid)
8.3 触发器pg_get_triggerdef(oid)
8.4 索引pg_get_indexdef(oid)
8.5 视图pg_get_viewdef(oid)
oid可以通过相应的系统表查出来,例如function可在pg_proc查到,注意oid是个隐藏列。
9.database、schema、objects
在PostgreSQL里的database和Mysql里的database不一样,它有点和Oracle的实例类似,每个database之间是独立的,在database和object之间
还有个schema。每个database可以创建多个schema,每个shcema又可以创建多个object。下列简单列出之间的关系:
PostgreSQL: database&shcma&objectMysql&&&& : database&objectOracle&&& : instance&schema&object&
10.pg_dump和pg_dumpall
这2个工具的区别在于一个是备份单个database,一个备份所有的database。用惯了mysqldump,pg_dumpall很容易被忽略,为何不把这2个工具集成到一个呢?
总的来说,个人觉得PostgreSQL很多方面和Oracle是比较相似的,特别多进程的方式,相比Mysql来说要健壮的多。不过国内的PostgreSQL应用貌似很少,相关中文的资料也不多。一般来说java对应oracle,php对应mysql,python对应postgresql,是否能说python在国内的普及还是很不够呢?
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:657372次
积分:9122
积分:9122
排名:第876名
原创:233篇
转载:98篇
评论:228条postgresql的日志文件是在那里怎么看的_百度作业帮
postgresql的日志文件是在那里怎么看的
postgresql的日志文件是在那里怎么看的
您好,很高兴为您解答.主要需要修改的参数如下,参数修改完毕后重启服务,重新连接数据库,对其操作即可查看日志变化情况.# - When to Log -client_min_messages = info#client_min_messages = notice
# values in order of decreasing detail:
error log_min_messages = info#log_min_messages = warning
# values in order of decreasing detail:
panic log_min_error_statement = info#log_min_error_statement = error
# values in order of decreasing detail:
panic (effectively off) #log_min_duration_statement = -1
# -1 is disabled, 0 logs all statements
# and their durations, > 0 logs only
# statements running at least this number
# of milliseconds # - What to Log -#debug_print_parse = off#debug_print_rewritten = off#debug_print_plan = off#debug_pretty_print = on#log_checkpoints = offlog_connections = onlog_disconnections = on#log_duration = offlog_error_verbosity = verbose
# terse, default, or verbose messages#log_hostname = offlog_line_prefix = '%a %u %d %h %t %i %e '
# special values:
%a = application name
%u = user name
%d = database name
%r = remote host and port(this is a os port)
%h = remote host
%p = process ID
%t = timestamp without milliseconds
%m = timestamp with milliseconds
%i = command tag
%e = SQL state
%c = session ID
%l = session line number
%s = session start timestamp
%v = virtual transaction ID
%x = transaction ID (0 if none)
%q = stop here in non-session
# e.g. ' '#log_lock_waits = off
# log lock waits >= deadlock_timeoutlog_statement = 'all'
# none, ddl, mod, all#log_temp_files = -1
# log temporary files equal or larger
# than the specified size in
# -1 disables, 0 logs all temp fileslog_timezone = 'Asia/Hong_Kong'如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~}

我要回帖

更多关于 postgresql创建数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信