免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 11786 | 回复: 2
打印 上一主题 下一主题

求助:AIX 7.1 上编译安装 postgresql 9.3.1 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-17 10:25 |只看该作者 |倒序浏览
编译安装通过了,但是执行初始化的时候出错了。

initdb -D${HOME}/data

错误信息如下:
  1. The files belonging to this database system will be owned by user "test".
  2. This user must also own the server process.

  3. The database cluster will be initialized with locale "en_US".
  4. The default database encoding has accordingly been set to "LATIN1".
  5. The default text search configuration will be set to "english".

  6. Data page checksums are disabled.

  7. fixing permissions on existing directory /home/zprogctl/data ... ok
  8. creating subdirectories ... ok
  9. selecting default max_connections ... 100
  10. selecting default shared_buffers ... 128MB
  11. creating configuration files ... ok
  12. creating template1 database in /home/zprogctl/data/base/1 ... ok
  13. initializing pg_authid ... ok
  14. initializing dependencies ... ok
  15. creating system views ... FATAL:  column "?column?" specified more than once
  16. STATEMENT:  /*
  17.          * PostgreSQL System Views
  18.          *
  19.          * Copyright (c) 1996-2013, PostgreSQL Global Development Group
  20.          *
  21.          * src/backend/catalog/system_views.sql
  22.          */

  23.         CREATE VIEW pg_roles AS
  24.             SELECT
  25.                 rolname,
  26.                 rolsuper,
  27.                 rolinherit,
  28.                 rolcreaterole,
  29.                 rolcreatedb,
  30.                 rolcatupdate,
  31.                 rolcanlogin,
  32.                 rolreplication,
  33.                 rolconnlimit,
  34.                 '********'::text as rolpassword,
  35.                 rolvaliduntil,
  36.                 setconfig as rolconfig,
  37.                 pg_authid.oid
  38.             FROM pg_authid LEFT JOIN pg_db_role_setting s
  39.             ON (pg_authid.oid = setrole AND setdatabase = 0);

  40.         CREATE VIEW pg_shadow AS
  41.             SELECT
  42.                 rolname AS usename,
  43.                 pg_authid.oid AS usesysid,
  44.                 rolcreatedb AS usecreatedb,
  45.                 rolsuper AS usesuper,
  46.                 rolcatupdate AS usecatupd,
  47.                 rolreplication AS userepl,
  48.                 rolpassword AS passwd,
  49.                 rolvaliduntil::abstime AS valuntil,
  50.                 setconfig AS useconfig
  51.             FROM pg_authid LEFT JOIN pg_db_role_setting s
  52.             ON (pg_authid.oid = setrole AND setdatabase = 0)
  53.             WHERE rolcanlogin;

  54.         REVOKE ALL on pg_shadow FROM public;

  55.         CREATE VIEW pg_group AS
  56.             SELECT
  57.                 rolname AS groname,
  58.                 oid AS grosysid,
  59.                 ARRAY(SELECT member FROM pg_auth_members WHERE roleid = oid) AS grolist
  60.             FROM pg_authid
  61.             WHERE NOT rolcanlogin;

  62.         CREATE VIEW pg_user AS
  63.             SELECT
  64.                 usename,
  65.                 usesysid,
  66.                 usecreatedb,
  67.                 usesuper,
  68.                 usecatupd,
  69.                 userepl,
  70.                 '********'::text as passwd,
  71.                 valuntil,
  72.                 useconfig
  73.             FROM pg_shadow;

  74.         CREATE VIEW pg_rules AS
  75.             SELECT
  76.                 N.nspname AS schemaname,
  77.                 C.relname AS tablename,
  78.                 R.rulename AS rulename,
  79.                 pg_get_ruledef(R.oid) AS definition
  80.             FROM (pg_rewrite R JOIN pg_class C ON (C.oid = R.ev_class))
  81.                 LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  82.             WHERE R.rulename != '_RETURN';

  83.         CREATE VIEW pg_views AS
  84.             SELECT
  85.                 N.nspname AS schemaname,
  86.                 C.relname AS viewname,
  87.                 pg_get_userbyid(C.relowner) AS viewowner,
  88.                 pg_get_viewdef(C.oid) AS definition
  89.             FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  90.             WHERE C.relkind = 'v';

  91.         CREATE VIEW pg_tables AS
  92.             SELECT
  93.                 N.nspname AS schemaname,
  94.                 C.relname AS tablename,
  95.                 pg_get_userbyid(C.relowner) AS tableowner,
  96.                 T.spcname AS tablespace,
  97.                 C.relhasindex AS hasindexes,
  98.                 C.relhasrules AS hasrules,
  99.                 C.relhastriggers AS hastriggers
  100.             FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  101.                  LEFT JOIN pg_tablespace T ON (T.oid = C.reltablespace)
  102.             WHERE C.relkind = 'r';

  103.         CREATE VIEW pg_matviews AS
  104.             SELECT
  105.                 N.nspname AS schemaname,
  106.                 C.relname AS matviewname,
  107.                 pg_get_userbyid(C.relowner) AS matviewowner,
  108.                 T.spcname AS tablespace,
  109.                 C.relhasindex AS hasindexes,
  110.                 C.relispopulated AS ispopulated,
  111.                 pg_get_viewdef(C.oid) AS definition
  112.             FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  113.                  LEFT JOIN pg_tablespace T ON (T.oid = C.reltablespace)
  114.             WHERE C.relkind = 'm';

  115.         CREATE VIEW pg_indexes AS
  116.             SELECT
  117.                 N.nspname AS schemaname,
  118.                 C.relname AS tablename,
  119.                 I.relname AS indexname,
  120.                 T.spcname AS tablespace,
  121.                 pg_get_indexdef(I.oid) AS indexdef
  122.             FROM pg_index X JOIN pg_class C ON (C.oid = X.indrelid)
  123.                  JOIN pg_class I ON (I.oid = X.indexrelid)
  124.                  LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  125.                  LEFT JOIN pg_tablespace T ON (T.oid = I.reltablespace)
  126.             WHERE C.relkind IN ('r', 'm') AND I.relkind = 'i';

  127.         CREATE VIEW pg_stats AS
  128.             SELECT
  129.                 nspname AS schemaname,
  130.                 relname AS tablename,
  131.                 attname AS attname,
  132.                 stainherit AS inherited,
  133.                 stanullfrac AS null_frac,
  134.                 stawidth AS avg_width,
  135.                 stadistinct AS n_distinct,
  136.                 CASE
  137.                     WHEN stakind1 = 1 THEN stavalues1
  138.                     WHEN stakind2 = 1 THEN stavalues2
  139.                     WHEN stakind3 = 1 THEN stavalues3
  140.                     WHEN stakind4 = 1 THEN stavalues4
  141.                     WHEN stakind5 = 1 THEN stavalues5
  142.                 END AS most_common_vals,
  143.                 CASE
  144.                     WHEN stakind1 = 1 THEN stanumbers1
  145.                     WHEN stakind2 = 1 THEN stanumbers2
  146.                     WHEN stakind3 = 1 THEN stanumbers3
  147.                     WHEN stakind4 = 1 THEN stanumbers4
  148.                     WHEN stakind5 = 1 THEN stanumbers5
  149.                 END AS most_common_freqs,
  150.                 CASE
  151.                     WHEN stakind1 = 2 THEN stavalues1
  152.                     WHEN stakind2 = 2 THEN stavalues2
  153.                     WHEN stakind3 = 2 THEN stavalues3
  154.                     WHEN stakind4 = 2 THEN stavalues4
  155.                     WHEN stakind5 = 2 THEN stavalues5
  156.                 END AS histogram_bounds,
  157.                 CASE
  158.                     WHEN stakind1 = 3 THEN stanumbers1[1]
  159.                     WHEN stakind2 = 3 THEN stanumbers2[1]
  160.                     WHEN stakind3 = 3 THEN stanumbers3[1]
  161.                     WHEN stakind4 = 3 THEN stanumbers4[1]
  162.                     WHEN stakind5 = 3 THEN stanumbers5[1]
  163.                 END AS correlation,
  164.                 CASE
  165.                     WHEN stakind1 = 4 THEN stavalues1
  166.                     WHEN stakind2 = 4 THEN stavalues2
  167.                     WHEN stakind3 = 4 THEN stavalues3
  168.                     WHEN stakind4 = 4 THEN stavalues4
  169.                     WHEN stakind5 = 4 THEN stavalues5
  170.                 END AS most_common_elems,
  171.                 CASE
  172.                     WHEN stakind1 = 4 THEN stanumbers1
  173.                     WHEN stakind2 = 4 THEN stanumbers2
  174.                     WHEN stakind3 = 4 THEN stanumbers3
  175.                     WHEN stakind4 = 4 THEN stanumbers4
  176.                     WHEN stakind5 = 4 THEN stanumbers5
  177.                 END AS most_common_elem_freqs,
  178.                 CASE
  179.                     WHEN stakind1 = 5 THEN stanumbers1
  180.                     WHEN stakind2 = 5 THEN stanumbers2
  181.                     WHEN stakind3 = 5 THEN stanumbers3
  182.                     WHEN stakind4 = 5 THEN stanumbers4
  183.                     WHEN stakind5 = 5 THEN stanumbers5
  184.                 END AS elem_count_histogram
  185.             FROM pg_statistic s JOIN pg_class c ON (c.oid = s.starelid)
  186.                  JOIN pg_attribute a ON (c.oid = attrelid AND attnum = s.staattnum)
  187.                  LEFT JOIN pg_namespace n ON (n.oid = c.relnamespace)
  188.             WHERE NOT attisdropped AND has_column_privilege(c.oid, a.attnum, 'select');

  189.         REVOKE ALL on pg_statistic FROM public;

  190.         CREATE VIEW pg_locks AS
  191.             SELECT * FROM pg_lock_status() AS L;

  192.         CREATE VIEW pg_cursors AS
  193.             SELECT * FROM pg_cursor() AS C;

  194.         CREATE VIEW pg_available_extensions AS
  195.             SELECT E.name, E.default_version, X.extversion AS installed_version,
  196.                    E.comment
  197.               FROM pg_available_extensions() AS E
  198.                    LEFT JOIN pg_extension AS X ON E.name = X.extname;

  199.         CREATE VIEW pg_available_extension_versions AS
  200.             SELECT E.name, E.version, (X.extname IS NOT NULL) AS installed,
  201.                    E.superuser, E.relocatable, E.schema, E.requires, E.comment
  202.               FROM pg_available_extension_versions() AS E
  203.                    LEFT JOIN pg_extension AS X
  204.                      ON E.name = X.extname AND E.version = X.extversion;

  205.         CREATE VIEW pg_prepared_xacts AS
  206.             SELECT P.transaction, P.gid, P.prepared,
  207.                    U.rolname AS owner, D.datname AS database
  208.             FROM pg_prepared_xact() AS P
  209.                  LEFT JOIN pg_authid U ON P.ownerid = U.oid
  210.                  LEFT JOIN pg_database D ON P.dbid = D.oid;

  211.         CREATE VIEW pg_prepared_statements AS
  212.             SELECT * FROM pg_prepared_statement() AS P;

  213.         CREATE VIEW pg_seclabels AS
  214.         SELECT
  215.                 l.objoid, l.classoid, l.objsubid,
  216.                 CASE WHEN rel.relkind = 'r' THEN 'table'::text
  217.                          WHEN rel.relkind = 'v' THEN 'view'::text
  218.                          WHEN rel.relkind = 'm' THEN 'materialized view'::text
  219.                          WHEN rel.relkind = 'S' THEN 'sequence'::text
  220.                          WHEN rel.relkind = 'f' THEN 'foreign table'::text END AS objtype,
  221.                 rel.relnamespace AS objnamespace,
  222.                 CASE WHEN pg_table_is_visible(rel.oid)
  223.                      THEN quote_ident(rel.relname)
  224.                      ELSE quote_ident(nsp.nspname) || '.' || quote_ident(rel.relname)
  225.                      END AS objname,
  226.                 l.provider, l.label
  227.         FROM
  228.                 pg_seclabel l
  229.                 JOIN pg_class rel ON l.classoid = rel.tableoid AND l.objoid = rel.oid
  230.                 JOIN pg_namespace nsp ON rel.relnamespace = nsp.oid
  231.         WHERE
  232.                 l.objsubid = 0
  233.         UNION ALL
  234.         SELECT
  235.                 l.objoid, l.classoid, l.objsubid,
  236.                 'column'::text AS objtype,
  237.                 rel.relnamespace AS objnamespace,
  238.                 CASE WHEN pg_table_is_visible(rel.oid)
  239.                      THEN quote_ident(rel.relname)
  240.                      ELSE quote_ident(nsp.nspname) || '.' || quote_ident(rel.relname)
  241.                      END || '.' || att.attname AS objname,
  242.                 l.provider, l.label
  243.         FROM
  244.                 pg_seclabel l
  245.                 JOIN pg_class rel ON l.classoid = rel.tableoid AND l.objoid = rel.oid
  246.                 JOIN pg_attribute att
  247.                      ON rel.oid = att.attrelid AND l.objsubid = att.attnum
  248.                 JOIN pg_namespace nsp ON rel.relnamespace = nsp.oid
  249.         WHERE
  250.                 l.objsubid != 0
  251.         UNION ALL
  252.         SELECT
  253.                 l.objoid, l.classoid, l.objsubid,
  254.                 CASE WHEN pro.proisagg = true THEN 'aggregate'::text
  255.                      WHEN pro.proisagg = false THEN 'function'::text
  256.                 END AS objtype,
  257.                 pro.pronamespace AS objnamespace,
  258.                 CASE WHEN pg_function_is_visible(pro.oid)
  259.                      THEN quote_ident(pro.proname)
  260.                      ELSE quote_ident(nsp.nspname) || '.' || quote_ident(pro.proname)
  261.                 END || '(' || pg_catalog.pg_get_function_arguments(pro.oid) || ')' AS objname,
  262.                 l.provider, l.label
  263.         FROM
  264.                 pg_seclabel l
  265.                 JOIN pg_proc pro ON l.classoid = pro.tableoid AND l.objoid = pro.oid
  266.                 JOIN pg_namespace nsp ON pro.pronamespace = nsp.oid
  267.         WHERE
  268.                 l.objsubid = 0
  269.         UNION ALL
  270.         SELECT
  271.                 l.objoid, l.classoid, l.objsubid,
  272.                 CASE WHEN typ.typtype = 'd' THEN 'domain'::text
  273.                 ELSE 'type'::text END AS objtype,
  274.                 typ.typnamespace AS objnamespace,
  275.                 CASE WHEN pg_type_is_visible(typ.oid)
  276.                 THEN quote_ident(typ.typname)
  277.                 ELSE quote_ident(nsp.nspname) || '.' || quote_ident(typ.typname)
  278.                 END AS objname,
  279.                 l.provider, l.label
  280.         FROM
  281.                 pg_seclabel l
  282.                 JOIN pg_type typ ON l.classoid = typ.tableoid AND l.objoid = typ.oid
  283.                 JOIN pg_namespace nsp ON typ.typnamespace = nsp.oid
  284.         WHERE
  285.                 l.objsubid = 0
  286.         UNION ALL
  287.         SELECT
  288.                 l.objoid, l.classoid, l.objsubid,
  289.                 'large object'::text AS objtype,
  290.                 NULL::oid AS objnamespace,
  291.                 l.objoid::text AS objname,
  292.                 l.provider, l.label
  293.         FROM
  294.                 pg_seclabel l
  295.                 JOIN pg_largeobject_metadata lom ON l.objoid = lom.oid
  296.         WHERE
  297.                 l.classoid = 'pg_catalog.pg_largeobject'::regclass AND l.objsubid = 0
  298.         UNION ALL
  299.         SELECT
  300.                 l.objoid, l.classoid, l.objsubid,
  301.                 'language'::text AS objtype,
  302.                 NULL::oid AS objnamespace,
  303.                 quote_ident(lan.lanname) AS objname,
  304.                 l.provider, l.label
  305.         FROM
  306.                 pg_seclabel l
  307.                 JOIN pg_language lan ON l.classoid = lan.tableoid AND l.objoid = lan.oid
  308.         WHERE
  309.                 l.objsubid = 0
  310.         UNION ALL
  311.         SELECT
  312.                 l.objoid, l.classoid, l.objsubid,
  313.                 'schema'::text AS objtype,
  314.                 nsp.oid AS objnamespace,
  315.                 quote_ident(nsp.nspname) AS objname,
  316.                 l.provider, l.label
  317.         FROM
  318.                 pg_seclabel l
  319.                 JOIN pg_namespace nsp ON l.classoid = nsp.tableoid AND l.objoid = nsp.oid
  320.         WHERE
  321.                 l.objsubid = 0
  322.         UNION ALL
  323.         SELECT
  324.                 l.objoid, l.classoid, l.objsubid,
  325.                 'event trigger'::text AS objtype,
  326.                 NULL::oid AS objnamespace,
  327.                 quote_ident(evt.evtname) AS objname,
  328.                 l.provider, l.label
  329.         FROM
  330.                 pg_seclabel l
  331.                 JOIN pg_event_trigger evt ON l.classoid = evt.tableoid
  332.                         AND l.objoid = evt.oid
  333.         WHERE
  334.                 l.objsubid = 0
  335.         UNION ALL
  336.         SELECT
  337.                 l.objoid, l.classoid, 0::int4 AS objsubid,
  338.                 'database'::text AS objtype,
  339.                 NULL::oid AS objnamespace,
  340.                 quote_ident(dat.datname) AS objname,
  341.                 l.provider, l.label
  342.         FROM
  343.                 pg_shseclabel l
  344.                 JOIN pg_database dat ON l.classoid = dat.tableoid AND l.objoid = dat.oid
  345.         UNION ALL
  346.         SELECT
  347.                 l.objoid, l.classoid, 0::int4 AS objsubid,
  348.                 'tablespace'::text AS objtype,
  349.                 NULL::oid AS objnamespace,
  350.                 quote_ident(spc.spcname) AS objname,
  351.                 l.provider, l.label
  352.         FROM
  353.                 pg_shseclabel l
  354.                 JOIN pg_tablespace spc ON l.classoid = spc.tableoid AND l.objoid = spc.oid
  355.         UNION ALL
  356.         SELECT
  357.                 l.objoid, l.classoid, 0::int4 AS objsubid,
  358.                 'role'::text AS objtype,
  359.                 NULL::oid AS objnamespace,
  360.                 quote_ident(rol.rolname) AS objname,
  361.                 l.provider, l.label
  362.         FROM
  363.                 pg_shseclabel l
  364.                 JOIN pg_authid rol ON l.classoid = rol.tableoid AND l.objoid = rol.oid;

  365.         CREATE VIEW pg_settings AS
  366.             SELECT * FROM pg_show_all_settings() AS A;

  367.         CREATE RULE pg_settings_u AS
  368.             ON UPDATE TO pg_settings
  369.             WHERE new.name = old.name DO
  370.             SELECT set_config(old.name, new.setting, 'f');

  371.         CREATE RULE pg_settings_n AS
  372.             ON UPDATE TO pg_settings
  373.             DO INSTEAD NOTHING;

  374.         GRANT SELECT, UPDATE ON pg_settings TO PUBLIC;

  375.         CREATE VIEW pg_timezone_abbrevs AS
  376.             SELECT * FROM pg_timezone_abbrevs();

  377.         CREATE VIEW pg_timezone_names AS
  378.             SELECT * FROM pg_timezone_names();

  379.         -- Statistics views

  380.         CREATE VIEW pg_stat_all_tables AS
  381.             SELECT
  382.                     C.oid AS relid,
  383.                     N.nspname AS schemaname,
  384.                     C.relname AS relname,
  385.                     pg_stat_get_numscans(C.oid) AS seq_scan,
  386.                     pg_stat_get_tuples_returned(C.oid) AS seq_tup_read,
  387.                     sum(pg_stat_get_numscans(I.indexrelid))::bigint AS idx_scan,
  388.                     sum(pg_stat_get_tuples_fetched(I.indexrelid))::bigint +
  389.                     pg_stat_get_tuples_fetched(C.oid) AS idx_tup_fetch,
  390.                     pg_stat_get_tuples_inserted(C.oid) AS n_tup_ins,
  391.                     pg_stat_get_tuples_updated(C.oid) AS n_tup_upd,
  392.                     pg_stat_get_tuples_deleted(C.oid) AS n_tup_del,
  393.                     pg_stat_get_tuples_hot_updated(C.oid) AS n_tup_hot_upd,
  394.                     pg_stat_get_live_tuples(C.oid) AS n_live_tup,
  395.                     pg_stat_get_dead_tuples(C.oid) AS n_dead_tup,
  396.                     pg_stat_get_last_vacuum_time(C.oid) as last_vacuum,
  397.                     pg_stat_get_last_autovacuum_time(C.oid) as last_autovacuum,
  398.                     pg_stat_get_last_analyze_time(C.oid) as last_analyze,
  399.                     pg_stat_get_last_autoanalyze_time(C.oid) as last_autoanalyze,
  400.                     pg_stat_get_vacuum_count(C.oid) AS vacuum_count,
  401.                     pg_stat_get_autovacuum_count(C.oid) AS autovacuum_count,
  402.                     pg_stat_get_analyze_count(C.oid) AS analyze_count,
  403.                     pg_stat_get_autoanalyze_count(C.oid) AS autoanalyze_count
  404.             FROM pg_class C LEFT JOIN
  405.                  pg_index I ON C.oid = I.indrelid
  406.                  LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  407.             WHERE C.relkind IN ('r', 't', 'm')
  408.             GROUP BY C.oid, N.nspname, C.relname;

  409.         CREATE VIEW pg_stat_xact_all_tables AS
  410.             SELECT
  411.                     C.oid AS relid,
  412.                     N.nspname AS schemaname,
  413.                     C.relname AS relname,
  414.                     pg_stat_get_xact_numscans(C.oid) AS seq_scan,
  415.                     pg_stat_get_xact_tuples_returned(C.oid) AS seq_tup_read,
  416.                     sum(pg_stat_get_xact_numscans(I.indexrelid))::bigint AS idx_scan,
  417.                     sum(pg_stat_get_xact_tuples_fetched(I.indexrelid))::bigint +
  418.                     pg_stat_get_xact_tuples_fetched(C.oid) AS idx_tup_fetch,
  419.                     pg_stat_get_xact_tuples_inserted(C.oid) AS n_tup_ins,
  420.                     pg_stat_get_xact_tuples_updated(C.oid) AS n_tup_upd,
  421.                     pg_stat_get_xact_tuples_deleted(C.oid) AS n_tup_del,
  422.                     pg_stat_get_xact_tuples_hot_updated(C.oid) AS n_tup_hot_upd
  423.             FROM pg_class C LEFT JOIN
  424.                  pg_index I ON C.oid = I.indrelid
  425.                  LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  426.             WHERE C.relkind IN ('r', 't', 'm')
  427.             GROUP BY C.oid, N.nspname, C.relname;

  428.         CREATE VIEW pg_stat_sys_tables AS
  429.             SELECT * FROM pg_stat_all_tables
  430.             WHERE schemaname IN ('pg_catalog', 'information_schema') OR
  431.                   schemaname ~ '^pg_toast';

  432.         CREATE VIEW pg_stat_xact_sys_tables AS
  433.             SELECT * FROM pg_stat_xact_all_tables
  434.             WHERE schemaname IN ('pg_catalog', 'information_schema') OR
  435.                   schemaname ~ '^pg_toast';

  436.         CREATE VIEW pg_stat_user_tables AS
  437.             SELECT * FROM pg_stat_all_tables
  438.             WHERE schemaname NOT IN ('pg_catalog', 'information_schema') AND
  439.                   schemaname !~ '^pg_toast';

  440.         CREATE VIEW pg_stat_xact_user_tables AS
  441.             SELECT * FROM pg_stat_xact_all_tables
  442.             WHERE schemaname NOT IN ('pg_catalog', 'information_schema') AND
  443.                   schemaname !~ '^pg_toast';

  444.         CREATE VIEW pg_statio_all_tables AS
  445.             SELECT
  446.                     C.oid AS relid,
  447.                     N.nspname AS schemaname,
  448.                     C.relname AS relname,
  449.                     pg_stat_get_blocks_fetched(C.oid) -
  450.                             pg_stat_get_blocks_hit(C.oid) AS heap_blks_read,
  451.                     pg_stat_get_blocks_hit(C.oid) AS heap_blks_hit,
  452.                     sum(pg_stat_get_blocks_fetched(I.indexrelid) -
  453.                             pg_stat_get_blocks_hit(I.indexrelid))::bigint AS idx_blks_read,
  454.                     sum(pg_stat_get_blocks_hit(I.indexrelid))::bigint AS idx_blks_hit,
  455.                     pg_stat_get_blocks_fetched(T.oid) -
  456.                             pg_stat_get_blocks_hit(T.oid) AS toast_blks_read,
  457.                     pg_stat_get_blocks_hit(T.oid) AS toast_blks_hit,
  458.                     pg_stat_get_blocks_fetched(X.oid) -
  459.                             pg_stat_get_blocks_hit(X.oid) AS tidx_blks_read,
  460.                     pg_stat_get_blocks_hit(X.oid) AS tidx_blks_hit
  461.             FROM pg_class C LEFT JOIN
  462.                     pg_index I ON C.oid = I.indrelid LEFT JOIN
  463.                     pg_class T ON C.reltoastrelid = T.oid LEFT JOIN
  464.                     pg_class X ON T.reltoastidxid = X.oid
  465.                     LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  466.             WHERE C.relkind IN ('r', 't', 'm')
  467.             GROUP BY C.oid, N.nspname, C.relname, T.oid, X.oid;

  468.         CREATE VIEW pg_statio_sys_tables AS
  469.             SELECT * FROM pg_statio_all_tables
  470.             WHERE schemaname IN ('pg_catalog', 'information_schema') OR
  471.                   schemaname ~ '^pg_toast';

  472.         CREATE VIEW pg_statio_user_tables AS
  473.             SELECT * FROM pg_statio_all_tables
  474.             WHERE schemaname NOT IN ('pg_catalog', 'information_schema') AND
  475.                   schemaname !~ '^pg_toast';

  476.         CREATE VIEW pg_stat_all_indexes AS
  477.             SELECT
  478.                     C.oid AS relid,
  479.                     I.oid AS indexrelid,
  480.                     N.nspname AS schemaname,
  481.                     C.relname AS relname,
  482.                     I.relname AS indexrelname,
  483.                     pg_stat_get_numscans(I.oid) AS idx_scan,
  484.                     pg_stat_get_tuples_returned(I.oid) AS idx_tup_read,
  485.                     pg_stat_get_tuples_fetched(I.oid) AS idx_tup_fetch
  486.             FROM pg_class C JOIN
  487.                     pg_index X ON C.oid = X.indrelid JOIN
  488.                     pg_class I ON I.oid = X.indexrelid
  489.                     LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  490.             WHERE C.relkind IN ('r', 't', 'm');

  491.         CREATE VIEW pg_stat_sys_indexes AS
  492.             SELECT * FROM pg_stat_all_indexes
  493.             WHERE schemaname IN ('pg_catalog', 'information_schema') OR
  494.                   schemaname ~ '^pg_toast';

  495.         CREATE VIEW pg_stat_user_indexes AS
  496.             SELECT * FROM pg_stat_all_indexes
  497.             WHERE schemaname NOT IN ('pg_catalog', 'information_schema') AND
  498.                   schemaname !~ '^pg_toast';

  499.         CREATE VIEW pg_statio_all_indexes AS
  500.             SELECT
  501.                     C.oid AS relid,
  502.                     I.oid AS indexrelid,
  503.                     N.nspname AS schemaname,
  504.                     C.relname AS relname,
  505.                     I.relname AS indexrelname,
  506.                     pg_stat_get_blocks_fetched(I.oid) -
  507.                             pg_stat_get_blocks_hit(I.oid) AS idx_blks_read,
  508.                     pg_stat_get_blocks_hit(I.oid) AS idx_blks_hit
  509.             FROM pg_class C JOIN
  510.                     pg_index X ON C.oid = X.indrelid JOIN
  511.                     pg_class I ON I.oid = X.indexrelid
  512.                     LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  513.             WHERE C.relkind IN ('r', 't', 'm');

  514.         CREATE VIEW pg_statio_sys_indexes AS
  515.             SELECT * FROM pg_statio_all_indexes
  516.             WHERE schemaname IN ('pg_catalog', 'information_schema') OR
  517.                   schemaname ~ '^pg_toast';

  518.         CREATE VIEW pg_statio_user_indexes AS
  519.             SELECT * FROM pg_statio_all_indexes
  520.             WHERE schemaname NOT IN ('pg_catalog', 'information_schema') AND
  521.                   schemaname !~ '^pg_toast';

  522.         CREATE VIEW pg_statio_all_sequences AS
  523.             SELECT
  524.                     C.oid AS relid,
  525.                     N.nspname AS schemaname,
  526.                     C.relname AS relname,
  527.                     pg_stat_get_blocks_fetched(C.oid) -
  528.                             pg_stat_get_blocks_hit(C.oid) AS blks_read,
  529.                     pg_stat_get_blocks_hit(C.oid) AS blks_hit
  530.             FROM pg_class C
  531.                     LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  532.             WHERE C.relkind = 'S';

  533.         CREATE VIEW pg_statio_sys_sequences AS
  534.             SELECT * FROM pg_statio_all_sequences
  535.             WHERE schemaname IN ('pg_catalog', 'information_schema') OR
  536.                   schemaname ~ '^pg_toast';

  537.         CREATE VIEW pg_statio_user_sequences AS
  538.             SELECT * FROM pg_statio_all_sequences
  539.             WHERE schemaname NOT IN ('pg_catalog', 'information_schema') AND
  540.                   schemaname !~ '^pg_toast';

  541.         CREATE VIEW pg_stat_activity AS
  542.             SELECT
  543.                     S.datid AS datid,
  544.                     D.datname AS datname,
  545.                     S.pid,
  546.                     S.usesysid,
  547.                     U.rolname AS usename,
  548.                     S.application_name,
  549.                     S.client_addr,
  550.                     S.client_hostname,
  551.                     S.client_port,
  552.                     S.backend_start,
  553.                     S.xact_start,
  554.                     S.query_start,
  555.                     S.state_change,
  556.                     S.waiting,
  557.                     S.state,
  558.                     S.query
  559.             FROM pg_database D, pg_stat_get_activity(NULL) AS S, pg_authid U
  560.             WHERE S.datid = D.oid AND
  561.                     S.usesysid = U.oid;

  562.         CREATE VIEW pg_stat_replication AS
  563.             SELECT
  564.                     S.pid,
  565.                     S.usesysid,
  566.                     U.rolname AS usename,
  567.                     S.application_name,
  568.                     S.client_addr,
  569.                     S.client_hostname,
  570.                     S.client_port,
  571.                     S.backend_start,
  572.                     W.state,
  573.                     W.sent_location,
  574.                     W.write_location,
  575.                     W.flush_location,
  576.                     W.replay_location,
  577.                     W.sync_priority,
  578.                     W.sync_state
  579.             FROM pg_stat_get_activity(NULL) AS S, pg_authid U,
  580.                     pg_stat_get_wal_senders() AS W
  581.             WHERE S.usesysid = U.oid AND
  582.                     S.pid = W.pid;

  583.         CREATE VIEW pg_stat_database AS
  584.             SELECT
  585.                     D.oid AS datid,
  586.                     D.datname AS datname,
  587.                     pg_stat_get_db_numbackends(D.oid) AS numbackends,
  588.                     pg_stat_get_db_xact_commit(D.oid) AS xact_commit,
  589.                     pg_stat_get_db_xact_rollback(D.oid) AS xact_rollback,
  590.                     pg_stat_get_db_blocks_fetched(D.oid) -
  591.                             pg_stat_get_db_blocks_hit(D.oid) AS blks_read,
  592.                     pg_stat_get_db_blocks_hit(D.oid) AS blks_hit,
  593.                     pg_stat_get_db_tuples_returned(D.oid) AS tup_returned,
  594.                     pg_stat_get_db_tuples_fetched(D.oid) AS tup_fetched,
  595.                     pg_stat_get_db_tuples_inserted(D.oid) AS tup_inserted,
  596.                     pg_stat_get_db_tuples_updated(D.oid) AS tup_updated,
  597.                     pg_stat_get_db_tuples_deleted(D.oid) AS tup_deleted,
  598.                     pg_stat_get_db_conflict_all(D.oid) AS conflicts,
  599.                     pg_stat_get_db_temp_files(D.oid) AS temp_files,
  600.                     pg_stat_get_db_temp_bytes(D.oid) AS temp_bytes,
  601.                     pg_stat_get_db_deadlocks(D.oid) AS deadlocks,
  602.                     pg_stat_get_db_blk_read_time(D.oid) AS blk_read_time,
  603.                     pg_stat_get_db_blk_write_time(D.oid) AS blk_write_time,
  604.                     pg_stat_get_db_stat_reset_time(D.oid) AS stats_reset
  605.             FROM pg_database D;

  606.         CREATE VIEW pg_stat_database_conflicts AS
  607.             SELECT
  608.                     D.oid AS datid,
  609.                     D.datname AS datname,
  610.                     pg_stat_get_db_conflict_tablespace(D.oid) AS confl_tablespace,
  611.                     pg_stat_get_db_conflict_lock(D.oid) AS confl_lock,
  612.                     pg_stat_get_db_conflict_snapshot(D.oid) AS confl_snapshot,
  613.                     pg_stat_get_db_conflict_bufferpin(D.oid) AS confl_bufferpin,
  614.                     pg_stat_get_db_conflict_startup_deadlock(D.oid) AS confl_deadlock
  615.             FROM pg_database D;

  616.         CREATE VIEW pg_stat_user_functions AS
  617.             SELECT
  618.                     P.oid AS funcid,
  619.                     N.nspname AS schemaname,
  620.                     P.proname AS funcname,
  621.                     pg_stat_get_function_calls(P.oid) AS calls,
  622.                     pg_stat_get_function_total_time(P.oid) AS total_time,
  623.                     pg_stat_get_function_self_time(P.oid) AS self_time
  624.             FROM pg_proc P LEFT JOIN pg_namespace N ON (N.oid = P.pronamespace)
  625.             WHERE P.prolang != 12  -- fast check to eliminate built-in functions
  626.                   AND pg_stat_get_function_calls(P.oid) IS NOT NULL;

  627.         CREATE VIEW pg_stat_xact_user_functions AS
  628.             SELECT
  629.                     P.oid AS funcid,
  630.                     N.nspname AS schemaname,
  631.                     P.proname AS funcname,
  632.                     pg_stat_get_xact_function_calls(P.oid) AS calls,
  633.                     pg_stat_get_xact_function_total_time(P.oid) AS total_time,
  634.                     pg_stat_get_xact_function_self_time(P.oid) AS self_time
  635.             FROM pg_proc P LEFT JOIN pg_namespace N ON (N.oid = P.pronamespace)
  636.             WHERE P.prolang != 12  -- fast check to eliminate built-in functions
  637.                   AND pg_stat_get_xact_function_calls(P.oid) IS NOT NULL;

  638.         CREATE VIEW pg_stat_bgwriter AS
  639.             SELECT
  640.                 pg_stat_get_bgwriter_timed_checkpoints() AS checkpoints_timed,
  641.                 pg_stat_get_bgwriter_requested_checkpoints() AS checkpoints_req,
  642.                 pg_stat_get_checkpoint_write_time() AS checkpoint_write_time,
  643.                 pg_stat_get_checkpoint_sync_time() AS checkpoint_sync_time,
  644.                 pg_stat_get_bgwriter_buf_written_checkpoints() AS buffers_checkpoint,
  645.                 pg_stat_get_bgwriter_buf_written_clean() AS buffers_clean,
  646.                 pg_stat_get_bgwriter_maxwritten_clean() AS maxwritten_clean,
  647.                 pg_stat_get_buf_written_backend() AS buffers_backend,
  648.                 pg_stat_get_buf_fsync_backend() AS buffers_backend_fsync,
  649.                 pg_stat_get_buf_alloc() AS buffers_alloc,
  650.                 pg_stat_get_bgwriter_stat_reset_time() AS stats_reset;

  651.         CREATE VIEW pg_user_mappings AS
  652.             SELECT
  653.                 U.oid       AS umid,
  654.                 S.oid       AS srvid,
  655.                 S.srvname   AS srvname,
  656.                 U.umuser    AS umuser,
  657.                 CASE WHEN U.umuser = 0 THEN
  658.                     'public'
  659.                 ELSE
  660.                     A.rolname
  661.                 END AS usename,
  662.                 CASE WHEN pg_has_role(S.srvowner, 'USAGE') OR has_server_privilege(S.oid, 'USAGE') THEN
  663.                     U.umoptions
  664.                 ELSE
  665.                     NULL
  666.                 END AS umoptions
  667.             FROM pg_user_mapping U
  668.                  LEFT JOIN pg_authid A ON (A.oid = U.umuser) JOIN
  669.                 pg_foreign_server S ON (U.umserver = S.oid);

  670.         REVOKE ALL on pg_user_mapping FROM public;

  671.         --
  672.         -- We have a few function definitions in here, too.
  673.         -- At some point there might be enough to justify breaking them out into
  674.         -- a separate "system_functions.sql" file.
  675.         --

  676.         -- Tsearch debug function.  Defined here because it'd be pretty unwieldy
  677.         -- to put it into pg_proc.h

  678.         CREATE FUNCTION ts_debug(IN config regconfig, IN document text,
  679.             OUT alias text,
  680.             OUT description text,
  681.             OUT token text,
  682.             OUT dictionaries regdictionary[],
  683.             OUT dictionary regdictionary,
  684.             OUT lexemes text[])
  685.         RETURNS SETOF record AS
  686.         $
  687.         SELECT
  688.             tt.alias AS alias,
  689.             tt.description AS description,
  690.             parse.token AS token,
  691.             ARRAY ( SELECT m.mapdict::pg_catalog.regdictionary
  692.                     FROM pg_catalog.pg_ts_config_map AS m
  693.                     WHERE m.mapcfg = $1 AND m.maptokentype = parse.tokid
  694.                     ORDER BY m.mapseqno )
  695.             AS dictionaries,
  696.             ( SELECT mapdict::pg_catalog.regdictionary
  697.               FROM pg_catalog.pg_ts_config_map AS m
  698.               WHERE m.mapcfg = $1 AND m.maptokentype = parse.tokid
  699.               ORDER BY pg_catalog.ts_lexize(mapdict, parse.token) IS NULL, m.mapseqno
  700.               LIMIT 1
  701.             ) AS dictionary,
  702.             ( SELECT pg_catalog.ts_lexize(mapdict, parse.token)
  703.               FROM pg_catalog.pg_ts_config_map AS m
  704.               WHERE m.mapcfg = $1 AND m.maptokentype = parse.tokid
  705.               ORDER BY pg_catalog.ts_lexize(mapdict, parse.token) IS NULL, m.mapseqno
  706.               LIMIT 1
  707.             ) AS lexemes
  708.         FROM pg_catalog.ts_parse(
  709.                 (SELECT cfgparser FROM pg_catalog.pg_ts_config WHERE oid = $1 ), $2
  710.             ) AS parse,
  711.              pg_catalog.ts_token_type(
  712.                 (SELECT cfgparser FROM pg_catalog.pg_ts_config WHERE oid = $1 )
  713.             ) AS tt
  714.         WHERE tt.tokid = parse.tokid
  715.         $
  716.         LANGUAGE SQL STRICT STABLE;

  717.         COMMENT ON FUNCTION ts_debug(regconfig,text) IS
  718.             'debug function for text search configuration';

  719.         CREATE FUNCTION ts_debug(IN document text,
  720.             OUT alias text,
  721.             OUT description text,
  722.             OUT token text,
  723.             OUT dictionaries regdictionary[],
  724.             OUT dictionary regdictionary,
  725.             OUT lexemes text[])
  726.         RETURNS SETOF record AS
  727.         $
  728.             SELECT * FROM pg_catalog.ts_debug( pg_catalog.get_current_ts_config(), $1);
  729.         $
  730.         LANGUAGE SQL STRICT STABLE;

  731.         COMMENT ON FUNCTION ts_debug(text) IS
  732.             'debug function for current text search configuration';

  733.         --
  734.         -- Redeclare built-in functions that need default values attached to their
  735.         -- arguments.  It's impractical to set those up directly in pg_proc.h because
  736.         -- of the complexity and platform-dependency of the expression tree
  737.         -- representation.  (Note that internal functions still have to have entries
  738.         -- in pg_proc.h; we are merely causing their proargnames and proargdefaults
  739.         -- to get filled in.)
  740.         --

  741.         CREATE OR REPLACE FUNCTION
  742.           pg_start_backup(label text, fast boolean DEFAULT false)
  743.           RETURNS text STRICT VOLATILE LANGUAGE internal AS 'pg_start_backup';

  744.         CREATE OR REPLACE FUNCTION
  745.           json_populate_record(base anyelement, from_json json, use_json_as_text boolean DEFAULT false)
  746.           RETURNS anyelement LANGUAGE internal STABLE AS 'json_populate_record';

  747.         CREATE OR REPLACE FUNCTION
  748.           json_populate_recordset(base anyelement, from_json json, use_json_as_text boolean DEFAULT false)
  749.           RETURNS SETOF anyelement LANGUAGE internal STABLE ROWS 100  AS 'json_populate_recordset';

  750. child process exited with exit code 1
复制代码

论坛徽章:
29
技术图书徽章
日期:2013-09-02 19:59:502015元宵节徽章
日期:2015-03-06 15:51:332015小元宵徽章
日期:2015-03-06 15:57:20操作系统版块每日发帖之星
日期:2015-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17操作系统版块每日发帖之星
日期:2015-09-21 06:20:002015亚冠之水原三星
日期:2015-10-30 00:06:07数据库技术版块每日发帖之星
日期:2015-12-24 06:20:0015-16赛季CBA联赛之上海
日期:2016-01-07 10:32:07操作系统版块每日发帖之星
日期:2016-01-08 06:20:00操作系统版块每日发帖之星
日期:2016-05-18 06:20:00IT运维版块每日发帖之星
日期:2016-07-23 06:20:00
2 [报告]
发表于 2013-10-17 12:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2013-10-19 16:25 |只看该作者
不打算解决了,换思路了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP