<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL]]></title>
		<link>http://forum.postgresql.org.pl/index.php</link>
		<description><![CDATA[Najświeże tematy w Forum PostgreSQL.]]></description>
		<lastBuildDate>Wed, 08 Sep 2010 10:59:12 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Trigger AFTER INSERT, porównywanie danych z tabeli]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=485&amp;action=new</link>
			<description><![CDATA[Witam,

Chciałbym przy pomocy Funkcji oraz Triggerów uzyskać następującą funkcjonalność.

Aplikacja A wstawia dane wrzucając wszystko do kilku tabel(iphdr,tcphdr etc).  Aplikacja B wrzuca swoje dane do tabeli [b]polaczenia[/b]. Aplikacje działają niezależnie. Ja natomiast chcę aby w momencie INSERT'a do tcphdr zostało sprawdzone, czy podobne dane znajdują się w tabeli połączenia. Niestety kryterium jednoznaczności można sprawdzić przeglądając tabele tcphdr oraz iphdr. Stworzyłem więc widok, który łączy obie tabele iphdr oraz tcphdr. Następnie stworzyłem triggera wykonywanego po INSERCIE do tabeli tcphdr który wygląda tak:

[code]

CREATE OR REPLACE FUNCTION tcphdr_procedure()
  RETURNS trigger AS
$BODY$
DECLARE 
result BIGINT;
counter INTEGER;

    BEGIN
        
        IF (TG_OP= 'INSERT') THEN
        SELECT connections.id INTO result FROM connections,tcp_connections WHERE
    tcp_connections.cid = NEW.cid AND tcp_connections.src_ip=connections.src_addr 
    AND tcp_connections.dst_ip=connections.dst_addr 
    AND tcp_connections.src_port = connections.src_port 
    AND tcp_connections.tcp_dport = connections.dst_port;
        
        IF FOUND THEN
            INSERT INTO test_new  VALUES(result);
            RETURN NULL;
        END IF;

    END IF;
       
        
        RETURN NULL; -- result is ignored since this is an AFTER trigger
    END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;

[/code]

W chwili kiedy insertuję dane do tabel tcphdr etc. wywołuje się trigger, jednak nie znajduje odpowiednich złączeń z danymi w tabeli connections. W momencie kiedy wykonam sobie selecta już po insercie (bez triggera, po prostu z palca) - wszystko gra. Odpowiednie dane są znajdowane.

Dodam, że tabele

connections - TABELA
tcp_connections - widok.

Jak mogę zrobić, zeby wstawiane dane (już wstawione) były porównywane z danymi z innej tabeli, bo w/w sposób nie działa do końca dobrze.]]></description>
			<author><![CDATA[dummy@example.com (atalin)]]></author>
			<pubDate>Wed, 08 Sep 2010 10:59:12 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=485&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Postgres Plus Ubuntu 10.04]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=484&amp;action=new</link>
			<description><![CDATA[Witam,
staram się sprawdzić czy poprawnie zainstalowałem Postgres na Ubuntu 10,04. Paczkę instalacyjną pobrałem ze strony [url]http://www.enterprisedb.com/products/postgres_plus/getinstaller.do[/url] .
Rozpakowałem, zainstalowałem w menu Ubuntu pojawił się Postgres Plus standard serwer 8.4. Teraz jak sprawdzić czy w obecnej chwili Postgres działa oraz jaki to host?]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Sun, 05 Sep 2010 08:05:29 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=484&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Invalid command]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=483&amp;action=new</link>
			<description><![CDATA[Witam.
"Żadne pytanie nie jest zbyt proste dla tego działu." więc mam nadzieje że znajdę tutaj odpowiedź.

Zrobiłem pełen export bazy danych poprzez phppgadmin na jakimś tam serwerze i dostałem duży plik sql ponad 300MB.
Następnie próbowałem go zaimportować poprzez psql nazwa_bazy_na_localhoscie < plik.sql.
Import rozpoczyna się Error potem dalej Invalid command \N i jak patrzę na baze danych przez pgadmin to cześć tabelek zostaje stworzona prawidłowo z danymi inne są pusta a większości nie ma.
Czy istnieje jakieś narzędzie dzięki któremu będe mógł stworzyć bazę na podstawie tak dużego pliku sql. Dodam że wczytanie w phppgadmin i pgadmin tego pliku nie udaje się.

Bardzo proszę o pomoc.]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Tue, 31 Aug 2010 18:19:19 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=483&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[optymalizacja konfiguracji Postgresta]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=476&amp;action=new</link>
			<description><![CDATA[Witam chciałbym zapytać doświadczonych bazodanowy co muszę zmienić w swoim configu aby przyśpieszyć pobieranie danych z bazy? 

Struktura bazy nie jest napisana przezemnie, wyszukiwanie towarów w bazie opiera się o operacje typu:
l_sql_where = l_sql_where || ('(products_name ilike ''%' || l_rec.explode
            || '%'' OR products_symbol ilike ''%' || l_rec.explode
            || '%'' OR manufacturer_symbol ilike ''%' || l_rec.explode || '%'')')::text;

których to nie da się indeksować z punktu widzenia indeksów bazodanowych - dla takich warunków zawsze wykonywane jest skanowanie sekwencyjne przez silnik bazy danych.

Więc jedyne co zostaje mi aby przyśpieszyć pracę strony to optymalizacja konfiguracji postgresta:


[code]
# -----------------------------
# PostgreSQL configuration file
# -----------------------------
#
# This file consists of lines of the form:
#
#   name = value
#
# (The "=" is optional.)  Whitespace may be used.  Comments are introduced with
# "#" anywhere on a line.  The complete list of parameter names and allowed
# values can be found in the PostgreSQL documentation.
#
# The commented-out settings shown in this file represent the default values.
# Re-commenting a setting is NOT sufficient to revert it to the default value;
# you need to reload the server.
#
# This file is read on server startup and when the server receives a SIGHUP
# signal.  If you edit the file on a running system, you have to SIGHUP the
# server for the changes to take effect, or use "pg_ctl reload".  Some
# parameters, which are marked below, require a server shutdown and restart to
# take effect.
#
# Any parameter can also be given as a command-line option to the server, e.g.,
# "postgres -c log_connections=on".  Some paramters can be changed at run time
# with the "SET" SQL command.
#
# Memory units:  kB = kilobytes MB = megabytes GB = gigabytes
# Time units:    ms = milliseconds s = seconds min = minutes h = hours d = days

#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------

# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.

data_directory = '/var/lib/postgresql/8.3/main'         # use data in another directory
                                        # (change requires restart)
hba_file = '/etc/postgresql/8.3/main/pg_hba.conf'       # host-based authentication file
                                        # (change requires restart)
ident_file = '/etc/postgresql/8.3/main/pg_ident.conf'   # ident configuration file
                                        # (change requires restart)

# If external_pid_file is not explicitly set, no extra PID file is written.
external_pid_file = '/var/run/postgresql/8.3-main.pid'          # write an extra PID file
                                        # (change requires restart)


#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'          # what IP address(es) to listen on;
                                        # comma-separated list of addresses;
                                        # defaults to 'localhost', '*' = all
                                        # (change requires restart)
port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)
# Note:  Increasing max_connections costs ~400 bytes of shared memory per
# connection slot, plus lock space (see max_locks_per_transaction).  You might
# also need to raise shared_buffers to support more connections.
#superuser_reserved_connections = 3     # (change requires restart)
unix_socket_directory = '/var/run/postgresql'           # (change requires restart)
#unix_socket_group = ''                 # (change requires restart)
#unix_socket_permissions = 0777         # begin with 0 to use octal notation
                                        # (change requires restart)
#bonjour_name = ''                      # defaults to the computer name
                                        # (change requires restart)

# - Security and Authentication -
#authentication_timeout = 1min          # 1s-600s
ssl = off                               # (change requires restart)
#ssl_ciphers = 'ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH'      # allowed SSL ciphers
                                        # (change requires restart)
password_encryption = on
#db_user_namespace = off

# Kerberos and GSSAPI
#krb_server_keyfile = ''                # (change requires restart)
#krb_srvname = 'postgres'               # (change requires restart, Kerberos only)
#krb_server_hostname = ''               # empty string matches any keytab entry
                                        # (change requires restart, Kerberos only)
#krb_caseins_users = off                # (change requires restart)
#krb_realm = ''                         # (change requires restart)

# - TCP Keepalives -
# see "man 7 tcp" for details
# see "man 7 tcp" for details

#tcp_keepalives_idle = 0                # TCP_KEEPIDLE, in seconds;
                                        # 0 selects the system default
#tcp_keepalives_interval = 0            # TCP_KEEPINTVL, in seconds;
                                        # 0 selects the system default
#tcp_keepalives_count = 0               # TCP_KEEPCNT;
                                        # 0 selects the system default


#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------

# - Memory -


shared_buffers = 2457MB                 # min 128kB or max_connections*16kB
                                        # (change requires restart)
                                        # (change requires restart)
#temp_buffers = 8MB                     # min 800kB
#max_prepared_transactions = 5          # can be 0 or more
                                        # (change requires restart)
# Note:  Increasing max_prepared_transactions costs ~600 bytes of shared memory
# per transaction slot, plus lock space (see max_locks_per_transaction).
work_mem = 10MB                         # min 64kB
#maintenance_work_mem = 16MB            # min 1MB
#max_stack_depth = 2MB                  # min 100kB

# - Free Space Map -

#max_fsm_pages = 6901760                        # min max_fsm_relations*16, 6 bytes each
                                        # (change requires restart)
#max_fsm_relations = 1000               # min 100, ~70 bytes each
                                        # (change requires restart)

# - Kernel Resource Usage -

                                        # (change requires restart)
#temp_buffers = 8MB                     # min 800kB
#max_prepared_transactions = 5          # can be 0 or more
                                        # (change requires restart)
# Note:  Increasing max_prepared_transactions costs ~600 bytes of shared memory
# per transaction slot, plus lock space (see max_locks_per_transaction).
work_mem = 10MB                         # min 64kB
#maintenance_work_mem = 16MB            # min 1MB
#max_stack_depth = 2MB                  # min 100kB

# - Free Space Map -

#max_fsm_pages = 6901760                        # min max_fsm_relations*16, 6 bytes each
                                        # (change requires restart)
#max_fsm_relations = 1000               # min 100, ~70 bytes each
                                        # (change requires restart)

# - Kernel Resource Usage -

#max_files_per_process = 1000           # min 25
                                        # (change requires restart)
#shared_preload_libraries = ''          # (change requires restart)

# - Cost-Based Vacuum Delay -

#vacuum_cost_delay = 0                  # 0-1000 milliseconds
#vacuum_cost_page_hit = 1               # 0-10000 credits
#vacuum_cost_page_miss = 10             # 0-10000 credits
#vacuum_cost_page_dirty = 20            # 0-10000 credits
#vacuum_cost_limit = 200                # 1-10000 credits

# - Background Writer -

#bgwriter_delay = 200ms                 # 10-10000ms between rounds
#bgwriter_lru_maxpages = 100            # 0-1000 max buffers written/round
#bgwriter_lru_multiplier = 2.0          # 0-10.0 multipler on buffers scanned/round

#------------------------------------------------------------------------------
# WRITE AHEAD LOG
#------------------------------------------------------------------------------

# - Settings -

fsync = off                             # turns forced synchronization on or off
#synchronous_commit = on                # immediate fsync at commit
#wal_sync_method = fsync                # the default is the first option
                                        # supported by the operating system:
                                        #   open_datasync
                                        #   fdatasync
                                        #   fsync
                                        #   fsync_writethrough
                                        #   open_sync
#full_page_writes = on                  # recover from partial page writes
wal_buffers = 64kB                      # min 32kB
#wal_writer_delay = 200ms               # 1-10000 milliseconds

#commit_delay = 0                       # range 0-100000, in microseconds
#commit_siblings = 5                    # range 1-1000

# - Checkpoints -

#checkpoint_segments = 3                # in logfile segments, min 1, 16MB each
#checkpoint_timeout = 5min              # range 30s-1h
#checkpoint_completion_target = 0.5     # checkpoint target duration, 0.0 - 1.0
#checkpoint_warning = 30s               # 0 is off

# - Archiving -

#archive_mode = off             # allows archiving to be done
                                # (change requires restart)
#archive_command = ''           # command to use to archive a logfile segment
#archive_timeout = 0            # force a logfile segment switch after this
                                # time; 0 is off


#------------------------------------------------------------------------------
# QUERY TUNING
#------------------------------------------------------------------------------

# - Planner Method Configuration -

#enable_bitmapscan = on
#enable_hashagg = on
#enable_hashjoin = on
#enable_indexscan = on
#enable_mergejoin = on
#enable_nestloop = on
#enable_seqscan = on
#enable_sort = on
#enable_tidscan = on

# - Planner Cost Constants -

#seq_page_cost = 1.0                    # measured on an arbitrary scale
#random_page_cost = 4.0                 # same scale as above
#cpu_tuple_cost = 0.01                  # same scale as above
#cpu_index_tuple_cost = 0.005           # same scale as above
#cpu_operator_cost = 0.0025             # same scale as above
effective_cache_size = 4096MB

# - Genetic Query Optimizer -

#geqo = on
#geqo_threshold = 12
#geqo_effort = 5                        # range 1-10
#geqo_pool_size = 0                     # selects default based on effort
#geqo_generations = 0                   # selects default based on effort
#geqo_selection_bias = 2.0              # range 1.5-2.0

# - Other Planner Options -

#default_statistics_target = 10         # range 1-1000
#constraint_exclusion = off
#from_collapse_limit = 8
#join_collapse_limit = 8                # 1 disables collapsing of explicit
                                        # JOIN clauses


#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------

# - Where to Log -

#log_destination = 'stderr'             # Valid values are combinations of
                                       # stderr, csvlog, syslog and eventlog,
                                        # depending on platform.  csvlog
                                        # requires logging_collector to be on.

# This is used when logging to stderr:
#logging_collector = off                # Enable capturing of stderr and csvlog
                                        # into log files. Required to be on for
                                        # csvlogs.
                                        # (change requires restart)

# These are only used if logging_collector is on:
#log_directory = 'pg_log'               # directory where log files are written,
                                        # can be absolute or relative to PGDATA
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'        # log file name pattern,
                                        # can include strftime() escapes
#log_truncate_on_rotation = off         # If on, an existing log file of the
                                        # same name as the new log file will be
                                        # truncated rather than appended to.
#log_rotation_age = 1d                  # Automatic rotation of logfiles will
                                        # happen after that time.  0 to disable.
#log_rotation_size = 10MB               # Automatic rotation of logfiles will
                                        # happen after that much log output.
                                        # 0 to disable.

# These are relevant when logging to syslog:
#syslog_facility = 'LOCAL0'
#syslog_ident = 'postgres'


# - When to Log -

#client_min_messages = notice           # values in order of decreasing detail:
                                        #   debug5
                                        #   debug4
                                        #   debug3
                                        #   debug2
                                        #   debug1
                                        #   log
                                        #   notice
                                        #   warning
                                        #   error

#log_min_messages = notice              # values in order of decreasing detail:
                                        #   debug5
                                        #   debug4
                                        #   debug3
                                        #   debug2
                                        #   debug1
                                        #   info
#log_error_verbosity = default          # terse, default, or verbose messages

#log_min_error_statement = error        # values in order of decreasing detail:
                                        #   debug5
                                        #   debug4
                                        #   debug3
                                        #   debug2
                                        #   debug1
                                        #   info
                                        #   notice
                                        #   warning
#log_min_duration_statement = -1        # -1 is disabled, 0 logs all statements
                                        # and their durations, > 0 logs only
                                        # statements running at least this time.

#silent_mode = off                      # DO NOT USE without syslog or
                                        # logging_collector
                                        # (change requires restart)

# - What to Log -

#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = off
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
#log_duration = off
#log_hostname = off
log_line_prefix = '%t '                 # special values:
                                        #   %u = user name
                                        #   %d = database name
                                        #   %r = remote host and port
                                        #   %h = remote host
                                        #   %p = process ID
                                        #   %t = timestamp without milliseconds
                                        #   %m = timestamp with milliseconds
                                        #   %i = command tag
                                        #   %c = session ID
                                        #   %l = session line number
                                        #   %s = session start timestamp
#log_lock_waits = off                   # log lock waits >= deadlock_timeout
#log_statement = 'none'                 # none, ddl, mod, all
#log_temp_files = -1                    # log temporary files equal or larger
                                        # than specified size;
                                        # -1 disables, 0 logs all temp files
#log_timezone = unknown                 # actually, defaults to TZ environment
                                        # setting


#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------

# - Query/Index Statistics Collector -

#track_activities = on
#track_counts = on
#update_process_title = on


# - Statistics Monitoring -

#log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off
#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------

autovacuum = on                 # Enable autovacuum subprocess?  'on'
                                        # requires track_counts to also be on.
log_autovacuum_min_duration = -1        # -1 disables, 0 logs all actions and
                                        # their durations, > 0 logs only
                                        # actions running at least that time.
autovacuum_max_workers = 3              # max number of autovacuum subprocesses
#autovacuum_naptime = 1min              # time between autovacuum runs
#autovacuum_vacuum_threshold = 50       # min number of row updates before
                                        # vacuum
#autovacuum_analyze_threshold = 50      # min number of row updates before
                                        # analyze
#autovacuum_vacuum_scale_factor = 0.2   # fraction of table size before vacuum
#autovacuum_analyze_scale_factor = 0.1  # fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000  # maximum XID age before forced vacuum
                                        # (change requires restart)
#autovacuum_vacuum_cost_delay = 20      # default vacuum cost delay for
#autovacuum_vacuum_cost_limit = -1      # default vacuum cost limit for
                                        # autovacuum, -1 means use
                                        # vacuum_cost_limit


#------------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#------------------------------------------------------------------------------

# - Statement Behavior -

#search_path = '"$user",public'         # schema names
#default_tablespace = ''                # a tablespace name, '' uses the default
#temp_tablespaces = ''                  # a list of tablespace names, '' uses
                                        # only default tablespace
#check_function_bodies = on
#default_transaction_isolation = 'read committed'
#default_transaction_read_only = off
#session_replication_role = 'origin'
#statement_timeout = 0                  # 0 is disabled
#vacuum_freeze_min_age = 100000000
#xmlbinary = 'base64'
#xmloption = 'content'

# - Locale and Formatting -

datestyle = 'iso, mdy'
#timezone = unknown                     # actually, defaults to TZ environment
                                        # setting
#timezone_abbreviations = 'Default'     # Select the set of available time zone
                                        # abbreviations.  Currently, there are
                                        #   Default
                                        #   Australia
                                        #   India
#extra_float_digits = 0                 # min -15, max 2
#client_encoding = sql_ascii            # actually, defaults to database
                                        # encoding

# These settings are initialized by initdb, but they can be changed.
lc_messages = 'pl_PL.UTF-8'                     # locale for system error message
# strings
lc_monetary = 'pl_PL.UTF-8'                     # locale for monetary formatting
lc_numeric = 'pl_PL.UTF-8'                      # locale for number formatting
lc_time = 'pl_PL.UTF-8'

# default configuration for text search
default_text_search_config = 'pg_catalog.english'

# - Other Defaults -

#explain_pretty_print = on
#dynamic_library_path = '$libdir'
#local_preload_libraries = ''


#------------------------------------------------------------------------------
# LOCK MANAGEMENT
#------------------------------------------------------------------------------

#deadlock_timeout = 1s
#max_locks_per_transaction = 64         # min 10
                                        # (change requires restart)
# Note:  Each lock table slot uses ~270 bytes of shared memory, and there are
# max_locks_per_transaction * (max_connections + max_prepared_transactions)
# lock table slots.
#------------------------------------------------------------------------------
# VERSION/PLATFORM COMPATIBILITY
#------------------------------------------------------------------------------

# - Previous PostgreSQL Versions -

#add_missing_from = off
#array_nulls = on
#backslash_quote = safe_encoding        # on, off, or safe_encoding
#default_with_oids = off
#escape_string_warning = on
#regex_flavor = advanced                # advanced, extended, or basic
#sql_inheritance = on
#standard_conforming_strings = off
#synchronize_seqscans = on

# - Other Platforms and Clients -

#transform_null_equals = off


#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------

#custom_variable_classes = ''           # list of custom variable class names
[/code]

Chciałbym zapytać co jeszcze można zmienić aby ten postgrest szybciej odpowiadał ?
Postgrest stoi na serwerze Hp dl380 ma on 8 GB ramu (docelowo 16 GB) i dyski sasowe]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Mon, 30 Aug 2010 17:52:46 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=476&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[usuwanie postgres]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=478&amp;action=new</link>
			<description><![CDATA[Witam serdecznie jestem początkujęcym użytkownikiem postgresql. Podczas instalacji okaza się ze baza była juz zainstalowana na tym komputerze a ja nie znam hasła do użytkownika postgres chciałbym zainstalowć wszystko od nowa ja usunąć użytkownika postgres? (baza obecnie nie jest zainstalowana na komputerze)]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Mon, 30 Aug 2010 17:50:40 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=478&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[typ DATE jako parametr do funkcji]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=480&amp;action=new</link>
			<description><![CDATA[Witam
Nie mogę sobie poradzić z datą przekazywaną do funkcji jako parametr. Funkcja ma zwrócić ilość km dla dwóch parametrów id i daty. 
[code]
CREATE OR REPLACE FUNCTION statystyka.f_sint_sint_dt_km_int(SMALLINT, SMALLINT, DATE)
  RETURNS INTEGER AS
$BODY$DECLARE
    ile_km INTEGER;
    tab_poj VARCHAR;
BEGIN
-- okreslenie tabeli dla danego idfk_poj
tab_poj := f_int_table_name_txt($1)||'_w';
           execute 'SELECT
                    '||tab_poj||'.int_wartosc
                  FROM
                    pojazdy.'||tab_poj||'
                  WHERE
                    '||tab_poj||'.dt_data_czas = '''||$3||''' AND
                    '||tab_poj||'.idfk_nr_diag = '||$2||';' into ile_km;
END;
$BODY$
  LANGUAGE plpgsql;
[/code] 
próbuję wywołać w ten sposób 
[code]
SELECT statystyka.f_sint_sint_dt_km_int(1, 1424, '2010-08-26')
[/code]
i dostaję komunikat
[code]
ERROR:  function statystyka.f_sint_sint_dt_km_int(integer, integer, unknown) does not exist
LINE 1: SELECT statystyka.f_sint_sint_dt_km_int(1, 1424, '2010-08-26...
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

********** Błąd **********

ERROR: function statystyka.f_sint_sint_dt_km_int(integer, integer, unknown) does not exist
Stan SQL:42883
Wskazówka:No function matches the given name and argument types. You might need to add explicit type casts.
Znak:8
[/code]
używam funkcji z jednym argumentem jako data i wszystko jest ok...]]></description>
			<author><![CDATA[dummy@example.com (WitekS)]]></author>
			<pubDate>Thu, 26 Aug 2010 08:23:07 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=480&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Upgrade 8.2 do 8.4 pod Win XP]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=479&amp;action=new</link>
			<description><![CDATA[Pytam wszystkich doświadczonych w temacie:
Jak najlepiej przeprowadzać Upgarde postgres'a (tutaj 8.2 do 8.4) pod Windą?
1.Zrobić backup bazy,
2.Usunąć Instancję 8.2
3.Wykonać Instalację 8.4
4.Zrobić restore bazy

Czy jest jakaś inna prostsza metoda, bo „łatek” (aktualizacji) do postgresa pod Windows nie Internecie nie widziałem?]]></description>
			<author><![CDATA[dummy@example.com (ssatan)]]></author>
			<pubDate>Wed, 25 Aug 2010 09:26:35 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=479&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[przekazanie argumentu field funkcji extract przez zmienną]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=477&amp;action=new</link>
			<description><![CDATA[Witam
Piszę  procedurę w której wywołuję funkcję extract, np. "extract(DOW FROM _time)", i zależy mi na tym, żeby "DOW" nie było na stałe, ale żeby podawać ten parametr przez zmienną (konkretnie przez argument procedury którą piszę) by móc wywołać ją również dla "hour", "month" i innych. Próbowałem to zrobić przez zmienną typu "text" ale wywala mi jakieś errory.
Moglibyście mi podpowiedzieć jak to zrobić?]]></description>
			<author><![CDATA[dummy@example.com (kabum)]]></author>
			<pubDate>Sun, 22 Aug 2010 14:48:46 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=477&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Zapisywanie do innej bazy danych]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=475&amp;action=new</link>
			<description><![CDATA[Witam,

kombinuję nad kwerendą którą można by wypalić w pgAdminie. Miała by  ona insertować do osobnej bazy danych. CZy macie jakieś pomysły? patrzyłem na dblinka ale mi nie poszło.]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Tue, 10 Aug 2010 17:00:46 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=475&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Uprawnienie PUBLIC]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=474&amp;action=new</link>
			<description><![CDATA[Witam,
Niedawno zacząłem zabawę z PostgreSQL 8.4. Wszystko (no prawie) działa bez zarzutu. Baza się zainstalowała. Skonfigurowałem phpPgAdmin więc jest ok. Problem mam tylko z uprawnieniami do baz. Założyłem użytkownikowi "testuser" oraz bazę "test". W phpPgAdmin zaznaczyłem "owned_only=true" żeby user widział tylko swoje bazy. Po zalogowaniu user widzi tylko swoje DB ale grupa PUBLIC może się do niej podłączyć. Poza tym user "testuser" może nadawać uprawnienia innym użytkownikom. Wiem że on jest owner'em ale czy można mu te uprawnienia odebrać.

Reasumując:
- chciałbym odebrać globalnie "connect" grupie PUBLIC. Ale nie każdej nowej bazie z osobna tylko tak żeby przy zakładaniu nowej bazy od razu uprawnienia public miały odebrane "connect"
- czy można odebrać owner'owi bazy nadawanie uprawnień innym użytkownikom. Tak żeby "testuser" był owner'em bazy "test" ale nie mógł dodać uprawnień innym userom ?

Ewentualnie jak innym sposobem osiągnąć zamierzony cel.]]></description>
			<author><![CDATA[dummy@example.com (ciacho)]]></author>
			<pubDate>Tue, 10 Aug 2010 08:29:13 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=474&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Slony-I - konfiguracja w pgadmin]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=472&amp;action=new</link>
			<description><![CDATA[Witam,

czy ktoś pomoże mi jak zrobić replikację za pomocą Slonego pod Windowsem w pgAdminie? nie umiem sobie z tym poradzić. Z góry dziękuje za pomoc. Bardzo pilne.]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Mon, 09 Aug 2010 20:30:36 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=472&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Uprawnienia]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=332&amp;action=new</link>
			<description><![CDATA[chciałbym "ukryć" niektóre tabele, funkcje, sekwencje itp przed użytkownikami którzy nie mogą mieć do nich dostępu. Utworzyłem sobie użytkownika test który w zasadzie nic nie może [code]CREATE ROLE test LOGIN
  NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE[/code] mam w baza2 schemat o nazwie ustawienia i "odebrałem" użytkownikowi test dostępu do schematu ustawienia [code]REVOKE ALL PRIVILEGES ON SCHEMA USTAWIENIA FROM test[/code] ale jak odpalam pgAdmina i loguję się na konto test to co prawda nie mogę podejrzeć danych w tabelach ale cała struktura tabel, funkcji itp jest widoczna. Czy nie da się tego jakoś schować żeby nie było widoczne dla użytkowników którzy nie mają tego oglądać?]]></description>
			<author><![CDATA[dummy@example.com (marek)]]></author>
			<pubDate>Sat, 07 Aug 2010 13:37:45 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=332&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Literatura do PostgreSQL]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=473&amp;action=new</link>
			<description><![CDATA[Jaką literaturę polecacie? Z czego najlepiej czerpać wiadomości... aby poprawić wynikłe błędy np. z uszkodzonych baz danych (po przerwie prądu),  a i jeszcze jedna sprawa jest coś jakaś książka z opisem i poprawą błędów na której można się wzorować?]]></description>
			<author><![CDATA[dummy@example.com (yarkomat)]]></author>
			<pubDate>Sat, 07 Aug 2010 03:31:27 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=473&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[Replikacja Slony Windows XP]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=176&amp;action=new</link>
			<description><![CDATA[Witam. 
Potrzebuję pomocy przy replikacji bazy, a ze względu żę dopiero zaczynam przygodę z Postgresem to prosze o wyrzumiałość. 
Na chwilę obecną uruchomiłem servis Slony i dodałem do tego dwa serwery. Pod PgAdminem skonfigurowałem dla każdego węzła poustawiałem ścieżki. Ustawiłem kilka tabel do replikacji i dodałem subskrypcje. Jednakże tabele mi nie replikują się. 
W PgAdminie gdy wejdę w statystyki na pozycji węzły pokazuje mi:
Węzeł 10 Roundtrip 00:00:11.511 Oczekujące potwierdzenia 813 Zaległy czas 02:14:12.492 Zdarzenie nr 7088 Komenda ENABLE_SUBSCRIPTION .

W momencie jak sprawdzam statystyki na kliencie to w polu Komenda widnieje napis  SYNC.

Proszę o jakieś wskazówki.]]></description>
			<author><![CDATA[dummy@example.com (neversoft)]]></author>
			<pubDate>Fri, 06 Aug 2010 13:01:21 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=176&amp;action=new</guid>
		</item>
		<item>
			<title><![CDATA[problem z funkcja, przekazanie ścieżki do pliku jako argument]]></title>
			<link>http://forum.postgresql.org.pl/viewtopic.php?id=470&amp;action=new</link>
			<description><![CDATA[dlaczego jak próbuję stworzyć taką funkcję:
create or replace function funkcja() returns void as
$$ 
create temporary table tymczasowa (
   trader_id character(8),
   full_date character(17),
   order_nbr integer,
   symbol character(4),
   order_action character(1),
   share_price numeric(8,4),
   fill_amount smallint,
   gateway character(4),
   order_price numeric(10,6),
   currency_code character(3),
   per_share_pl numeric(4,4),
   liquidity_flag character(1),
   billable_flag character(1),
   gross_pl numeric(7,4),
   exe_fee numeric(4,4),
   clr_fee numeric(4,4),
   gateway_charge numeric(11,8),
   act_fee numeric(4,4),
   sec_fee numeric(6,4),
   net_pl numeric(8,4),
   event_date character(8),
   time time without time zone );
   
   delete from baza;
   
   copy tymczasowa from 'd:/baza testowa.csv' csv quote '"';
   
   insert into baza
   select trader_id, to_timestamp(full_date, 'YYYYMMDDHH24MISSMS'),
   order_nbr, symbol, order_action, share_price, fill_amount,
   gateway, order_price, currency_code, per_share_pl, liquidity_flag,
   billable_flag, gross_pl, exe_fee, clr_fee, gateway_charge, act_fee,
   sec_fee, net_pl, to_date(event_date, 'MMDDYYYY'), time
   from tymczasowa;
$$
language 'sql';

pojawia się komunikat:
ERROR:  relation "tymczasowa" does not exist
LINE 37:    from tymczasowa;

oraz jak przekazywać ścieżkę do pliku jako argument funkcji?]]></description>
			<author><![CDATA[dummy@example.com (pawmar)]]></author>
			<pubDate>Sun, 25 Jul 2010 20:26:16 +0000</pubDate>
			<guid>http://forum.postgresql.org.pl/viewtopic.php?id=470&amp;action=new</guid>
		</item>
	</channel>
</rss>
