~/pgadmin4/lib/python3.11/site-packages/config_local.py 파일이 없으면 생기는 에러
$ pgadmin4 ERROR : Failed to create the directory /var/lib/pgadmin: [Errno 13] Permission denied: '/var/lib/pgadmin' HINT : Create the directory /var/lib/pgadmin, ensure it is writeable by 'pi', and try again, or, create a config_local.py file and override the SQLITE_PATH setting per https://www.pgadmin.org/docs/pgadmin4/6.21/config_py.html
AZURE_CREDENTIAL_CACHE_DIR 이 없을 경우 발생(혹은 디렉토리가 없을 경우)
$ pgadmin4 Traceback (most recent call last): File "/home/pi/pgadmin4/bin/pgadmin4", line 5, in <module> from pgadmin4.pgAdmin4 import main File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgAdmin4.py", line 93, in <module> app = create_app() ^^^^^^^^^^^^ File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgadmin/__init__.py", line 267, in create_app create_app_data_directory(config) File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgadmin/setup/data_directory.py", line 118, in create_app_data_directory _create_directory_if_not_exists(config.AZURE_CREDENTIAL_CACHE_DIR) File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgadmin/setup/data_directory.py", line 21, in _create_directory_if_not_exists os.mkdir(_path) FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/.pgadmin/azurecredentialcache'
python openssl 모듈 버전 문제일 경우 발생
$ pgadmin4 NOTE: Configuring authentication for SERVER mode.
Enter the email address and password to use for the initial pgAdmin user account:
Email address: "환경파일에 기재된 이메일" Password: "환경파일에 기재된 암호" Retype password: "환경파일에 기재된 암호" Traceback (most recent call last): File "/home/pi/pgadmin4/bin/pgadmin4", line 5, in <module> from pgadmin4.pgAdmin4 import main File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgAdmin4.py", line 93, in <module> app = create_app() ^^^^^^^^^^^^ File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgadmin/__init__.py", line 553, in create_app driver.init_app(app) File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgadmin/utils/driver/__init__.py", line 27, in init_app DriverRegistry.load_modules(app) File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgadmin/utils/driver/registry.py", line 18, in load_modules from . import psycopg2 as module File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgadmin/utils/driver/psycopg2/__init__.py", line 30, in <module> from .server_manager import ServerManager File "/home/pi/pgadmin4/lib/python3.11/site-packages/pgadmin4/pgadmin/utils/driver/psycopg2/server_manager.py", line 35, in <module> from sshtunnel import SSHTunnelForwarder, BaseSSHTunnelForwarderError File "/home/pi/pgadmin4/lib/python3.11/site-packages/sshtunnel.py", line 25, in <module> import paramiko File "/home/pi/pgadmin4/lib/python3.11/site-packages/paramiko/__init__.py", line 22, in <module> from paramiko.transport import ( File "/home/pi/pgadmin4/lib/python3.11/site-packages/paramiko/transport.py", line 138, in <module> class Transport(threading.Thread, ClosingContextManager): File "/home/pi/pgadmin4/lib/python3.11/site-packages/paramiko/transport.py", line 212, in Transport if KexCurve25519.is_available(): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/pi/pgadmin4/lib/python3.11/site-packages/paramiko/kex_curve25519.py", line 30, in is_available X25519PrivateKey.generate() File "/home/pi/pgadmin4/lib/python3.11/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py", line 39, in generate from cryptography.hazmat.backends.openssl.backend import backend File "/home/pi/pgadmin4/lib/python3.11/site-packages/cryptography/hazmat/backends/openssl/__init__.py", line 6, in <module> from cryptography.hazmat.backends.openssl.backend import backend File "/home/pi/pgadmin4/lib/python3.11/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 113, in <module> from cryptography.hazmat.bindings.openssl import binding File "/home/pi/pgadmin4/lib/python3.11/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module> from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: /home/pi/pgadmin4/lib/python3.11/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so: undefined symbol: FIPS_mode
What is Rheostat? The rheostat is composed of a resistive material that is used to control the voltage to the load. The setting of the rheostat can be adjusted by rotating a handle. This device is used to control current flow through a circuit
Difference between Potentiometer and Rheostats: 1) Potentiometer has two fixed resistors and a variable resistor, whereas Rheostat has only one variable resistor. 2) Potentiometer is mainly used for mechanical applications, whereas rheostats are primarily used for electrical applications. 3) The potentiometer is available with dials that help to read its setting value from outside of the circuit board, etc. 4) Potentiometers are available with a linear output, whereas Rheostats are available in logarithmic output. 5) Potentiometers are cheaper than Rheostats. 6) Both potentiometer and rheostat are used to control voltage.
포텐쇼미터는 단자가 3개라서, 중앙의 것과 양 끝단의 하나를 사용하면 가변저항 처럼 사용은 가능하지만
본 목적은 전압의 분배라는 새로운 사실을 알게 됨(!)
A potentiometer is basically a variable voltage divider; as the knob on the device is turned, a sliding contact creates a voltage divider between the input and the two outputs. In other words, a potentiometer is simply meant for voltage division. With a rheostat simply being a potentiometer with infinite resistance at the second output, it modulates total power received by the load connected to the output. If the rheostat and load resistance are equal, then maximum power is transferred to the load component.